6,557 views
この記事は最終更新から 2218日 が経過しています。
この連載で最終的にやりたいこと
CentOS7を入れた物理サーバーに VirtualBoxをインストールし、
VirtualBoxの仮想マシン上で Ubuntuの仮想サーバーを動かし、
Ubuntuの仮想サーバー上で WEBサーバーを動かし、
eclipse + xdebug, PhpStorm + xdebugでリモートデバッグしたい。
今回やりたいこと
CentOS7を入れた物理サーバーに VirtualBoxをインストールし、Ubuntuの仮想サーバーを動かしたい。
(1) 必要なファイルをダウンロード
1. VirtualBoxを入手
以下のサイトから
Download VirtualBox for Linux Hosts
Oracle Linux 7 (“OL7”) / Red Hat Enterprise Linux 7 (“RHEL7”) / CentOS 7 AMD64
VirtualBox-5.1-5.1.28_117968_el7-1.x86_64.rpm
をダウンロードする。
ちなみにインストールするマシンの CPUは Intel Xeon X5570 だ。
AMDじゃないけど上記の rpmファイルで OKだ。
2. Ubuntuを入手
以下のサイトから
Download Ubuntu Desktop
Ubuntuのインストーラーを取得する。
ubuntu-17.04-desktop-amd64.iso
今回は 2017年10月2日時点の最新版 Ubuntu 17.04 をダウンロードさせていただいた。
仮想マシンにインストールする用途なので、この ISOファイルを DVDに焼く必要はない。
(2) インストール
1. VirtualBoxをインストール
ダウンロードした
VirtualBox-5.1-5.1.28_117968_el7-1.x86_64.rpm
をCentOS7が入った物理サーバーにアップロードし、以下を実行する。
rpm -ivh ./VirtualBox-5.1-5.1.28_117968_el7-1.x86_64.rpm
2. Ubuntuをインストール
1) VirtualBoxを起動する。
2) 新規に仮想マシンを作成する。
3) 設定画面にて、仮想マシンに割り当てるリソースを設定する。
・CPUコア数(今回は物理+論理全16コアのうち4コアを割り当てた)
・メモリサイズ(今回は物理48GBのうち8GBを割り当てた)
・ストレージ(今回は物理3TBのうち 200GBを割り当てた ※可変長ドライブなの200GBは占有せず)
4) インストーラーDVDを光学ドライブに入れたつもりにさせるため、ストレージ項目のオプティカルドライブに以下のファイルを割り付ける。
ubuntu-17.04-desktop-amd64.iso
5) 仮想マシンを Power On する。
この後 Ubuntuのインストールが実行される。
3. 外部からリモートで操作できるようにする。
普段使っている Windows10パソコンから TeraTermで SSH接続できるようにしたい。
Ubuntu上でターミナルを開き、以下のコマンドを入力する。
0) インストール直後なので Ubuntuにインストールされているパッケージを最新版にしておく。
sudo apt update sudo apt upgrade
1) OpenSSHをインストールする。
sudo apt install openssh-server
2) ifconfig等が使えるように net-toolsをインストールする。
sudo apt install net-tools
3) IPアドレスをDHCP取得から固定IPに変更する。今回は 192.168.1.4とする。
※一旦接続を OFF にした後に再度 ON にするとIPアドレス変更が反映される。
※NATではなくBridge接続にすること。
現在待ち受け状態にあるポートは?
user@:~$ netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:hostmon 0.0.0.0:* LISTEN
この時点でWindowsパソコンから TeraTermで接続できる。
念のために…
4) FireWallを入れる。
sudo apt -y install ufw sudo systemctl enable ufw sudo systemctl restart ufw
SSH用のポートを開ける。
sudo ufw allow ssh # SSH用ポート(22)を開く sudo ufw enable sudo ufw status # 状態を見る
4. Windowsパソコンで X-Windowを使えるようにする。
TeraTermでリモート接続して操作できればほぼ満足だが、Pythonなどでグラフ表示させたい場合もある。
こんな場合に備えて、Windowsパソコンで X-Windowsを使えるようにしておく。
1) Ubuntu側でVNC Serverをインストール
sudo apt install xfce4 xfce4-goodies tightvncserver vncserver -geometry 1600x1000 -depth 24
2) ~/.vnc/xstartupを書き換え
cd vi ./.vnc/xstartup
以下に書き換え。
#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
3) FireWallにもVNC用の穴をあけておく。
VNCのポート番号:5900 + ディスプレイ番号
sudo ufw allow 5901/tcp # VNC接続用ポートを開ける sudo ufw status # 状態を見る
4) WindowsパソコンでVNCクライアントを起動して接続する。
過去記事「(46) VNC Viewer 6.0.2に入れ替える。」を参照のこと。
こんな感じで表示された。
最終的にこうなった
背景: Windowsパソコン
左上: VNCで物理サーバー上のCentOS7デスクトップを表示, その内部にはVirtualBoxで動いているUbuntu
左下: Windowsパソコン上でTeraTermを起動しUbuntuに接続
右下: VNCでUbuntuのデスクトップを表示