日時
2012年11月24日(土)14:00-18:00
場所
インフィニットループ 会議室
LOCAL PHP部 の勉強会。今回はもくもく会。 普通に1人でやるのと違って、PHPという共通言語を持つ仲間が集まってやるというだけで、ヤル気も高まるし、1人だけサボってられないので必然的に集中度も上がる。
今興味があるのは * Vagrant + chef-solo で開発環境構築 * Selenium * Backbone.js 等のjsフレームワーク
というどれもPHPそのものではなかったけど、1番目の Vagrant + chef-soloで"PHPの"開発環境構築 をやってみることにした。
chefの公式サイトやgithubのレシピを参考にコピペすればなんとかなるだろうと簡単に考えていた。
VagrantからVMを起動してchef-soloが動くところまではできていたので、さらにApacheとPHPのパッケージをインストールしてphpinfo()を表示できれば目標達成、となるはずだった。
まずcookbookをどこに書いたら良いのかで悩んでいた。
VMを動かしてるMacで書く?それともVMの中に書く?
答えはどっちも正解、だった。
カレントディレクトリ(ターミナルからVagrantコマンドを叩いたディレクトリ(.vagrant や Vagrantfile がある))がVMでは /vagrant/ にマウントされているので、ここにcookbookを置けばどちらからでもアクセス可能となっている。
この時点でvmにはvimなどの高度なエディタはインストールされていないので、Mac で手慣れたエディタを使うのが良いようだ。
このコマンドを叩くとcookbookのひな形ができるので、recipes/default.rb にレシピを書いていく。
knife cookbook create [cookbook名] -o cookbooks
Apache2のパッケージインストール、インストールすると作られるindex.htmlをちょこっと書き換える というサンプルを持ってきて動かす。 ここまでは難なく動いた。
次に、妙にサーバー時間がずれてるのが気になってしまって ntp cookbookを作成
ようやくPHPのインストール。
PHP5のパッケージをインストール、動作確認用にphpinfo(); が1行書かれただけのファイルも作成。
(勉強会中、PHPを書いたのはこの1行のみ。)
しかしapacheを再起動剃る方法がわからなくてphpが有効にならず、ブラウザからアクセスしてもphpinfoが表示されるのではなくDLされてしまうところで時間切れになってしまった。
最後に軽く成果発表ということで、各自やった内容を発表。
説明の中で一旦
vagrant halt
vagrant up
を行ったのでphpinfoは表示された。
しかしこれでは新vmを立ち上げるたびに再起動が必要になってしまう。
php5インストール後にapache2を再起動する方法を探さないと。