Home > Ubuntu

Ubuntu

VirtualBox内のUbuntuとXAMPPを使ってFTPサーバーをローカルテスト用に公開する方法

概要

VirtualBoxのゲストOSにUbuntu(デスクトップ版)を使い、XAMPP for Linux セット内の ProFTPDを使ってFTPサーバーを構築します。
FTPサーバーにホストOS(Windowsを想定)からFTPクライアントを使ってファイルのアップロードをできるようにします。
簡易テスト用のウェブサーバーを構築する場合に必要な作業になります。

事前準備

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 が使われていたら 192.168.2 を使用します。)

Virtualbox側

設定例
IPv4アドレス:192.168.1.210
ネットマスク:255.255.255.0

ゲスト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を再起動することをお勧めします。

Ubuntu等でXAMPPをインストールした際、 Couldn’t start MySQL エラーが表示される時の対処

概要

Ubuntu等のLinux環境にて、XAMPPをインストールして起動した際、 「Couldn’t start MySQL!」 エラーがコンソールに表示されてしまう際の対処方法です。

Starting XAMPP for Linux 1.7.7...
XAMPP: XAMPP-Apache is already running.
XAMPP: Starting MySQL...
XAMPP: Couldn't start MySQL!
XAMPP: XAMPP-ProFTPD is already running.
XAMPP for Linux started.

なお、この状態でブラウザでlocalhostを表示すると、XAMPPのタイトルは表示されますが「日本語」をクリックしてもメニュー画面に移行できません。

想定される原因

XAMPPの構成ファイルの展開時に、権限不足等でパーミッションやファイルが正しくコピーされなかった。

対策

端末よりコマンドを入力してXAMPPを停止します。

sudo /opt/lampp/lampp stop

端末より、管理者権限でファイルブラウザを起動します。

sudo nautilus

ファイルブラウザでXAMPPをインストールしたフォルダ(/opt/lampp)を丸ごと削除します。

管理者権限で起動したファイルブラウザを使ってもう一度XAMPPファイルのインストールをやり直します。
特に、圧縮されたtarファイルからファイルを展開するとき、直接optディレクトリ以下に展開します。

XAMPP一式を起動し、エラーメッセージが表示されなければOKです。

sudo /opt/lampp/lampp start

Starting XAMPP for Linux 1.7.7...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

VirtualBoxの共有フォルダ機能の設定手順(Windows XP,Vista,7等のクライアント、及びUbuntu)

概要

VirtualBoxのWindows版にて、ホストOSがWindows系でゲストOSもWindows系の時、ホストとゲスト間でフォルダを共有する際の設定手順です。

手順

・VirtualBoxを起動し、OS一覧から設定するOSを選択します。
・メニューより 設定-共有フォルダを選択し、新規共有フォルダを追加ボタンをクリックします。
(または、すでに起動中の仮想マシンのウインドウメニューより「デバイス – 共有フォルダ」を選択します。)
・共有フォルダ名を選択するダイアログが表示されますので、「フォルダのパス」欄にホストOS側の共有したいフォルダのフルパスを、「フォルダ名」欄にゲストOS側で使用したいフォルダ名(ドライブ名などは付けない)を指定します。
vvobshare
(最近のVirtualBoxではドライブ名は大文字で指定する必要があるようです)

・OKボタンを2つクリックしてOS一覧の画面に戻ります。
・ゲストOSを起動します。(以下、ゲスト側での作業になります)
・ファイル名を指定して実行、または スタートメニューよりアクセサリ-コマンドプロンプトを実行します。
・以下のコマンドを実行します。

net use ドライブ名: \\vboxsvr\先ほど指定したフォルダ名
(例)
net use P: \\vboxsvr\public

・エクスプローラーを起動して、コンピューターの全てのドライブを表示します。共有ドライブが表示されていれば作業完了です。

なお、作成した共有フォルダは再起動後も継続して利用できます。

Ubuntuの場合

ゲストOSがUbuntuの場合は、Ubuntu内で端末ウインドウを起動し、コマンドラインより以下のコマンドを実行します。(ピリオドに注意)

mkdir /home/(ユーザー名)/public
sudo mount.vboxsf public /home/(ユーザー名)/public

一旦普通にディレクトリを作っておくのがミソです。そのディレクトリが共有フォルダになります。

Home > Ubuntu

Feeds
Meta

Page Top