最近ザキヤマさんをテレビで見かけるたびに爆笑してます。とりあえず言っとけ的なアレがつぼすぎる。
転職も決まったので、今日からケーキ職人を目指そうと思います。BakeBakeBake!!
とりあえず入門的な本を買ってきたけど、本に載ってる環境がwindowsなので、ubuntuでCakePHPを動かすメモ。ボクの環境はVMwareのUbuntu8.04 です。ファイルは ~/public_html の下に配置して、ブラウザからhttp://localhost/~username/cakeappname/ でアクセスすることにします。
この辺を参考にしました。ありがとうございました。
http://wiki.lampetty.net/apache2.html
http://d.hatena.ne.jp/cybaron/20090103/p1
Apache の設定
CakePHPはデフォルトでApacheのmod_rewriteモジュールを使用するようになっています。CakePHPの公式ドキュメントも今日買った本もApache2じゃないですが、まー今日日Apache2でしょう。まずはmod_rewriteモジュールを有効化。
- sudo a2enmod rewrite
次に~/ にCakePHP を配置できるようにuserdirモジュールを有効化。
- sudo a2enmod userdir
userdir.conf の修正。AllowOverride Allを設定する。
- sudo vim /etc/apache2/mods-available/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
Apache再起動。
- sudo /etc/init.d/apache2 restart
CakePHPのダウンロードと配置。最新版を公式から~/public_html へダウンロード&展開。名前は適当に変更。
- tar xvfz cake_1.2.5.tar.gz
- mv cake_1.2.5 mycake
mod_rewrite 用に.htaccessファイルを書き換え
CakePHPの.htaccessファイルにRewriteBase を追加。
- vim ~/public_html/mycake/.htaccess
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /~bugcloud/mycake/ RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule>
- vim ~/public_html/mycake/app/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /~bugcloud/mycake/app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
- vim ~/public_html/mycake/app/webroot/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~bugcloud/mycake/app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
その他
tmpディレクトリのアクセス権を変更。
- chmod =R 707 ~/public_html/mycake/app/tmp
Security.saltの変更。Configure::write(‘Security.salt’, ‘~~~~~~~~’); のとこを適当に変更。
- vim ~/public_html/mycake/app/config/core.php
データベース用の設定。環境に合わせて設定する。~/public_html/mycake/app/config/database.php を編集。
- mv database.php.default database.php
- vim ~/public_html/mycake/app/config/database.php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
'encoding' => 'utf8',
);
var $test = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'test_database_name',
'prefix' => '',
'encoding' => 'utf8',
);
}
ここまでやれば準備オッケーなはず。http://localhost/~bugcloud/mycake/ にアクセス

全部緑になってればお毛ー。スタイルが適用されてなかったら、mod_rewrite ら辺がどっか間違っとるよー。
2009/12/26 追記
ubuntuでbakeを使うにはパッケージをインストールする必要があるみたい。
cakephp1.2-scripts
コマンドラインからphpを使えるようにする
- sudo apt-get install php5-cli
cake用のパッケージのインストール
- sudo apt-get install cakephp1.2-scripts
これでコマンドラインから
- cake bake -app /home/username/public_html/mycake/app
とかやってやればbakeできるんですが、問題ありです。なんか知りませんが、cakephp1.2-scriptsで使われるcakeが古いっぽいです。controllerをbakeすると、自動で作成されたadd()メソッドの中に”$this->cleanUpFields();”っていうのが入ってきます。が、新しいバージョンのcakeではこのメソッドはモデルが自動的に実行するようになったらしいです。
ということで、bakeするときは作成中のアプリのディレクトリに入って
- php cake/console/cake.php bake
ってやるのが正解みたいです。
めんどくさ!
| Author | 安藤 祐介 新原 雅司 堂園 俊郎 |
|---|---|
| Manufacturer | 毎日コミュニケーションズ |
| Release Date | 2009年06月27日 |
| Price | 3,360yen |



