一斉休暇中&冷房オフ期間中にもかかわらず大学に行って(cf. 瀬田川洗堰いまだ全開放流中 - まんぼう日記 )ウェブサーバの更新作業.ここ数日,自宅からネットワーク経由でちまちま作業してましたが,どうしても現場で作業しないといけない工程があったので.
これまでは VMware Fusion による仮想環境上に FreeBSD をゲストOSとしてインストールして,その上でウェブサーバ等々を動かしてたんですが,VirtualBox に切り換えることにしました.んで,VMware の方で従来のOS+ウェブサーバを動かしたままで,VirtualBox の方へのOSのインストールその他もろもろの作業を行ってきたんですが,新サーバを公開しても問題ない段階に達したので,切り替えようと…
ここからが本題.そういうわけで,ホストの Mac に何かあって再起動したときに,VirtualBox とその上のゲストOSも自動的に起動してくれるようにしたかったので,その設定メモです.次の情報を参考にしましたが,バージョンの違い等のせいか手順が違うところがあります.
- VirtualBox のオンラインマニュアル https://www.virtualbox.org/manual/ch09.html#autostart-osx
- Googleで検索してトップに出てきたサイトの情報も参考にしたんやけど,自宅から再度アクセスしたらAnti-Virusソフトが脅威を検出したとか言い出したのでリンクは削除しました.
たかたかの環境は次の通り.
- ホストOS: Mac OS X 10.8 Mountain Lion
- VirtualBox: バージョン 4.3.14
2014-10-29 追記: 以下とは別のやり方が,VirtualBox上のゲストOSのブート&スナップショット撮影の自動化 - まんぼう日記 の方にあります.
/etc/vbox/autostart.cfg を作る
$ sudo mkdir /etc/vbox $ sudo vi /etc/vbox/autostart.cfg $ sudo chmod 755 /etc/vbox $ sudo chmod 644 /etc/vbox/autostart.cfg
Mountain Lion の標準的環境では sudo でディレクトリ/ファイルを作るとパーミッションが 750/640 になるので chmod してみましたが,不要かも.ファイルの中身は,上記オンラインマニュアルの 9.23.1 節の例を参考に書く.
launchdに情報を登録
$ sudo cp /Applications/VirtualBox.app/Contents/MacOS/org.virtualbox.vboxautostart.plist /Library/LaunchDaemons $ sudo vi /Library/LaunchDaemons/org.virtualbox.vboxautostart.plist
編集内容は次の通り:
<key>Disabled</key> を <key>Enabled</key> に変更
VBoxManageで設定変更
VirtualBoxを起動するユーザで以下を実行.
$ VBoxManage modifyvm hoge --autostart-enabled on
hoge は,自動起動したいゲストOSの登録名.この作業不要かも?
ログイン設定をいじって再起動してみる
「システム環境設定」→「ユーザとグループ」→「ログインオプション」で,VirtualBoxを起動するユーザで自動ログインする設定にする.自動ログインしないでもいけるかどうかは未確認.再起動すると,Virtual Box マネージャーとかゲストOSのウィンドウとか出てきませんが,ゲストOSも自動的にブートしてるはず.psコマンドなりアクティビティモニタなりで見ると,VBoxHeadless というプロセスが動いてるはず.
ユーザの「ログイン項目」にVirtualBox.appを入れたらだめみたい
たかたかは,一連の作業の前に既に自動ログインの設定をしていて,さらにVirtualBox.app をログイン項目に入れてたんですが,その状態で上記の設定をすると,ゲストOS(FreeBSD 10.0-RELEASE)がブート途中で固まってしまうようです(Virtual Boxマネージャーのプレビュー画面に見える).はずしときましょう.
というわけで,無事設定ができたので,めでたく新サーバ公開となりました.こんな環境.
- VirtualBox 4.3.14 on Mac OS X Mountain Lion
- FreeBSD 10.0-RELEASE
- Apache 2.4.10
- PHP 5.4.30
- PukiWiki 1.5.0 UTF8
Apache 2.4 で,.htaccess の FilterProvider のせいで 500 Internal Server Error - まんぼう日記 の時点では PukiWiki Adv. を使おうとしてましたが,いろいろあって結局本家に.まだ見栄えがデフォルトのままやから早ううに様の画像とか設定せな.プラグインもいくつか追加せなあかんし.