VirtualBox OSE及びphpVirtualBoxのインストール まとめ

オープンソースVirtualBoxのインストール及び設定方法です。
プロプリエタリ版はhttp://d.hatena.ne.jp/umi_sati/20101218/1292650227を参照

環境はUbuntu10.10 desktop-amd64

VirtualBox OSE 3.2.8をインストール

$sudo apt-get install virtualbox-ose

続いてphpVirtualBoxのインストールを行うのだが、まずは前提条件となるapache + phpのインストールをする。

$sudo apt-get install apache2
$sudo apt-get install php5
$sudo /etc/init.d/apache2 restart

また、必須ではないがphpVirtualBox用のユーザーを作っておく。ユーザー名はphpVirtualBoxで初期値となっているvboxを使っています。

$sudo useradd -m -s /bin/bash -d /home/vbox vbox
$sudo passwd vbox
$sudo usermod -G cdrom vbox

環境は整ったのでphpVirtualBoxインストールを行う。

下記からphpVirtualBoxの圧縮ファイルとvboxwebsrv をダウンロードする。

http://code.google.com/p/phpvirtualbox/downloads/list

ダウンロードしたphpVirtualBoxを公開ディレクトリに展開し、ディレクトリ名を変更しておく(今回はフォルダ名をvboxにしておく)。apacheはディフォルト設定のままなので/var/www/が公開ディレクトリになっている。

$sudo unzip phpvirtualbox-0.5.zip -d /var/www/
$sudo mv /var/www/phpvirtualbox-0.5 /var/www/vbox

ダウンロードしたvboxwebsrvを編集する

$sudo gedit vboxwebsrv

vboxwebsrvのユーザーをVirtualBoxを動かすユーザー名に変更する。今回は初期値であるvboxで使うので編集をしていません。

USER=vbox

編集したvboxwebsrvを自動起動サービスに登録し、サービスを開始する。

$sudo chmod 755 vboxwebsrv
$sudo chown root vboxwebsrv
$sudo chgrp root vboxwebsrv
$sudo mv vboxwebsrv /etc/init.d
$sudo update-rc.d vboxwebsrv defaults
$sudo service vboxwebsrv start

このままだと、VRDPAuth絡みのバグ?で

Error logging in or connecting to vboxwebsrv

というエラーが出る。プロプリエタリ版でconfig.phpのユーザーおよびパスワードが不正な場合にも同様のエラーが出るが、OSEでは正しく指定でもエラーになる。
対策として、vboxwebsrvで指定したユーザーのVirtualBoxの設定を変更する。今回はユーザーをvboxとしたので、

$su vbox -c 'VBoxManage setproperty websrvauthlibrary null'

と設定する。

http://localhost/vbox/ に接続してみて画面が正常に出れば設定、成功!