5月 25
02.CakePHPの設置
本家サイトからダウンロードしたCakePHPを設置します。
(Macの人は.dmgファイル、Windowsの人は.zipファイルをダウンロードします。Macの人が間違ってzipをダウンロードすると全然動きませんのでご注意ください。)
ダウンロードしたファイルを解凍すると、 cake_1.2.3.8166
という名前のフォルダーが出来るので、これを cake
とリネームしてローカル環境のドキュメントルート以下にコピーします。
MacOSXの場合は、いわゆる「サイト」フォルダー
/Users/bob/Sites
以下ということになります。
Windowsの場合は、apacheをどこにインストールしたかにもよるんでしょうが、そのhtdocs以下、ということです。例えば、
c:¥Program Files¥apache・・・・¥htdocs
ですかね。
本番リリースと同じ構造にしておく、という手もありますが、開発用のローカル環境ではなにもいじらない方がやりやすいんじゃないですかね。
なにしろ、まっさらの状態でも本体をダウンロードしてきてそのまま始められる訳ですから。
で、 http://localhost/~bob/cake/
をブラウザから開きます。
Warning (512): /Users/bob/Sites/cake/app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 263]
というエラーが出ますが、とりあえず動いてるってことでOK。
で、エラーで指摘された通りに
/app/tmp/cache を書き込み可能にします。
ついでに /app/tmp も書き込み可能にするので、/appに移動して、
chmod -R 0777 tmp
します。ブラウザをリロードします。
まだ以下のNoticeが出ています。
Notice (1024): Please change the value of ‘Security.salt’ in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 557]
ということなので、 /app/config/core.php を開いて、
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
の部分を書き換えます。
ついでに、以下の2つのコメントアウトを外しておきます。
/**
* To configure CakePHP *not* to use mod_rewrite and to
* use CakePHP pretty URLs, remove these .htaccess
* files:
*
* /.htaccess
* /app/.htaccess
* /app/webroot/.htaccess
*
* And uncomment the App.baseUrl below:
*/
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
/**
* Uncomment the define below to use CakePHP admin routes.
*
* The value of the define determines the name of the route
* and its associated controller actions:
*
* 'admin' -> admin_index() and /admin/controller/index
* 'superuser' -> superuser_index() and /superuser/controller/index
*/
Configure::write('Routing.admin', 'admin');
コメントに書いてあるとおりに以下のファイルを削除もしくはリネームします。コメントにある直下の/.htaccessは存在しないですよね。
- /app/.htaccess
- /app/webroot/.htaccess
こうすると、ブラウザから見たときちゃんとCSSが適用された画面になります。
なんでmod_rewriteを使わないかというと、ある日突然mod_rewriteが使えない環境に移ったときに果てしなくだるいからですね。
いつでもそれが使えればそれに越したことはないですが、そういう訳ではない。その度に「ええと、mod_rewriteの設定は・・」とかやってる暇はない、ということです。
