コネタをまとめるために、エンジニアブログ作ってみました。
今、自営サイトのリニューアルをやっています。
現サイトはなんと、15年くらい前に作った、perlとテキストベースのCMS。
サーバはずっとサイトサーブなので、今回、サイトサーブ2に移行予定です。
新規顧客獲得のため、ショッピングフィード機能に期待。
今回せっかくなので、cakePHP+DB 環境に移行しようかな~なんて、
甘く考えてたら、cakePHPの設定に丸3日かかりました・・・orz
以下、悩んだ末の覚え書き。
■サイトサーブ2は一応、cakePHPに対応しています。とのこと。
http://faq.estore.co.jp/siteserve2/faq.php?f=740&c=217
※その根拠は、mod_rewriteモジュールがあり、.htaccess のAllowOverride Allもおk。
あ、今回入れたのは1.3です。2以降はまだ翻訳が終わってないらしいのでスルー。
あまりに悩んだのでアマゾンで本まで買ってしまった。2冊で5000円もしたじゃないか。
■サイトサーブ2は、phpファイルを全て 755 にしなければならない。(755以外ダメ)
何この仕様・・。perl時代よく見た「Internal Server Error」が出たらほぼこれ。
※/app/tmp以下は777にすること。
■.htaccessには全部、RewriteBase を入れないとダメ。これ悩みました。
↓このページの一番下のパターン。英語がきちんと読めてたらこんなに悩まなかったかもだ。
http://book.cakephp.org/1.3/view/917/Apache-and-mod_rewrite-and-htaccess
以下、各階層の .htaccess ファイルをコピペしときます。
インストールディレクトリは、/cake/ にしました。
お店がリアルケーキ屋なんでURLちょうどよかったんでww
●/cake/以下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake
RewriteRule ^$ app/webroot [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
●/cake/app/以下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake/app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
●/cake/app/webroot/以下の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cake/app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
■あと、DBのホスト名とかサイトサーブのFAQ見ても全く情報ないので、
phpMyAdminの中見て確認すべし。db.ドメイン名 になるみたい。
/app/config/database.php.default を書き換えて、/app/config/database.php に変更。
これで動いた。やれやれ。
体操の内村君の表彰式見て寝る。
脇毛がちょっと気になるわよね。。