さくらインターネットのレンタルサーバ上でCakePHPを使って、アプリケーションを作ってみようと思い、インストールと環境設定するところまでをやってみた。
以下の手順は、さくらで CakePHP | cafe chantant blog を参考にしながら、自分の環境に合わせて、やってみた。
CakePHPのダウンロードとインストール
2009/05/19時点でのCakePHPの最新版は、1.2.3.8166である。wgetコマンドを使ってダウンロードしようとしたが、ドネーションの確認のせいか、うまくダウンロードできなかった。したがって、ブラウザからダウンロードして、ftpでサーバ上へアップロードするようにした。
- ブラウザでhttp://cakeforge.org/frs/download.php/717/cake_1.2.3.8166.tar.gz/donation=completeにアクセスし、ファイルをダウンロードする。
- ダウンロードしたファイルをバイナリ形式で$HOME/srcディレクトリ配下にアップロードする。
ファイルの展開
cd $HOME/src tar zxvf cake_1.2.3.8166.tar.gz cd cake_1.2.3.8166
CakePHPライブラリをコピーする
cp -r cake/ $HOME/cake/
アプリケーション用のディレクトリを作成し、そこへappディレクトリをコピーする
mkdir $HOME/php_apps cp -r app $HOME/php_apps/app1
wwwディレクトリにwebrootディレクトリを移動する
mv $HOME/php_apps/app1/webroot $HOME/www/app1
$HOME/www/app1/index.phpの編集
define('ROOT', DS.'home'.DS.'username'.DS.'php_apps'); /*44行目*/ define('APP_DIR', 'app1');/*52行目*/ define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'username'); /*60行目*/
ブラウザでページを確認してみる
http://xxx.sakura.ne.jp/app1/にアクセスすると以下のような画面が表示される。
Please change the value of 'Security.salt'〜という警告メッセージへの対処
上記ページにアクセスすると、以下のようなメッセージが表示される。
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"の中に"Security.salt"という文字列を探し、その後に続く長い文字列を適当な文字列に変更してファイルを更新する。
[cakePHP1.2] インストール直後にやるべきこと: PHPを使ったWebサイト構築 備忘録
データベースの設定
データベースの設定をする前は、以下のようなメッセージが表示される。
Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
- $HOME/php_apps/app1/config/database.php.defaultをリネームし、database.phpというファイル名にする。
- 上記のファイルを以下のように編集する。
var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'mysqlxx.db.sakura.ne.jp', 'login' => 'username', 'password' => 'password', 'database' => 'username', 'prefix' => '', );
database.phpファイルの設定が完了すると、メッセージが以下のようになる。
Your database configuration file is present.
Cake is able to connect to the database.