みなさん、こんにちは。今回初投稿の株式会社アットウェアのKEYチームの矢納です。
あるプロジェクトでCentOS 5.8(32bit)を使うことがあり、vagrantのboxを探していたのですが、見つかりませんでした。
vagrantのboxは http://www.vagrantbox.es/ に置いてあります。
ですが、ここにはCentOS 5.6(32bit)、CentOS 5.8(64bit)しかありませんでした。今欲しいのはCentOS 5.8(32bit)だよ。
無いのなら作るしか無ない精神で今回作ってみました!
今回はその手順を紹介して行きたいと思います。
VIRTUALBOX, VAGRANT のインストール
ここのインストール方法は省略します。各々のサイトからダウンロードしてインストールしてください。
VIRTUALBOXにCENTOS 5.8を作成する
1.VIRTUALBOXに新規VMを作成します
2. VMの設定を行います
3. CENTOS 5.8 インストール
新規作成ボタンを押して下さい。ここでisoファイルの指定ができます。 ここでは CentOS-5.8-i386-netinstall.isoを使いました。このisoファイルはこちらにあります。
4. 色々と設定を行います
4.1 起動時にUPしていないNICの設定を見直す。
# sed -i -e "s:^ONBOOT=no$:ONBOOT=yes:" /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep ONBOOT
# service network restart
# ip addr show eth0
4.2 MACアドレスとUUIDを無効化
# ln -f -s /dev/null /etc/udev/rules.d/70-persistent-net.rules
# sed -i -e "s:HWADDR=.*::g" /etc/sysconfig/network-scripts/ifcfg-eth0
# sed -i -e "s:UUID=.*::g" /etc/sysconfig/network-scripts/ifcfg-eth0
4.3 SSHの設定後。 USEDNS を起動
# sed -i -e "s:^#UseDNS yes:UseDNS no:" /etc/ssh/sshd_config
# service sshd start
# chkconfig sshd on
4.4 VM へ SSH
ここからの手順は、通常のターミナルからVirtualBoxにアクセスして作業することとする。
$ ssh root@localhost -p 2222
4.5 VAGRANT グループ&ユーザ追加
# groupadd vagrant
# useradd vagrant -g vagrant -G wheel
# echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # sudo設定
# sed -i -e "s:^.*requiretty:#Defaults requiretty:" /etc/sudoers # requiretty を無効
4.6 VAGRANTユーザ用の公開鍵を配置
# su - vagrant
# mkdir ~/.ssh
# chmod 0700 ~/.ssh
# curl -k -L -o ~/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
# chmod 0600 ~/.ssh/authorized_keys
4.7 VIRTUALBOX の GUEST ADDITIONS をインストール
# yum install -y wget
# mkdir /media/VBoxGuestAdditions
# wget http://download.virtualbox.org/virtualbox/4.3.18/VBoxGuestAdditions_4.3.18.iso
※VirtualBoxのバージョンに合わせてダウンロードしてください。
# mount -o loop,ro VBoxGuestAdditions_4.3.18.iso /media/VBoxGuestAdditions
# sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
Installing the Window System drivers
Could not find the X.Org or XFree86 Window System, skipping.
は無視しても良いそうです!
4.8 後処理
# rm VBoxGuestAdditions_4.3.18.iso
# umount /media/VBoxGuestAdditions
# rmdir /media/VBoxGuestAdditions/
5. BOX を作成する(各自の端末で)
$ cd ~/VirtualBox\ VMs/centos-5.8_x32/
※各自でVirualBoxの保存先は変更してください
$ vagrant package --base centos-5.8x32 --output centos-5.8x32.box
あとがき
後は作成したboxを使って
$ vagrant box add centos-5.8_x32 centos-5.8_x32.box
$ vagrant init centos-5.8_x32
$ vagrant up
とすればvagrantを使ってCentOS 5.8(32bit)を使用することができます。
今回VMにCentOSをインストールする際にnet-install版を使用しました。実はこれ 4.1 ~ 4.3 の手順をする必要はないかもしれません。また、iptablesで外部からのアクセスが制限されているかもしれませんので、各自でご確認ください。それから、今回CentOS 5.8(32bit)だけでなく、CentOS 5.7(32bit)も欲しかったので、同様の手順でさくさくと作っています。
では、またお会いしましょう(^^)/