作成開始 : 平成24年09月13日(木) 最終更新 : 平成24年09月14日(金)

phpVirtualBox を試す。


今回、ホストマシンとなる FreeBSD 9.0 RELEASE は CUI で操作することにしたため X Window をインストールしていません。
まぁ、それでも十分ではあるのだが、何気なく検索していたら、ブラウザを使って操作できる phpVirtualBox があることを知りました。
なかなか良さそうだったので試してみることにしました。
接続イメージは次のとおりす。

1.phpVirtualBox の動作条件

これの動作条件は、以下のような感じです。
(1)VirtualBox がインストールされていて、vboxwebsrv が稼動できるマシンがあること。
(2)PHPが動くWebサーバーがあること。(ここは、VirtualBox と同じマシンでなくともよい)
  PHPは、SOAP通信ができるライブラリを組み込んであること。
※SOAP通信とは・・・
[ SOAPとは【Simple Object Access Protocol】 - 意味/解説/説明/定義 : IT用語辞典 ] より引用
XMLとHTTPなどをベースとした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコル(通信規約)。
Microsoft社やUserLand Software社、Developmentor社が中心となって開発された。

2.vboxwebsrv の動作確認

これは、VirtualBox がインストールされているマシンでの作業です。

いずれも virtualbox グループの一般ユーザである vbox でログインし作業します。

vboxwebsrv の起動は下記の通りです。
vboxwebsrv は下記のようにポートを指定することなども可能です。デフォルトは 18083 となります。
ここで、X Windows がインストールされていれば、ブラウザで http://localhost:18083 とすると SOAP通信であることがわかります。

今回は、X Windows をインストールしていないので、もう一つログインして telnet localhost 18083 とします。

 ↑
接続されたことがわかります。
telnet は Ctrl+C で終了します。
他のリモートPC上からの接続を確認する時は、次のようにして vboxwebsrv を起動します。
これを見つけるまでかなり苦労しました。vboxwebsrv だけでは、他のPCから接続しようとすると拒否されてしまいます。
vboxwebsrv --host 192.168.1.4
192.168.1.4 は、自身のIPアドレスです。
そして、他のPCから telnet でポート指定し接続して拒否されなかったらOKです。

3.phpVirtualBoxのインストール

これをやる前に PHPが動くWebサーバーのphpinfoで soapライブラリが使えるか確認します。
自分のWebサーバーにはなかったので、パラメータを指定しリコンパイルしました。PHPは 5.2.6 です。
なお、メインのWebサーバーでなくバックアップとしてセットアップしてあるPC上でやってみました。
PHPはソースからコンパイルした環境です。ソースのあるディレクトリに移動し以下のようにしました。

念のため sh /usr/local/etc/rc.d/apache2.sh stop で Apache を止めてしました。
# php -i | grep configure -> configure 使用可能なオプションの確認、soapがありました。

# cd /usr/local/src/php-5.2.6 -> ソースのあるディレクトリへ移動

# make distclean
# ./configure (前のオプションすべて) --enable-soap -> オプションにsoapを追加
# make
# make install

sh /usr/local/etc/rc.d/apache2.sh start で Apache を起動します。

そして、phpinfo を実行して確認し soap があったらOKです。
次に、以下から phpVirtualBox のソースをダウンロードします。
http://code.google.com/p/phpvirtualbox/downloads/list
自分は、VirtualBox のバージョンに近い・・・というか互換性のある phpvirtualbox-4-1-10.zip をダウンロードしました。
解凍後、ドキュメントルート直下に phpvirtualbox というフォルダにして保存しました。
配置した phpVirtualBox ディレクトリに config.php-example というファイルがあるのでファイル名を config.php に変更し編集します。

config.php ファイルで以下を書き換えます。
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox'; ← Virtualboxを動かしているユーザー名
var $password = 'pass'; ← Virtualboxを動かしているユーザーのパスワード

/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
/* var $location = 'http://127.0.0.1:18083/'; */
var $location = 'http://192.168.1.4:18083/'; ← Virtualboxが動いているマシンのIPアドレス

/* Default language. See languages folder for more language options.
* Can also be changed in File -> Preferences -> Language in
* phpVirtualBox.
*/
var $language = 'ja'; ← 日本語に設定

4.稼動確認

VirtualBox で vboxwebsrv --host 192.168.1.4 として vboxwebsrv を起動します。

クライアントPCから http://[WebサーバーのIPアドレスまたはホスト名]/phpvirtualbox/ と入力します。
ブラウザは Firefox がいいでしょう!
Username, Password ともに admin です。

 ↑
おぉーーーー、見事に起動しましたぁーーーー感動です。一週間くらい試行錯誤しました♪

 ↑
思ったよりいい感じに動きます。
使い方はこれから試してみたいと思います。
おっと、初回ログインしたらパスワード変更しておきましょう。

 ↑
この時、vboxwebsrv を起動した方はこんなんなってます。
終わる時は、phpVirtualBox をログアウトしてから Ctrl+C します。
使い方はこれから試してみたいと思います。

いずれメインのWebサーバーも仮想化してその上で動かしてみたいと思います。
その時は、phpvirtualbox のフォルダにセキュリティとして認証設定したいと思います。

vboxwebsrv を自動起動するかどうかは、別途判断したいと思います。

戻る

サイトトップへ