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 |
もし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/
フォルダの中のファイルにアクセスできます。
あとは、~/Dropbox/vagrant/CakePHP/app
の中がCakePHPのアプリケーションをいじれば、適宜反映されます。
🚜 phpMyAdminへのアクセス
http://cakephp.dev/phpMyAdmin
にブラウザをアクセスするとユーザー名とパスワードを聞かれます。ユーザー名はroot
、パスワードはcakepass
と入力すると「phpMyAdmin」にアクセスできます。
👽 Vagrantの基本コマンド
vagrant up : vagrantの起動(Vagrantfileがあるフォルダで実行) |
🎂 GitHubのリポジトリ
このvagrantの詳細はGitHubのリポジトリ『morizyun/vagrant-centos-cakephp』にあります!
🐝 Webアプリケーション開発における基礎知識
1) アプリケーションを構成する層 2) アプリケーションを構成する概念・オブジェクト
ごっちゃになってしまいがちな知識を整理してくれています。すばらしい!
🍮 エラーに関するメモ
Cache系のパーミッション、書き込みエラーが出る場合の対処。
1) sudo chmod -R 777 app/tmp 2) app/tmpの中にcache用のフォルダが存在するか確認(ない場合も同じエラーが出る)
🏀 お願い
Windowsなどで試していて、ちゃんと動いてくれないパターンが散見されました。もし、動かない場合があったらぜひコメントください。
🎉 参考リンク
今っぽい Vagrant + Chef Solo チュートリアル
agrant と Chef Solo ってとてもベンリそうに見えてたのですが、ネット上にあるのは断片的な情報が多かったり、そもそもいろんなやり方があって混乱してたので、サックリ始めるためのチュートリアルを書きました。これをきっかけにベンリな Vagrant ライフを堪能して頂ければ幸いです。
chefはサーバ構成管理ツールです。構成を設定ファイルとして書き残しておき、chefを実行すればそのとおりにサーバを構築してくれます。また、何度実行しても同じように構築してくれますし、サーバ構成をいじったとしても修正してくれます。というわけで、chefを使ってみたのでそのメモ。
Assets.github.com%2fimages%2fgravatars%2fgravatar 140
最近の(2013/8/28時点の)vagrantとberkshelfの書き方
vagrantとberkshelfで超捗る、みたいな記事は一杯あるんですが、その先のちょっと弄りたいってなった時に一瞬悩む。コミュニティcookbookのattributesとかカスタムしたい。自分で作ったcookbookのレシピも追加したい。
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の設定を追加