VagrantでCentOS/Chef/MySQL/phpMyAdmin/PHP 5.3/CakePHP 2.4.5開発環境を整備


Vagrantがおもしろくって、少しずついじっていますが、まだまだエラーが出た場合のリカバリや、外部のcookbookの導入など苦労しています。

今回は、『vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 - たけまるの日記』をベースに一部、プロダクトに合わせてバージョンを調節しながら作ってみました。

CakePHP 2.5でプログラム開発を始めてみたい人が、環境構築でつまずないようにしたいと思って作りました。ぜひご活用ください!

(3/23 12:55) phpMyAdminとVirtual hostの設定を追加


🏀 Vagrant

Vagrant 公式サイト

パッケージをDLしてインストール。

vagrantをインストールしたら、boxでChefを使えるようにするためのプラグインをインストール。あと、コミュニティの作ったCookbookのインストール。

vagrant plugin install vagrant-omnibus

🐡 VirtualBox

VirtualBox 公式サイト

パッケージをDLしてインストール。

🐮 仮想マシンの作成

自分の好きな場所(例は~/Dropbox/vagrant)に仮想マシン用のフォルダを作成。

mkdir ~/Dropbox/vagrant
git clone https://github.com/morizyun/vagrant-centos-cakephp cakephp
cd cakephp
bundle install
bundle exec berks install --path site-cookbooks
vagrant up

もしbundle installなどでエラーが出る場合は、Homebrew, Rubyの問題の可能性があるので『Mountain Lion Rails 最新環境 詳解 構築手順 [Homebrew][MySQL][rbenv][Ruby]』を参照して「Homebrew、rbenv」をインストールしてください。

🎳 hostsの書き換え

Macの場合は、sudo vim /etc/hostsでhostsに次の内容を追加。

192.168.33.10 cakephp.dev

🚌 ブラウザでのアクセス

http://cakephp.dev/にブラウザをアクセスするとapp/フォルダの中のファイルにアクセスできます。

スクリーンショット 2014-03-09 12.50.08

あとは、~/Dropbox/vagrant/CakePHP/appの中がCakePHPのアプリケーションをいじれば、適宜反映されます。

🗻 phpMyAdminへのアクセス

http://cakephp.dev/phpMyAdminにブラウザをアクセスするとユーザー名とパスワードを聞かれます。ユーザー名はroot、パスワードはcakepassと入力すると「phpMyAdmin」にアクセスできます。

スクリーンショット 2014-03-23 12.50.21

🐠 Vagrantの基本コマンド

vagrant up : vagrantの起動(Vagrantfileがあるフォルダで実行)
vagrant halt : vagrantを終了(Vagrantfileがあるフォルダで実行)
vagrant ssh : vagrantにログイン

🐯 GitHubのリポジトリ

このvagrantの詳細はGitHubのリポジトリ『morizyun/vagrant-centos-cakephp』にあります!

🐹 Webアプリケーション開発における基礎知識

Webアプリケーションの構成に関する予備知識

1) アプリケーションを構成する層
2) アプリケーションを構成する概念・オブジェクト

ごっちゃになってしまいがちな知識を整理してくれています。すばらしい!

🗽 エラーに関するメモ

Cache系のパーミッション、書き込みエラーが出る場合の対処。

1) sudo chmod -R 777 app/tmp
2) app/tmpの中にcache用のフォルダが存在するか確認(ない場合も同じエラーが出る)

🍣 お願い

Windowsなどで試していて、ちゃんと動いてくれないパターンが散見されました。もし、動かない場合があったらぜひコメントください。

😀 参考リンク

今っぽい Vagrant + Chef Solo チュートリアル


agrant と Chef Solo ってとてもベンリそうに見えてたのですが、ネット上にあるのは断片的な情報が多かったり、そもそもいろんなやり方があって混乱してたので、サックリ始めるためのチュートリアルを書きました。これをきっかけにベンリな Vagrant ライフを堪能して頂ければ幸いです。

chef-soloで環境設定


chefはサーバ構成管理ツールです。構成を設定ファイルとして書き残しておき、chefを実行すればそのとおりにサーバを構築してくれます。また、何度実行しても同じように構築してくれますし、サーバ構成をいじったとしても修正してくれます。というわけで、chefを使ってみたのでそのメモ。

Assets.github.com%2fimages%2fgravatars%2fgravatar 140
最近の(2013/8/28時点の)vagrantとberkshelfの書き方


vagrantとberkshelfで超捗る、みたいな記事は一杯あるんですが、その先のちょっと弄りたいってなった時に一瞬悩む。コミュニティcookbookのattributesとかカスタムしたい。自分で作ったcookbookのレシピも追加したい。

Git submodule の基礎


git submodule は、外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組みです。

git submoduleを今風な感じで削除する

Git submoduleを削除したいときに覚えておきたいコマンド。

jonah-carbonfive / readme.markdown

README.mdのテンプレート。かなり重宝しています!

🐝 変更来歴

(3/09 19:25) 非推奨になっていたvagrant-berkshelfを削除

(3/16 20:45) Vagrantのコマンドとか追加

(3/23 12:55) phpMyAdminとVirtual hostの設定を追加

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)