ローカル環境構築なら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"