酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

VagrantでCentOS/Chef/MySQL/phpMyAdmin/PHP 5.3/CakePHP2.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のインストール。

1
vagrant plugin install vagrant-omnibus

VirtualBox

VirtualBox 公式サイト
パッケージをDLしてインストール。

仮想マシンの作成

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

1
2
3
4
5
6
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に以下の内容を追加。

1
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の基本コマンド

1
2
3
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などで試していて、ちゃんと動いてくれないパターンが散見されました。もし、動かない場合があったらぜひコメント下さい。

Special Thanks

今っぽい 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の設定を追加

おすすめの書籍