もっぱらWordPressに頼っちゃっててCakePHPに全然手を付けないのをなんとかしないといけませんね。

まず、環境を整える。

Mac OS X 10.7.2 / Mamp / Eclipse

Apachのlocalhostはworkspace

「すべきこと」
①sakuraサーバーの開発環境
②Macのローカル開発環境

①sakuraサーバーの開発環境

(1) CakePHPサイトからインストール

(2) さくらインターネットへコピー

・/home/UserName/cake/ に解凍したファイルをコピーする。

(3) CakePHPの設定方針

・複数のアプリを同じcakeライブラリで使い回せるよう、cakeディレクトリを/home/UserName 配下に置く。

  • セキュリティ的な観点から、appディレクトリはDocumentRoot(さくらの標準では、/home/UserName/www)からは見えないところに置く。DocumentRootに配置するのは、webrootディレクトリのみ。
  • CakePHPで複数のアプリを作成するので、appディレクトリはアプリごとにコピーして配置。
  • 同様に、webrootディレクトリもアプリごとにコピーして配置。各アプリへのアクセスは、 http://www.○○○.com/app1/ みたいな感じでアクセス。

(4) アプリ用ディレクトリ配置
・/home/UserName/apps/ を作成する。
・/home/UserName/apps/app1/
・解凍したファイルのcake_1.2.3.8166/appディレクトリを上記app1としてコピーする。

(5) webrootディレクトリをDocumentRootに配置
・/home/UserName/www/app1/
・解凍したファイルのcake_1.2.3.8166/app/webrootディレクトリを上記app1としてコピーする。
・/home/UserName/apps/app1/のwebrootは、削除してかまわないでしょう。

(6) webroot(app1)のindex.phpを修正(DSとは、”/”と同じ。この記述を推奨)

define(‘ROOT’,  DS. ‘home’. DS. ‘UserName’. DS. ‘apps’);
define(‘APP_DIR’,  ‘app1’);
define(‘CAKE_CORE_INCLUDE_PATH’,  DS. ‘home’. DS. ‘UserName’. DS. ‘cake’);

(7) modrewriteの修正
・/home/UserName/www/app1/.htaccess に、「RewriteBase   /app1」を追加

(8) データベースの設定
・/home/UserName/apps/app1/config の「database.php.default」を「database.php」にして、下記の修正をする。
・prefixをつけているのは、複数のアプリを作る場合に分かりやすい。

class DATABASE_CONFIG
{
var $default = array( 'driver'   => 'mysql',
'host'     => 'mysqlXX.db.sakura.ne.jp',
'login'    => 'UserName',
'password' => 'password',
'database' => 'UserName',
'prefix'   => 'app1_');
・・・
}

(9) 確認
http://www.○○○.com/app1/ にアクセスして、下記のようになればOK
cp20090717

単一ドメインでのみ対応させる場合

ファイルのアップロード
/home/Username

ここに以下のような構成でファイルをアップします。
/home/Username/app(appディレクトリを丸ごと)
/home/Username/cake/cake(cakeディレクトリを丸ごと。/cake/cake/に注意!)
/home/Username/www(app/webrootの中身をアップ)

諸々の設定
・DBの接続先
/home/Username/app/config/database.php
公開用に設定変更

・公開サイトURL設定
/home/Username/app/config/bootstrap.php
define("appURL","http://○○○.com/");

ここにappURLという定数を設定してアプリ全体で使用しています(ローカルのときは http://localhost/)。
・デバッグ設定
/home/Username/app/config/core.php
Configure::write('debug', 0);

不要なデバッグ情報を出さないようにします。
・/app/webroot/index.php
ここを公式サイトの設定にならって変更します。
if (!defined('ROOT'))
{
define('ROOT', dirname(dirname(dirname(__FILE__))));
}

if (!defined('APP_DIR'))
{
define ('APP_DIR', basename(dirname(dirname(__FILE__))));
}

if (!defined('CAKE_CORE_INCLUDE_PATH'))
{
define('CAKE_CORE_INCLUDE_PATH', ROOT);
}

以上で設定完了です(なんと「.htaccess」の設定はいりません!)。
URLにアクセスすれば表示される(はず)です。

今回はこっちを選択。

参考記事

http://mori.moripower.jp/eqwip……p/370.html

http://www.cafechantant.com/bl……-cakephp/

http://umakoya.com/blog/log/eid531.html

アップロードには20分くらいかかりました。気長にやってください。