Vagrantfileの書き方が最新のものとは違うので、それらに関しては公式のドキュメントを参照のこと。LionでRubyは2.0.0-p247。VirtualBox先述したように他の仮想化環境でも行けるがとりあえずVirtualBoxで。Vagrantを入れるVagrant上記からパッケージをダウンロードしてきて入れる。vagrantでも入るが現在は非推奨の方法となっており、入るバージョンも古い。6.3を使いたいので以下のようにするなど。https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.boxcentos63は任意に付けられる名前。分かりやすいものを付けておくとよい。したコマンドの結果は~/.vagrant.d以下に保存される。後々ローカルと仮想マシンのファイルの同期を何も考えずに行うために、Vagrantfileはプロジェクトのルートに置く。RailsならRAILS_ROOTに置く。up仮想マシン初期化。場合によってエラーメッセージが出たりするけど気にしない。haltなんでこんなことするかと言うと、いったん起動してからじゃないとプラグインの導入がうまくいかないっぽいので。プラグインの導入Vagrantを便利にしてくれるプラグインを入れておく。vagrant-berkshelfそれぞれの詳細は後述。upvagrant-vbguestが動いていろいろインストールされたりする。先ほどの起動でエラーメッセージが出ていた場合は解消されたはず。Provisioningポートフォワーディングといったいくつかのことを理解しておく。ssh立ち上げた仮想マシンへのssh接続は以下のようにする。仮想マシン上のvagrantユーザーでの接続となる。ssh通常のsshコマンドでログインするには.ssh/configに設定を追加する。ssh-configを使えば簡単。.ssh/configこれで以下のように接続できるようになる。defaultdefaultの部分を変更したければ.ssh/configを修正。centos63で接続できるように変更した。.ssh/configに関しては以下がわかりやすい。すぱぶろ同期ディレクトリローカルのVagrantfileがあるディレクトリと仮想マシン上の/vagrantが同期するようになっている。プロジェクトのルートにVagrantfileを置いておけば、編集したファイルがすぐに仮想マシンに反映されるため開発が捗る。設定で変更することもできるが、他の開発メンバーが何も考えずに利用できるようにするにはデフォルトのこの状態がベストではないかと思う。言うわけで開発用のウェブサーバーのもろもろの設定なども/vagrantにファイルがある前提で行うことになる。Provisioning仮想マシンの環境構築をキックスタートスクリプトやChef、Puppetなど好きな手段で行うことができる。upした時点で適用される。provisionで既存の環境に反映できる。環境の更新があった場合はメンバー各自にこれを行ってもらう。ポートフォワーディング仮想マシン内に立てたウェブサーバーなどにホストOS(今回だとMac)のブラウザからアクセスするための設定。trueauto_correctはvagrant-vbguestのせいでネットワークがうまくつながらなかったりしたので追加してみた。他つながらない原因としては仮想マシンのiptablesなどが考えられるので、うまくいかない場合はそちらもチェック。Documentationポートフォワーディングの代わりに仮想マシンにIPを振ることもできるが、ネットワーク環境はメンバーそれぞれなのでポートフォワーディングで済ませた方がスムーズなはず。プラグインプラグインによってVagrantは更に便利になる。sahara仮想マシンをSandboxモードにできるプラグイン。