Vagrant:プロビジョニング
Vagrantのプロビジョニング機能により、GuestOS内にアプリケーションを自動インストールする。
実行環境
HOST OS:Windows 7 Professional
RAM:2GB
GUEST OS:CentOS 6.6
プロビジョニングを利用するには、まずGuestOS上で実行される自動インストール用のシェルスクリプトを用意する。ここではファイル名”bootstrap.sh”として以下の内容を記述しvagrantfileと同じフォルダに保存し、Apacheをインストールした。
echo "/*-------- vagrant install script --------*/"
# install Apache HTTP Server
yum install -y httpd
# Apache HTTP Server Restart
/etc/init.d/httpd restart
# iptables accept port 80(HTTP)
iptables -I INPUT 5 -m state --state NEW -p tcp --dport 80 -j ACCEPT
# iptables save & restart
/etc/init.d/iptables save
※ http(port:80)の許可は、初期状態のiptablesのssh(port:22)の下に決め打ちで挿入している為、環境によりエラーとなる可能性があるかもしれない。
作成したシェルスクリプトファイルを利用するようにvagrantfileに以下の設定を追加する。
72: config.vm.provision "shell", path: "bootstrap.sh"
また、HostOSからApacheの動作を確認用に25行目あたりにあるポートフォワードの設定をアンコメントして有効にした。
25: config.vm.network "forwarded_port", guest: 80, host: 8080
HostOS上のブラウザから、localhost:8080へアクセスして "Apache 2 Test Page" が表示されれば成功。
追記
vagrantfile内に直接記述することも可能。67行目~70行目までアンコメントし、
SHELL~SHELL間に設定内容を記述する。
67: config.vm.provision "shell", inline: <<-SHELL
68: echo "#### vagrant install inline script ####"
69: echo "#### install Apache HTTP Server ####"
70: yum install -y httpd
71: echo "#### Apache HTTP Service Restert ####"
72: /etc/init.d/httpd restart
73:
74: echo "#### iptables accept port 80(HTTP) ####"
75: iptables -I INPUT 5 -m state --state NEW -p tcp --dport 80 -j ACCEPT
76:
77: echo "#### iptables accept port 80(HTTP) save ####"
78: /etc/init.d/iptables save
79:
80: echo "#### iptables restart ####"
81: /etc/init.d/iptables restart
82:
83: SHELL
- 作者: Mitchell Hashimoto,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/02/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (9件) を見る