August 4, 2013

Vagrant + ChefでオレオレPHP開発環境を作ってみました

追記:
依存レシピの管理はBerkshelfを使うべきと思いますが、とりあえずGitのサブモジュールにしてしまっています。

使用するIPアドレスとポートが"192.168.33.10"から"localhost:8081"(php5.5ブランチ)と"localhost:8080"(masterブランチ)に変わりました。記事内の各所は適宜置換して下さい。

--

レポジトリは https://github.com/mp-php/vagrant-phpdev-ubuntu です。

主な環境は
* PHP5.5
* Apache2.4
* MySQL5.5
です。MySQLのrootユーザのパスワードはデフォルトだと"root"になります。これは cookbooks/chef.json で変更できます。

以下、READMEの通りですが、大まかな流れを書いておきます。

まず git clone して vagrant up します。初回は結構時間がかかります。
$ git clone --recursive https://github.com/mp-php/vagrant-phpdev-ubuntu.git
$ cd vagrant-phpdev-ubuntu/
$ vagrant up
起動後、ホストOS側の"share"ディレクトリとゲストOS側の"/share"ディレクトリが共有されます。

新しいプロジェクトを作成するには、ホストOS側の"share"ディレクトリの中に、そのプロジェクトのディレクトリを作ります。
$ mkdir share/my_first_workspace
$ vim share/my_first_workspace/index.php

<?php
phpinfo();
vagrant ssh 等でゲストOSに入って
$ sudo ln -s /share/my_first_workspace /var/www/my_first_workspace
して、シンボリックリンクを貼ります。

これで http://192.168.33.10/my_first_workspace/ のようにアクセスして正しく表示されればOKです。

mod_rewriteを有効にしてあるので、各プロジェクトで .htaccess が使えるはずで、バーチャルホストの設定をしなくてもとりあえず動かせるかなーと。

その他の機能として
* phpMyAdmin http://192.168.33.10/phpmyadmin/
* DBDocs http://192.168.33.10/dbdocs/ (ちゃっかり入れてますw)
* phpunit コマンド
* apigen コマンド
* php-cs-fixer コマンド
* jsduck コマンド
が入っています。

DBDocsは、試しに http://192.168.33.10/dbdocs/index/generate から MySQL を選択
* Document name … 適当
* Description … 適当
* Host … localhost
* Database … phpmyadmin
* user … root
* password … root
* Charset … utf8
と入力して"Generate"ボタンを押してみて下さい。phpmyadminのテーブル一覧が生成されます。

開発上必要なパッケージがスカスカで足りないと思いますが、随時付け足していこうと思います。

良かったら使ってみて下さい。

No comments:

Post a Comment