Vagrant
VirtualBoxでの仮想環境構築を自動化する(VirtualBoxだけではないけど)。
ラッパーツールという認識でいいのかな?
仮想環境は構築するまでが大変で、手順を含め多岐に渡る知識が必要。まぁWeb上に丁寧に解説してくれてるブログとかはあるんだけど、それでもバージョンが違うだけで画面がちょっと変わると初心者にとっては戸惑いの元だし、上級者にとっても1つ1つを逐次的に実行して完了するまで待って…を繰り返すのは時間の無駄。それを「よく使われるイイ感じ」の設定で代行してくれる。
仮想マシン上に作った環境を「Box」というイメージファイルで保存することで、同じ環境の仮想マシンを簡単に再現できるようになる。
なので、よく使う環境を初期設定状態で保存しておけば、いつでもその環境が手に入る。
プロジェクト間やメンバー間で、同一の環境を構築する作業を確実化・省力化できる。
また、各人が作ったBoxが以下で公開されており、環境構築に不慣れな人でも面倒な初期設定を行うことなく、慣れた人が設定してくれた定番の環境が手に入る。(ただ、ピンキリなので、各ディストリビューション公式のものか、いろんなサイトで評価の高いものを使った方が無難)
Box
ScotchBox
Scotch Box ♥ A Vagrant LAMP Stack That Just Works
Vagrant用のboxの一つ。Web開発に必要なLAMP環境でよく使われるものが一通り過不足なく入っていて人気。
PHPから、実行環境がScotchBoxなのか知る
開発と本番で切り替えたい場合など。php_uname()を見たらいいかな、とりあえずは。
<?php substr(php_uname(), 0, 15) === 'Linux scotchbox';
バージョンの共存
公式サイトでは、git cloneしてvagrant upするだけ!と宣伝されている。楽ちん。
ただ、現在はScotchBoxの最新ver.は3.5だが、もし以前に古いバージョンをインストールしていた場合、上記の方法では古いバージョンのboxが流用される。
バージョンの共存には、改めて box add する必要がある。
> vagrant box add scotch/box
多分これで最新版が入るはず。(もし入らなかったら、下記のようにVagrantfileにバージョンを指定し、そのVagrantfileがある場所でaddすれば入る)
で、Vagrantfileの適当な場所に
config.vm.box_version = "3.5"
などと指定しておけば、そのversionのが使われる。