VagrantでPHP 5.5 & CakePHP 2.4.5開発環境を10分で整備


MacにCakePHPやMySQLなどが入ったVagrantのboxをインストールする手順を整理しました。ApacheやMySQLをほとんど設定せずに、開発を開始できます。PHPの開発を始めてみたい人にお勧めです。

🏀 Vagrantの基本的な構成

apache2
php5 (5.5)
php5-cli
php5-mysql
php5-dev
php-pear
PHPUnit
PHP_CodeSniffer
CakePHP_CodeSniffer
mysql-server
phpMyAdmin
git-core
vim
curl
composer

2014/02/23時点です。最新はborivojevic/cakephp-vagrant


🐞 [Mac限定] Homebrew

Homebrew

Homebrewの公式サイトに書かれた手順でCUIパッケージ管理のHomebrewをインストール。

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

🎃 Vagrant

Vagrant 公式サイト

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

🎉 VirtualBox

VirtualBox 公式サイト

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

🐝 仮想マシンの作成

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

mkdir ~/Dropbox/vagrant
git clone git://github.com/borivojevic/cakephp-vagrant.git cakephp
cd cakephp
vagrant up

🍮 /etc/hostsの変更

sudo vim /etc/hostsでファイルを開いて以下を追加。

33.33.33.10 dev.mirkoborivojevic.localhost

😸 CakePHPのダウンロード

WebrootフォルダはVagrantと共有できるので、主にここで作業していきます。

cd webroot
git clone git@github.com:cakephp/cakephp.git sample1
cd sample1
chmod -R 777 app/tmp

🐰 CakePHPのセキュリティ設定を変更

vim app/config/core.phpをエディタで開いて、Security.saltと、Security.cipherSeedを自分の好きな文字、数字の列に変更。

🎂 CakePHP/debug_kitの導入

cakephp/debug_kitをインストール。

cd app/Plugin
git clone git@github.com:cakephp/debug_kit.git

vim app/Config/bootstrap.phpでファイルを開いて次の行を追加。

CakePlugin::load('DebugKit');

vim app/Controller/AppController.phpでファイルを開いて次の行を追加。

class AppController extends Controller {
public $components = array('DebugKit.Toolbar'); // この行の追加
}

🐠 sshでのサーバへのアクセス & DBの作成

vagrant ssh
cd /vagrant/webroot/
cp app/Config/database.php.default app/Config/database.php

vim app/Config/database.phpでファイルを開いて、以下のとおり変更。

public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'sample1_default', // 通常使うDB名を設定
'prefix' => '',
//'encoding' => 'utf8',
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'sample1_test', // テスト用のDB名を設定
'prefix' => '',
//'encoding' => 'utf8',
);

続いて、MySQLにDBを作成。

mysql -u root -p #<= パスワードはroot
create database sample1_default
create database sample1_test
exit

🗻 ブラウザでのアクセス

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

🚕 参考リンク

Vagrant セットアップ (Mac)

CakePHP DebugKit の導入手順

自分の中でブレイクしている、vagrant + chef + gitで開発環境を構築する - ロックとチュウーハイとこりんがるな日々

📚 おすすめの書籍

🖥 サーバについて

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