ローカル環境構築ならvagrant!
業務で本番環境とテスト環境があるのですが、勉強用&検証用として自由に使えるサーバが一個欲しいなと思っていました。
最初はVirtualBoxで色々設定してサーバをたてようと思ったのですが、vagrantを先輩に勧められたので使ってみることにしました。
vagrantはVirtualBoxでの仮想マシンを、boxという単位で、またコマンドで管理することが出来ます。
Vagrant入門 (全13回) - プログラミングならドットインストールだと短時間で勉強できました(30分くらい)。
以下手順
これでvagrantコマンドが使えるようになります。
boxはここに一覧があります。導入したい環境に合わせて選んでください。
boxの追加
$ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
boxのリスト参照
$ vagrant box list
localの適当な場所にディレクトリを作成、初期化
$ mkdir MyCentOS
$ cd MyCentOS
$ vagrant init centos64
VirtualBoxを立ち上げた後、boxから仮想マシンを作り立ち上げる
$ vagrant up
仮想マシンの操作は以下で出来ます。
・仮想マシンの状態を見る($ vagrant status)
・スリープして起動($ vagrant suspend)
・復帰($ vagrant resume)
・終了($ vagrant - halt)
・起動($ vagrant - up)
・仮想マシンの削除($ vagrant destroy)
ssh接続
$ vagrant ssh
これで自由に仮想マシンをいじることが出来る状態になりました。
また、local環境で先ほど作ったMyCentOSディレクトリ下と、仮想マシンのroot下(/vagrant)が、実は共有フォルダとしてデフォルトで繋がっています。
ssh接続した状態で共有フォルダの中にドキュメントルートのリンクフォルダを設置してみます。
$ sudo rm -rf /var/www/html
$ sudo ln -fs /vagrant /var/www/html
これで設定完了です。
適当にhtmlファイルを設置してホストOSとゲストOSを見比べてみてください。
+α
仮想マシンが立ち上がったあとに実行される処理をVagrantfileに追記することが出来ます。スクリプトをそのままかけるので、自動起動の設定なんかもできちゃいます(ゲストOSでもできますが・・・)。
Vagrantfile追記文
config.vm.provision :shell, :path => "provision.sh"