CakePHPの最新バージョンのVer.2をローカル環境にインストールしたところ「Apacheのモジュールmod_rewriteが動いていないぞ!(`へ´)」と怒られました。原因をいろいろ探りましたが、暫定的な方法ですが解消できたので下記に明記しておきます。

 今回インストールしたのはCakePHP 2.0.6です。環境はごく普通のLAMP(CentOS+Apache 2.2.15+MySQL 5.5.15+PHP 5.3.6)。CakePHPのインストールはダウンロードしてきたCakePHPを解凍し、出てきたフォルダの中の下記ファイルとフォルダをドキュメントルートにアップロードしました。

/html(DocumentRoot)
+ /app
+ /lib
+ /plugins
+ /vendors
+ .htaccess
+ index.php

 アップロード後、/html/app/tmp/とその下のディレクトリのパーミションを書き換え許可に変更。次に/html/app/Config/core.phpの「Security.salt」と「Security.cipherSeed」の文字列を変更し、同じディレクトリにあるdatabase.php.defaultファイルをdatabase.phpに改名してデータベースの設定を実行。ここまでやってブラウザで確認してみると下記のような画面が表示されました。

基本的な設定が完了したCakePHPの画面

基本的な設定が完了したCakePHPの画面

 このページの中で赤々と目立っている1行は下記の通りです。

URL rewriting is not properly configured on your server. 1) Help me configure it 2) I don’t / can’t use URL rewriting

 意味はGoogle先生に訳してもらうと

URLの書き換えが正しく、サーバー上で設定されていません。
1)私はそれを構成するヘルプ
2)私は/ URL書き換えを使用することはできませんはありません

 要するに「Apacheのmod_rewriteが正しく動いていないから何とかしろ!」と言うことです。けど、この環境はCakePHP 2を入れる前まで別の古いCakePHPが動いていました。つまり、mod_rewriteは正常に動いています。

 何で?と思い再度、Google先生に聞いてみると、どうもCSSのcake.generic.cssファイルが正しく読めないとこの画面が表示されるようです。表示されたページを見ても確かにCSSが正常に動いていないような気がします。

 さて、どうしたものかといろいろ調べてみましたが、残念ながら根本的な対策が見つかりませんでした。但し、webrootをDocumentRootに配置した下記方法だったら、正常に動作しました。

/www
+ /html(DocumentRoot)
|  + /css
|  + /files
|  + /img
|  + /js
|  + .htaccess
|  + favicon.ico
|  + index.php
|  + test.php
|
+ / cakephp
   + /app
   + /lib
   + /plugins
   + /vendors
   + .htaccess
   +index.php

 上記のように配置したらhtml内のindex.phpで定数部分を下記のように変更します。

if (!defined('ROOT')) {
//	define('ROOT', dirname(dirname(dirname(__FILE__))));
	define('ROOT', dirname(dirname(__FILE__)).DS.'cakephp');
}
if (!defined('APP_DIR')) {
//	define('APP_DIR', basename(dirname(dirname(__FILE__))));
	define('APP_DIR', "app");	
}

 なぜ、エラーが出たのか、根本的な対策はどうすれば良いのかなどはわかりましたらまたお知らせします。何でだろうな~(ー’`ー;)う~ん・・・・

追記(2012/02/09 10:46)
 原因がわかりました。今回、CakePHPをアップロードする前にApacheの設定でルートディレクトリを変更していました。このときhttpd.confのDocumentRootは変更したのですが、「<Directory “/var/www/html”>」のパスを変更するのを忘れていました。それに気がつき、早々に対処したところ無事起動。単なる自分のおっちょこちょいでした。お騒がせしてすみませんでしたm(__)m

Pocket詳解 CakePHP辞典

著者/訳者:滝下 真玄

出版社:秀和システム( 2010-09-27 )

定価:¥ 2,808

単行本 ( 672 ページ )

ISBN-10 : 4798027456

ISBN-13 : 9784798027456