酒と泪とRubyとRailsと

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

VagrantでPHP 5.5 & CakePHP2.4.5 開発環境を10分で整備

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


Vagrantの基本的な構成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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をインストール。

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

Vagrant

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

VirtualBox

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

仮想マシンの作成

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

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

/etc/hostsの変更

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

1
33.33.33.10 dev.mirkoborivojevic.localhost

CakePHPのダウンロード

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

1
2
3
4
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をインストール。

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

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

1
CakePlugin::load('DebugKit');

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    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を作成。

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

ブラウザでのアクセス

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

Special Thanks

Vagrant セットアップ (Mac)

CakePHP DebugKit の導入手順

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

おすすめの書籍