サーバークライアント環境で実行するアプリケーションの開発が必要になった。クライアントアプリのデバッグのためにサーバーアプリも必要なんだけど、そのために環境構築するのめんどくさい。使える家庭内サーバーはあるにはあるが、そこに色々環境をいじると何かと面倒。
と思っていたところたまたまVagrantというのがあることを知った。昔ちょっと触ったことがあるVirtualBoxを簡単に使えるツールのようだ。
設定手順はすごく簡単。
1)VirtualBoxをダウンロードする。
https://www.virtualbox.org/wiki/DownloadsVirtualBox 4.3.4 for OS X hosts

Mac OS X向けでは上記が最新。なのでこれをダウンロードして、ディスクイメージをマウント。インストーラを起動してインストールする。

通常の使い方をする場合にはVirtualBoxの管理アプリケーションを起動するのだが、今回は簡単に設定したいのでインストールするだけ。
ちなみに、VirtualBoxってOracleの製品(無償)だったんですね。JavaVMの技術となんか関係あるんでしょうか。でもこんなすごいソフトウエアを無償で提供していいんでしょうか?でもありがたいことです。
2)Vagrantをダウンロードする。
http://downloads.vagrantup.com/Vagrant-1.3.5.dmg

現時点最新の1.3.5をダウンロードして、ディスクイメージをマウント。インストーラを起動してインストール。

3)Vagrantfileの設定
本来であれば次は標準Boxをダウンロードして導入するのだが、そこはとばす事にする。
http://www.vagrantbox.es/にあるのは主に各OS(Linux系だけど)のプレーンな状態のもの。実際にはそこに開発言語やDB、フレームワークなどのミドルウエアを導入して、場合によってはディレクトリ構成を変更したり、DBや各種サービスの設定までもした後に、開発環境やテスト環境としてプロジェクトメンバーに提供する。そしてある程度そこまで様々な設定を済ませた環境がまたあちこちで公開されている。
今回は以下の条件で検索してみつけたものを使わせてもらった。
Linux系OS(なんでもよかったができればCentOS 64bit)
Apache(これもなんでもよかった)
PHP(5.2以降)
PostgreSQL(9.1以降)
あとできればCakePHP
https://github.com/shin1x1/vagrant-lapp-sample
$ git clone https://github.com/shin1x1/vagrant-lapp-sample
$ cd vagrant-lapp-sample/vagrant
$ vagrant up
これで必要な環境をダウンロードしてくれてセットアップして起動までしてくれる。ネットワーク環境などで違いがあるだろうが、10数分でできた。
4)動作確認
ちゃんと動いているかどうかは以下で確認できる。
まずWebサーバーが動いているかどうか。ブラウザから以下のURLにアクセスする。
http://192.168.33.30/ 
ちなみにこのIPアドレスはVagrantfileで設定しているので問題がある場合には事前に変更しておく。
Webサーバーが動いていれば、つぎにPostgreSQL環境がOKかどうかをphpPgAdminにアクセスする。これでphpの設定も確認できる。
http://192.168.33.30/phpPgAdmin/
管理者としてID=
vagrantでログインできる。パスワードは何でもよい。これもVagrantfile内のプロヴィジョン設定で作られている(DBも作っている)ので変更したければそこでできる。
これで終わり。
5)ファイル同期
あとはソースを置いたりDBのスキーマを作ったり。独自のことをするだけだがログインするには以下のコマンドが使える。
$ vagrant ssh
なお、このbox設定では
vb.gui = trueになっているせいでGUIが起動している。そこでログインしてもよい。

だが設定を変更しないのであれば、ホストOSの側の使い慣れたツールを使って開発してローカルフォルダにファイルを保存すると、自動的に仮想環境と同期してくれる便利な機能がある。
このboxではホスト側のvagrant-lapp-sample/が仮想環境の/shareになっていて、
/share/app/webroot/がwebのトップページになっているので、ここ以下に置いてブラウザでテストするということが可能。
6)vagrantの起動停止
起動
$ vagrant up
(複数環境がある場合にはパラメータにbox名を付けて選択して起動できる)
停止
$ vagrant halt
一時停止
$ vagrant suspend
再起動
$ vagrant resume
(
vagrant up
でもいいみたい)
環境を消去する。
$ vagrant destroy
まだ分かっていない事も多いがとにかく環境を準備するのが実に簡単にできるようになっていて、しかも初期化も簡単なので実行環境へのインストールの練習とかインストールスクリプトのテストなどもできそうで大変ありがたい。
posted by 永遠製作所 at 23:31| 東京 ☀|
Comment(0)
|
TrackBack(0)
|
Mac OS X
|

|