CakePHP 2.0.0-RC3 を動かす

このエントリーをはてなブックマークに追加
はてなブックマーク - CakePHP 2.0.0-RC3 を動かす
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

引き続きPHP Matsuri 2011に参加しています。現在午前5時35分。すでに机の上は以下のような状態で、何度も寝落ちしている状態です。

さて、ヘロヘロな状態ではありますが、どうやら周りの方はCakePHP使われている方が多いようなので、CakePHPをPHPer.jpで動かす方法やり方を解説したいと思います。

CakePHP 2.0.0-RCをダウンロードします

$ wget https://github.com/cakephp/cakephp/zipball/2.0.0-RC3

`cakephp-cakephp-2.0.0-RC3-0-gbab131b.zip`がダウンロードされますので、これを展開します。

$ unzip cakephp-cakephp-2.0.0-RC3-0-gbab131b.zip

できたディレクトリに移り、gitリポジトリを作成します。

$ cd cakephp-cakephp-61dd18d
$ git init

ファイルをコミットする前に`.gitignore`から、gitリポジトリに必要なディレクトリ削除します。

$ vi .gitignore

/app/Config (削除)
/app/tmp (削除)
/plugins (削除)
/vendors (削除)
.DS_Store
tags

ファイルを追加して、コミットします

$ git add .
$ git commit -m ‘commit CakePHP 2.0′

phperコマンドを使ってプロジェクトとサーバを作成します

$ phper create
Created tumf-bitchu794
–> gitosis@git.phper.jp:tumf/bitchu794.git
–> mysql://tumf:cdae238d@db.phper.jp/tumf_bitchu794
–> git remote add phper gitosis@git.phper.jp:tumf/bitchu794.git
/Users/tumf/Downloads/cakephp-cakephp-96a8d97/.phper
–> git add -f /Users/tumf/Downloads/cakephp-cakephp-96a8d97/.phper/deploy
–> git add -f /Users/tumf/Downloads/cakephp-cakephp-96a8d97/.phper/initdb
–> git add -f /Users/tumf/Downloads/cakephp-cakephp-96a8d97/.phper/httpd.conf
–> git add -f /Users/tumf/Downloads/cakephp-cakephp-96a8d97/.phper/rsync_exclude.txt

$ phper servers:add
Created hit-green-tsukemono-1430
–> http://hit-green-tsukemono-1430.phper.jp

git pushを使ってdeployします

$ git push phper master

ブラウザで開きます

$ phper open

すると、以下のような画面が表示されます。

CakePHPでは、`app/Config/database.php`データベースの設定を書かなくてはなりません。`phper info`の結果を`app/Config/database.php`に書いてコミット&デプロイでも構わないのですが、ここではデプロイ時に`app/Config/database.php`を生成するように`.phper/deploy`スクリプトを以下のようにカスタマイズします。

# .phper/deploy
# deploy script here
if [ ! -f .phper.deployed ] ; then
# when 1st deployed.
true
fi

echo “ class DATABASE_CONFIG {

var \$default = array(
'datasource' => ‘Database/Mysql’,
‘persistent’ => false,
‘host’ => ‘$DBHOST’,
‘login’ => ‘$DBUSER’,
‘password’ => ‘$DBPASSWORD’,
‘database’ => ‘$DBNAME’,
‘prefix’ => ”,
//’encoding’ => ‘utf8′,
);

var \$test = array(
‘driver’ => ‘mysql’,
‘persistent’ => false,
‘host’ => ‘localhost’,
‘login’ => ‘user’,
‘password’ => ‘password’,
‘database’ => ‘test_database_name’,
‘prefix’ => ”,
//’encoding’ => ‘utf8′,
);
}” > app/Config/database.php

この状態で、再度デプロイします。

$ git add app/Config/database.php
$ git commit -m ‘fix deploy script’
$ git push phper master

ブラウザを開きます。

$ phper open

今度はうまくいきました。CakePHPのコードを開きながら作業していたら、後ろからLithiumの偉い方から「CRAYZY」と声をかけられてビビりましたがおかげで少し目が醒めました。