Redmine や Git などを組み合わせた開発管理環境を構築した、そのときのメモです。最初は、Mac OS X Lion Server 上にインストールを試みましたが、LLVMコンパイラ関連でつまづいたり、その解決も興味なくはありませんが、CentOS 上(Mac OS X Lion 上の VirtualBox 利用)で構築してみました。
VirtualBox
Mac OS X Server 上に VirtualBox をインストール。
CentOS 6.2 インストールほか
インストール
Web Server ベースで、MySQL データベース、開発ツールなどを加えてインストール。過不足は後で調整することに。
ネットワーク
固定 IP アドレスにするために、以下を設定。
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="xx:xx:xx:xx:xx:xx"
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.xx.21"
NETMASK="255.255.255.0"
GATEWAY="192.168.xx.1"
BROADCAST="192.168.xx.255"
/etc/resolv.conf
nameserver 192.168.xx.1
sshd を確認
# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
これで、後は 192.168.xx.21 に ssh すれば操作できる。
VirtualBox を Headless で起動
Mac OS X Lion Server 起動時に裏で VirtualBox & CentOS を立ち上げたいので、launchd を使用して VBoxHeadless を起動することにしました。パラメータで渡している “Dev Server” はバーチャルマシン名です。
【注意】起動のときのタイミングが悪いらしく、うまく起動しないことがあり、まだまだ手を加えることが必要です。
/Library/LaunchDaemons/jp.balunsoftware.DevServer.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">
<dict>
<key>Label</key>
<string>jp.balunsoftware.DevServer</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless</string>
<string>--startvm</string>
<string>Dev Server</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>administrator</string>
<key>GroupName</key>
<string>staff</string>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
シャットダウン
ACPI のパワーオフでシャットダウン処理が行われますので、それを使ってシャットダウンします。ついでに、シャットダウンを待つために、以下のようなスクリプトを作成しました。
#!/bin/sh
########
# Stop Dev Server using ACPI Power Button
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage controlvm "Dev Server" acpipowerbutton
########
# Wait until stopped
while [ `ps -ef | grep "VBoxHeadless --startvm Dev Server" | grep "VirtualBox" | wc -l` == 1 ]
do
sleep 1
done
確認バージョン
- CentOS 6.2
- VirtualBox for Mac 4.1.8
- Mac OS X バージョン 10.7.3