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で開発環境を構築する - ロックとチュウーハイとこりんがるな日々

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍