ラベル Virtual Box の投稿を表示しています。 すべての投稿を表示
ラベル Virtual Box の投稿を表示しています。 すべての投稿を表示

2018年6月23日土曜日

Ubuntu(デスクトップ 18.04 LTS)をVirtualBox上にインストールしてsshとRDPで接続可能な様に設定する

今回はUbuntu(Serverではなくデスクトップを入れてみる)まずは時間がかかるのでISOイメージをダウンロードしておく。
https://www.ubuntu.com/download/desktop
現在の最新版は、Ubuntu 18.04 LTS。
デスクトップ環境はデフォルトのGnomeでやってみたい。

VirtualBoxでマシンを作成。

Desktop版はそれなりにメモリを食うようなので一応メモリは4GB確保しておく。

ディスクサイズは、25 GB of free hard drive spaceと書いてあるので念のため可変ディスクで40GB確保。

デカい・・・。

作成したら右クリック→設定で「ubuntu-18.04-desktop-amd64.iso」ファイルをマウント。

ネットワーク設定をNATにして高度な設定を開き、ssh(port 22)、RDP(port 3389)をポートフォワーディングしておく。

OKで設定を保存して→ボタンで起動。

Englishのままでもいいが、今回は日本語にしてUbuntuをインストールをクリック。

キーボードレイアウトを検出は試してみたらヘブライ語とかになったりあまり使えないご様子なので、そのまま続ける。

アップデートと他のソフトウェアは今回特に変更しない。

ディスクを削除(=上書き)のままでインストール。

そのまま続ける。

タイムゾーンも特に変更なし。

名前とpasswordはとりあえず今回は全部ubuntu、個人使用なので自動ログインにしてしまう。

インストールが開始されるので待つ。(かなり時間がかかった)

終わったら再起動。

自動ログインに設定したのでそのままデスクトップが表示。


起動してきたらまずはopensshserverのインストール。
$ sudo apt install -y openssh-server

sshのpasswordログインを許可。
$ sudo vi /etc/ssh/sshd_config
で「# PasswordAuthentication yes」を#を削除しアンコメント。

サービスの設定。
$ sudo systemctl enable ssh
$ sudo systemctl restart ssh

これでlocalhost:22にsshでログインできる用になった。

次、XRDPを入れていきたい。
$ sudo apt install -y xrdp

セッション情報の設定を追加。
$ sudo vi ~/.xsessionrc
記載内容は次の通り
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
new_cursorsの無効化。
$ sudo sed -e 's/^new_cursors=true/new_cursors=false/g' -i /etc/xrdp/xrdp.ini

サービスの設定
$ sudo systemctl enable xrdp
$ sudo systemctl restart xrdp

Authentication Requiredダイアログの回避。
$ sudo vi /etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla
以下を追記、
[Netowrkmanager]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device
ResultAny=no
ResultInactive=no
ResultActive=yes
polkitのリスタート。
$ sudo systemctl restart polkit

Windowsからrdpで接続してみる。

何とか成功。

ただしこの設定だとVirtualBos上のUIからはログアウトしないとRDPではログイン出来ない点と、起動後の初回ログイン時に「カラープロファイルを作成するには認証が必要です」という無駄な認証画面↓が2回出てしまうようで面倒だ。

これらが解決出来たら追記しようと思う。

※参考サイト
https://www.hiroom2.com/2018/04/28/ubuntu-1804-xrdp-gnome-ja/

2018年6月20日水曜日

Ubuntu Serverをバーチャルボックスへインストールしssh接続可能な設定をして仮想アプライアンスを作成

故あって普段慣れているRHEL系のCentosではなくUbuntuも使う必要が出てきたので、Ubuntu Serverをバーチャルボックスへインストールし仮想アプライアンスを作成してみたい。

まずデスクトップだと重そうなのでこちらからUbuntu ServerのISOをダウンロード。
https://www.ubuntu.com/download/server

次のような設定でマシンを作成。

右クリックの設定からストレージにダウンロードしたISOファイルをマウント。

作業はsshでやりたいので、22をlocalhostからリダイレクトしておく。

→ボタンでマシンを起動。

あ、Ubuntu ServerのインストーラってCLIなんだ、知らなかった。日本語ないし。。。
まーやってみたらマウスが無いだけで、実質GUIに近いCLIかも。

仕方ないのでEnglishを選択。

そのままDone

もちろんInstall Ubuntu、そのままEnter。

DHCPになってるのでそのままDone。

自宅ではProxyは不要なのでそのままDone。

パーティションも今回は特にこだわらないのでそのままDone。

CDにインストールしても仕方ないので、VBOX_HARDDISK*を選択してEnter。

そのままDone。

Noを選んでも仕方ないのでContinue。

ユーザ名等は適宜。Ubuntuでは普通にインストールしたのではrootではログインさせてくれないらしいので、仕方なくユーザを作っておく。今回は面倒なのでubuntu/ubuntuとかにした。
※ちなみに試しにrootってユーザ名にしてみたらホームディレクトリが作れないとか言って落ちた。。。
sshキーのインポートは面倒くさいので今回はパス。

っていうかこの画面ですでになんかインストール始めてるみたいなので、一瞬早く入力しないといけないの?とか思ったがそんなアホなつくりには、さすがになっていなさそうなので、ゆっくり入力すればOK。

無事終わったようなのでReboot Now。

Please remove the installation medium, then press Enter:と言われたが、ディスクは勝手にアンマウントされていた。

とりあえずログインできたので成功?

ping 8.8.8.8も通るしまぁ大丈夫そう。

Firewallの設定
$ sudo ufw allow 22
$ sudo ufw reload

CentosだとこれでID/PWでsshログインできるんだけど、Ubuntuはどうなんだろう?
・・・だめらしい。やっぱなれない環境は面倒臭いな。

sshサーバ入れてみる。
$ sudo apt-get install -y openssh-server

あれ、入ってるじゃん。

設定か、
$ sudo vi /etc/ssh/sshd_config
で見てみると、「# PasswordAuthentication yes」
こんな行があったのでアンコメントしてみる。

OK完了。とりあえずこれでバーチャルアプライアンスにしておく。
$ sudo shutdown -h now

でシャットダウン後にVirtualBoxのメニューでファイル→エクスポートからエクスポートで完了。

余談だが、CentosのMinimalインストールしたバーチャルアプライアンスが660MBだったのに対して、Ubuntu Serverのバーチャルアプライアンスは1.1GBもあった。

しかし、毎回sudoが要求されるのがCentosでrootで作業に慣らされた身としては面倒臭い。
特にviをsudoせずに開いて頑張ってconfig設定した後に権限で文句言われるとかマジでつらい。
慣れりゃどうってことないんだろうけど。

2018年6月19日火曜日

Centos7でRedmineを構築する

最近チームのタスク管理やら問い合わせ管理の方法で頭を悩ませている。
タスク管理ツールなのか、チケット管理ツールなのか、プロジェクト管理ツールなのか、問い合わせ管理ツールなのか、あるいはGoogleスプレッドシートが一番いいのか、まだ答えは出ていないが、候補の一つとして検討したRedmineが曲者だったので、メモを兼ねて。

さてしょっぱなから情けないが、Ruby on Railsの環境を構築してRedmineの公式パッケージをダウンロードしてきて、という王道の手順は挫折したことをお断りしておきたい。

今回はBitnamiのインストーラを使わせてもらった。

・・・が、さすが、構築ずっこけるとあちこちで言われているRedmine・・・。
それでも躓きが無いわけではなかったのでそのあたりもメモしておきたい。

環境は例によってCentos7をVirtualBox上でMinimalインストールした仮想マシンで進めたい。

ネットワークはNATでポートフォワーディングをひとまずこんな感じにしておく。

まずはwgetをインストール。
# yum install -y wget

やらなくても通るかもしれないが、変なところで邪魔されると嫌なので念のためSE Linuxを無効化。
# setenforce 0

# vi /etc/selinux/config
編集内容→SELINUX=disabled

Firewallでhttpを通す。
# firewall-cmd --add-port=80/tcp --permanent
# firewall-cmd --reload

bitnamiのインストーラをダウンロード。
# wget https://bitnami.com/redirect/to/225667/bitnami-redmine-3.4.6-0-linux-x64-installer.run
※インストーラの最新のURLはこちらで探す。

実行権限をつける。
# chmod 777 bitnami-redmine-3.4.6-0-linux-x64-installer.run

嵌りポイントここから


これで「./bitnami-redmine-3.4.6-0-linux-x64-installer.run」とインストーラ起動すれば、全部やってくれて楽勝じゃん、と思ったら・・・
/opt/redmine-3.4.6-0/mysql "****" :
/opt/redmine-3.4.6-0/mysql/scripts/myscript.sh: scripts/mysql_install_db:
/usr/bin/perl: 誤ったインタプリタです: そのようなファイルやディレクトリはありま せん
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/opt/redmine-3.4.6-0/mysql/tmp/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/opt/redmine-3.4.6-0/mysql/tmp/mysql.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/opt/redmine-3.4.6-0/mysql/tmp/mysql.sock' (2)
続けるには [Enter] キーを押してください :
警告: インストール後の処理を実行中に問題が発生しました。インストールが正しく完了していない可能性があります
 実行中にエラーが起きました /opt/redmine-3.4.6-0/mysql/bin/mysql -h localhost -u root -p****
-S ../tmp/mysql.sock -e "CREATE DATABASE IF NOT EXISTS bitnami_redmine;GRANT ALL
PRIVILEGES on bitnami_redmine.* to 'bitnami'@'localhost' identified by
'****';flush privileges;" : Warning: Using a password on the command line
interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'../tmp/mysql.sock' (2)

なんか盛大にエラー吐いた。
Enterで継続するというので継続してみたが、当然インストールもずっこけてる様で、http://localhost/redmine/のページは404。。。

いろいろ調べた結果としては、
ここに書いてある通り、LAMPスタックをインストールする前に必要なperl-data-dumperが無いというのが原因なようで、事前に「yum install -y perl-data-dumperがworkaround」との事。
ちなみに「yum install -y perl-Data-Dumper」じゃないと通らない・・・。

ということで、perl-Data-Dumperを追加。
# yum install -y perl-Data-Dumper

嵌りポイントここまで


気を取り直してインストールする前のスナップショットに戻ってインストーラを起動。
# ./bitnami-redmine-3.4.6-0-linux-x64-installer.run

以下対話型インターフェースで、次のような感じ。
Language Selection

Please select the installation language
[1] English - English
[2] Spanish - Espanol
[3] Japanese - 日本語
[4] Korean - ???
[5] Simplified Chinese - ?体中文
[6] Hebrew - ?????
[7] German - Deutsch
[8] Romanian - Roman?
[9] Russian - Русский
Please choose an option [1] : 3
Bitnami Redmine Stack requires at least 2000MB of memory and the installer has detected 1811MB of memory. This may prevent the application from installing, working properly or cause it to stop functioning due to lack of memory. Visit the following link to learn how to increase the swap space.

https://bitnami.com/lowmemory

Continue with installation? [Y/n]: y

----------------------------------------------------------------------------
ようこそ Bitnami Redmine Stack セットアップウィザードへ。
----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。インストールしないコンポーネントの選択を外してください。準備ができたら“次へ“をクリックしてください。

Subversion [Y/n] :n

PhpMyAdmin [Y/n] :n

Redmine : Y (Cannot be edited)

Git [Y/n] :y

上記選択部分が正しいことを確認してください。 [Y/n]: y

----------------------------------------------------------------------------
Installation folder

Bitnami Redmine Stack をインストールするフォルダを選択してください。

フォルダを選択 [/opt/redmine-3.4.6-0]:[Enter]
----------------------------------------------------------------------------
管理者アカウントの作成

Bitnami Redmine Stack の管理者アカウントを作成します。

表示用氏名 [User Name]: admin

Email アドレス [user@example.com]: admin@example.com

ログイン名 [user]: admin

パスワード :[YourRedminePassWord]
確認のためにパスワードをもう一度入れてください :[YourRedminePassWord]
----------------------------------------------------------------------------
データベースに保管する際の既定の言語

データベース設定の規定値として使用する言語を選択してください:

[1] Bosnian
[2] Bulgarian
[3] Catalan
[4] Czech
[5] Danish
[6] German
[7] English
[8] Spanish
[9] French
[10] Galician
[11] Hebrew
[12] Hungarian
[13] Italian
[14] 日本語
[15] 韓国語
[16] Lithuanian
[17] Dutch
[18] Norwegian
[19] Polish
[20] Portuguese
[21] Romanian
[22] Russian
[23] Slovak
[24] Slovenian
[25] Serbian
[26] Swedish
[27] Turkish
[28] Ukrainian
[29] Vietnamese
[30] Chinese
オプションを選択してください [14] :[Enter]

Do you want to configure mail support? [y/N]: n

----------------------------------------------------------------------------
お使いのコンピュータに Bitnami Redmine Stack をインストールする準備が整いました 。

続けますか? [Y/n]: y

----------------------------------------------------------------------------
しばらくお待ちください。 Bitnami Redmine Stack をお使いのコンピュータにインスト ール中です。

インストール中
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
セットアップウィザードによる Bitnami Redmine Stack のインストールが完了しました 。

Redmine アプリケーション起動 [Y/n]: y

情報: Bitnami Redmine Stack については、ブラウザで
http://127.0.0.1:80 にアクセスしてください。
続けるには [Enter] キーを押してください :[Enter]
さてhttp://localhost/に行ってみる。

Access Redmineへ。

無事成功。これでとりあえずいろいろ試してみることが可能。

2018年6月2日土曜日

Centos + MATE Desktop + XRDPのリモート接続環境をVirtualBox上で構築する

前回MATE Desktopのインストールまで完了している
https://arm-lab.blogspot.com/2018/06/centos-minimalmate.html

この環境を前提としてRDPでリモート接続できる様にしたい。

なぜVNCではなくXRDPなのか?
→VNCクライアントソフトを追加インストールしなくてもホストOSに使っているWindowsマシンからRDPで接続できると便利な気がするから。

まずはxrdpサーバのインストール
# sudo yum --enablerepo=epel install -y xrdp

サービスの自動起動設定およびスタート
# sudo systemctl enable xrdp
# sudo systemctl start xrdp

接続するユーザのホームディレクトリに.Xclientsファイルを作成し権限を変更。
# echo "mate-session" > ~/.Xclients
# chmod a+x ~/.Xclients

FirewallのRDP用ポートを開く。
# sudo firewall-cmd --add-port=3389/tcp --permanent
# sudo firewall-cmd --reload


ここからはホストOS側で作業。


VirtualBoxのネットワーク設定でNATのポートフォワーディングを追加。
localhostの3389(RDPのデフォルトポート)をゲストOSの3389へ。

※当然ながらホストOS側でRDPサーバを動かしている場合はホストOS側のポートは別のポートにする。

ホストOS(Windows)からRDPクライアントを起動しlocalhostに接続してみる。

成功。

ちょっと嵌るかな?と思っていたが意外とすんなりできてよかった。
これでVirtualBox上のゲストOSのGUIが使いたいときも、融通の利かないVirtualBoxのウィンドウではなくRDPを使えるので、ホスト←→ゲスト間のコピペや画面サイズ等、融通の利く快適な作業ができるはず。


Centos Minimalインストールの状態から軽量デスクトップのMATEを導入

前回Centos Minimalの仮想マシンを作った。
https://arm-lab.blogspot.com/2018/06/centos-minimal.html

最近のLinuxでは結構GUIも使いたいケースが多いので今回は最低限のソフトとデスクトップのGUI環境を追加してみたい。


まずはepelリポジトリの追加。
# sudo yum install -y epel-release.noarch

viでepelリポジトリの設定ファイルを開き、
# vi /etc/yum.repos.d/epel.repo

epelのenableを0=Falseに変更。
[epel]
~中略~
enabled=0
~後略~
※これをしておかないとyum update時に公式のパッケージもepelで置き換わってしまうらしい。


yum.confにデフォルトと必須パッケージをインストールする設定が無ければ追加。

チェック
# cat /etc/yum.conf | grep echo group_package_types
追加
# sudo sh -c 'echo group_package_types=default,mandatory >> /etc/yum.conf'


X Window systemのグループインストール
# sudo yum --enablerepo=epel groupinstall -y "X Window system"


MATEをグループインストール
# sudo yum --enablerepo=epel groupinstall -y mate-desktop


ランレベル5にしてGUI環境へ
# sudo systemctl set-default graphical.target
# reboot


これで完了!・・・と思ったらGUIの日本語が化けているので、
# sudo yum install -y vlgothic-*
# sudo yum install -y ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
# reboot

今度こそ。

ログインもしてみる。

問題なさそうなので、この状態のマシンをバーチャルアプライアンスでエクスポートしておいて、今回は終了にする。

Centos Minimalをバーチャルボックスへインストールし仮想アプライアンスを作成

さて、いろいろ実験するのにメインのウィンドウズマシンの環境はあまり汚したくないのでバーチャルボックスでCentosを使うことにしようと思う。

容量削減と綺麗な環境からのシンプルな構築手順を確立したいので、まずはベースとなる最小限の構成のマシンを構築したいと思う。

バーチャルボックスは特に迷わずインストールできると思うので、既にインストールしているものとする。

まずはCentosのISOイメージをダウンロードしてくる。

https://www.centos.org/download/
こちらから、Minimal ISOを選択し、適当なミラーからダウンロード。

次にVirtualBoxを起動して新規のボタンから、仮想マシンを作成するのだが・・・

この画像のようにバージョンのリストで32-bitのOSのみ表示され64-bitが選べない場合は、仮想化支援機能(VT-x/AMD-V)の設定がBiosで無効になっている。
その場合は各PCのBios設定方法を調べてこの機能を有効化する必要あり。

そうすると、この通り無事64ビットも選択できるようになった。

仮想化支援機能は個人向けPC等では特にデフォルトで無効に設定されていることが多い様だが、有効だと何か問題でもあるのだろうか?

それはさておき、今回インストールするCentosはRedhat系なのでLinux Red Hat 64bitを選択しておく。

次にストレージの設定で、ディスクアイコンの+の部分をクリックし、ダウンロードしたISOイメージをマウントする。

こんな状態だ。

もう少し設定が続く。
ネットワーク設定だが、今回はNatにしておく。

VirtualBoxのネットワークについては初めて使ったときは理解がなかなかできなかったのでそのうちまとめようと思うが、今回はとりあえず手順通り進める。
localhost:22でsshでゲストOSにアクセスできるように、同じ画面で「高度」を展開し、「ポートフォワーディング」を設定しておく。

バーチャルボックスのNAT及びNATネットワークではホストOSからゲストOSに対してはそのままだとIP疎通できないので、このポートフォワーディングを入れておくほうが便利である。

書き忘れたが、メモリやCPUのコア数、ディスクサイズ等は、各環境に応じて設定しておけばよいと思う。

これらの設定が出来たら、OKを押して、保存し、いよいよ「→」ボタンでVMを起動していく。

Install Centosを選択しエンター。

Centos7では今のところネットワークがデフォルトだと自動接続でインストールされないようなので、ネットワークとホスト名の設定画面を開き、


Ethernet(ens0s3)をオンに変更しておく。

インストール先の設定は開いてそのまま完了でOK。

そしたらインストールの開始。
ROOTパスワードのみ設定しておく。ユーザはご自由に。

あとはしばらく待つだけ。再起動をクリック。

起動後、設定したパスワードでログインし、ip a。
このように10.0.2.15/24でIPがとれていればOK。

Teratermか何かでlocalhostにsshで接続してみる。

無事成功。

shutdown -h nowでVMを落とし、この環境をVirtualBoxの「ファイル」→「仮想アプライアンスのエクスポート」から、バーチャルアプライアンスとしてエクスポートしておく。
この.ovaファイルをインポートすれば、いつでもこのシンプルな環境を復旧しそれを土台に様々な実験が可能な準備が整った。


ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...