Vargrantとは? + インストール + 動作確認

Vagrantとは

VM環境の自動構築ツールのこと。

開発環境は Mac + VirtualBox であることが多いと思う。
その場合、VirtualBox の環境をチーム内で統一するのが面倒だったりする。
VMファイルをUSBメモリとかで渡すことで共有はできるけど、
VM環境に変更があったときに再共有する必要がある。
指定したバージョンを入れてくれなかったり、なんか動かなくなったり・・・。

そこで Vargrant が役に立つ。
Mac に Vargrant をインストールするだけなので、
使ってみるだけならすぐできる。
別に VirtualBox じゃなくても Vagrant がサポートしている VMソフトであれば動く。

VM環境は box というファイルで管理する。
この box を他人に配布して Vargrant で読み込むと、
box に基づいた環境が構築される。
チーム内でのVM環境共有が簡単になる。
ちなみに Vargrant はコマンドライン操作になる。

chefのVM版といったところかな・・・。
chef使ったことないけど・・・。

とはいえ、
個人でVirtualBoxを使うときは
yum update しておいたベースとなるVMを用途別に用意してコピーしながら使ってるし、
チーム内での共有もUSBで不便に思うこともないし・・・。
人によっては Vargrant に価値を見出さないかも・・・。

とりあえず、インストールして動作させるところまでをまとめる。
すでにバーチャルボックスはインストール済みとする。


【インストール】
MacVagrantをインストールするだけ。
公式サイトからDLすればOK。


【とりあえず使ってみる】
まずはインストールされているかを確認
# vagrant --version
Vagrant 1.6.3

以下から好きなboxを選択する。
正直これはどれでもいいが、DLが面倒ならサイズの小さいものを選ぶといい。
http://www.vagrantbox.es

boxを構築する。
今回はbox名を test_box にする。
# vagrant box add test_box https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box

Vagrant用のディレクトリを作成する。
このディレクトリで test_box を操作する。
# mkdir ~/Desktop/Vagrant/test_box


ディレクトリを初期化する。
これは git init みたいな感じ。
# vagrant init test_box

以下の様なメッセージが出て一瞬エラーかと思ったけど、成功した的なメッセージだった。
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.


起動
# vagrant up

SSH接続
# vagrant ssh

シャットダウン
# vagrant halt



文字コード設定】
Vagrantのboxで yum を実行すると以下のエラーが出る場合がある。
---------
Failed to set locale, defaulting to C
--------

これは文字コードのエラーらしい。
とりあえず以下のコマンドを打てば直る。
# LC_ALL=C
# export LC_ALL
# yum update


【rootでログイン】
ディレクトリにある Vagrantfile に以下を追記する。
------------
config.ssh.username = "root"
------------

こうすることでrootでssh接続するようになる。
パスワードは「vagrant」になる。
パスワードは box を作るときの一般的なルールなので大体これでログインできるはず。