概要
VirtualBoxのゲストOSにUbuntu(デスクトップ版)を使い、XAMPP for Linux セット内の ProFTPDを使ってFTPサーバーを構築します。
FTPサーバーにホストOS(Windowsを想定)からFTPクライアントを使ってファイルのアップロードをできるようにします。
簡易テスト用のウェブサーバーを構築する場合に必要な作業になります。
※LAN内の複数の端末から参照するなら、ブリッジ接続の方が設定も簡単です。(ほぼVirtualBoxで有効にするだけ)
事前準備
VirtualBoxにUbuntuをインストールし、XAMPPをインストールしておきます。
(XAMPPイントール概要)
Linux用のXAMPPの圧縮ファイルをダウンロードする。
管理者権限で /opt/lampp/ フォルダへ展開する。
端末で以下のコマンドを実行してapache一式が起動することを確認。
sudo /opt/lampp/lampp start
手順
ゲストOSを起動する前に、VirtualBoxのゲストOSの設定画面にてネットワークアダプタ2(ホストオンリーアダプタ)を追加します。
これにより、ホストOSがゲストOSのサーバーに対してアクセスできるようにします。
VirtualBox全体の環境設定画面を開き、ネットワークのホストオンリーネットワーク詳細画面を開きます。
IPv4アドレス欄に使われていないIPアドレス(FTPサーバーのIPアドレスとも別)を入力し、ネットワークマスクに適切な値を入力します。
(ホスト側のネットワークと重複しないように注意が必要です。すでに 192.168.1.xxx が使われていたら 192.168.2.xxx を使用します。)
設定例
IPv4アドレス:192.168.1.210
ネットマスク:255.255.255.0
ホストOSがWindowsの場合は一旦Windowsを再起動します。(ホストオンリーアダプタの設定をWindowsのネットワークドライバに反映させます)
ゲストOSのUbuntuを起動します。
「ネットワーク接続」の設定画面を起動し、 Auto eth2 の編集画面内の「IPv4の設定」タブを開き、FTPサーバーのアドレスを設定します。
設定例
メソッド:手動
アドレス 192.168.1.202
ネットマスク 255.255.255.0
ゲートウェイ 192.168.1.1
念のため、ゲストOSをシャットダウンしてからVirtualBoxを再起動します。
VirtualBoxとゲストOSを起動し、XAMPPを起動します。
(端末にて) sudo /opt/lampp/lampp start
動作確認
Ubuntuの端末にてifconfigを実行し、eth2のinetアドレス欄が設定したFTPサーバーのアドレスになっていることを確認します。
$ ifconfig eth1 Link encap:イーサネット ハードウェアアドレス 08:00:27:ab:0d:71 inetアドレス:10.0.2.15 ブロードキャスト:10.0.2.255 マスク:255.255.255.0 (中略) eth2 Link encap:イーサネット ハードウェアアドレス 08:00:27:b9:b3:41 inetアドレス:192.168.1.202 ブロードキャスト:192.168.1.255 マスク:255.255.255.0 inet6アドレス: fe80::a00:27ff:feb9:b341/64 範囲:リンク
ホストOSにてpingを実行し、FTPサーバーのIPアドレスが有効なことを確認します。
ping 192.168.1.202
ホストOSにてFTPクライアントソフトを起動し、以下の設定でサーバーに接続します。
ホストアドレス:FTPサーバーのIPアドレス (例 192.168.1.202)
ユーザー:nobody
パスワード:(初期値 lampp)
FTP接続の高速化
この状態でもFTP接続はできますが、サーバーへの接続に時間がかかります。
その対策として設定ファイルの記述を変更します。
以下のファイルを管理者権限でテキストエディタを使って開きます。
/opt/lampp/etc/proftpd.conf
末尾に以下の記述を追加します。
UseReverseDNS off IdentLookups off
XAMPPを再起動します。
sudo /opt/lampp/lampp stop sudo /opt/lampp/lampp start
XAMPPの自動起動の設定
Ubuntu起動時にXMAPPが自動的に起動されるようにします。
/etc/rc.local をテキストエディタで開きます。
末尾のexit 0 よりも前の行に以下の記述を追加します。
/opt/lampp/lampp start
以上で作業は完了です。
備考
色々いじっていてIPアドレスの衝突などのメッセージが表示された場合、一旦VirtualBoxを再起動することをお勧めします。
応用編 ホストオンリーネットワークをDHCPを介して固定する
VirtualBoxのホストオンリーネットワーク内でDHCPを有効にし、アドレスの上限と下限を同じIPアドレスにすれば簡易固定IPとして使用できます。
Ubuntu内ではeth2のIPアドレスを自動取得にしておくだけで良いのでインストールが簡単です。
複数のゲストOSを起動させた時は話がややこしくなりますが、ゲストのウインドウが常に1つだけならこちらのほうが簡単です)