作成開始 : 平成24年09月15日(土) 最終更新 : 平成24年09月15日(土) 

自動起動を設定してみた。


さてさて、仮想マシンの作成と vboxwersrv & phpVirtualBox との連携を試してみたわけですが、やっぱりOS起動時に自動的に起動した方が便利なので設定してみることにしました。

1.仮想マシンの自動起動

/etc/rc.conf に以下を追記します。
vboxheadless_enable="YES"
vboxheadless_machines="delegate dns2" -> 起動したい仮想マシン名をスペースで区切って書きます
vboxheadless_user="vbox" -> 仮想マシンを動かすのに使うアカウントです vboxusers グループ
vboxheadless_delegate_flags="-v off -n -m 5900" -> VNC付で起動 仮想マシン delegate VNCポートは 5900
vboxheadless_dns2_flags="-v off -n -m 5901" -> VNC付で起動 仮想マシン delegate VNCポートは 5901
# /usr/local/etc/rc.d/vboxheadless start
Starting Virtual Machines:
        delegate Started
         dns2 Started
#
・・・・となります。
/usr/local/etc/rc.d/vboxheadless は次のようになっています。
そして、VNCビューワから各仮想マシンに接続できたらOKです。
停止する時は・・・・
# /usr/local/etc/rc.d/vboxheadless stop
Stopping Virtual Machines:
        delegate Stop
         dns2 Stop
#
・・・・となります。
これで、OS起動時には各仮想マシンが自動的に起動してきます。shutdown すると停止します。
ただ、/usr/local/etc/rc.d/vboxheadless stop は休止状態 (savestate) のようで次回 /usr/local/etc/rc.d/vboxheadless start すると仮想マシンの時間は前回停止した時のままです。まぁ、それでいいのかもしれません。

2.vboxwebsrv の自動起動

/etc/rc.conf に以下を追記します。
vboxwebsrv_enable="YES"
vboxwebsrv_user="vbox"
vboxwebsrv_flags="-H 192.168.1.4 -P /home/vbox/vboxwebsrv.pid -F /home/vbox/vboxwebsrv.log -R 5"
# /usr/local/etc/rc.d/vboxwebsrv start
Starting vboxwebsrv
#
・・・となります。
/usr/local/etc/rc.d/vboxwebsrv は次のようになっています。
そして、phpVirtualBox のあるWebサーバーにブラウザでアクセスして接続できたらOKです。
停止する時は・・・・
# /usr/local/etc/rc.d/vboxwebsrv stop
Stopping vboxwebsrv
#
・・・・となります。
これで、OS起動時には各仮想マシンが自動的に起動してきます。shutdown すると停止します。
仮想マシンの自動起動はスンナリといったのですが、vboxwebsrv の自動起動はかなりハマリました。
最初、/etc/rc.conf の vboxwebsrv_flags を次のように書いていました。

vboxwebsrv_flags="-H 192.168.1.4 -F /var/log/vboxwebsrv.log -R 5"

そしたら、/usr/local/etc/rc.d/vboxwebsrv start してもプロセス起動しませんでした。
おそらく、vbox が一般ユーザなので /var/log への権限が無かったためと思います。ちなみに、vboxwebsrv_user="root" だとプロセス起動しました。
ただ、仮想マシンを作ったのが vbox ユーザだったので、当然 phpVitualBox にアクセスしても仮想マシンはありません。

戻る

サイトトップへ