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の画面
このページの中で赤々と目立っている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
価格¥109
順位1,170,008位
著滝下 真玄
発行秀和システム
発売日2010/09/27
- 投稿タグ
- CakePHP
コメント