2011年9月26日月曜日

CakePHPの事始 1

ちょっとCakePHPというPHPのフレームワークを試してみる

参考にしたサイト:
http://gihyo.jp/dev/serial/01/cakephp/0004




公式WEBサイト:http://cakephp.org/

パッケージの展開と設置

パッケージを展開すると,以下のディレクトリとファイルが現れます。
app/
cake/
docs/
vendors/
index.php




http://yourdomain.example.com/(このドメインは実在しません)
だったとして,このURLで公開されているディレクトリ(DocumentRoot)が

/home/aaa/public_html/
だったとします。

このディレクトリにCakePHP用のディレクトリを作成します。ディレクトリ名は任意でかまいません。ここでは「cake」とします。

cakeディレクトリを作成したら,展開したディレクトリとファイルをこのディレクトリ内に置きましょう。

/home/aaa/public_html/cake/
  app/
  cake/
  docs/
  vendors/
  index.php




パーミッションの設定

CakePHPは動作時にModelのキャッシュやViewのキャッシュなどの一時ファイルを作成します。そのためWebサーバが一時ファイルを書き込みできるように,書き込み先ディレクトリのパーミッションを適切に設定しておく必要があります。

sshなどでシェルが利用可能な場合は,app/tmp以下を「chmod -R 707」とするなどして,再帰的に丸ごと設定してもよいでしょう。シェルが利用できずFTPのみの場合は以下赤字部分の6つのディレクトリに書き込み権限を与えます。

/home/aaa/public_html/cake/
  app/
    tmp/
      cache/
        models/
        persistent/
        views/
      sessions/
      logs/
      tests/



データベースへの接続設定

今回の環境構築の仕上げとして,データベースへの接続情報を設定します。

app/config/database.php.defaultをコピーまたはリネームして,app/config/database.php を作成します。 database.phpではDATABASE_CONFIGクラスが定義されており,データベースへの接続情報をメンバ変数として定義しています。デフォルトの記述を参考にして,適切な情報に書き換えます。

<?php
// app/config/database.php を書き換えた例
class DATABASE_CONFIG {
   var $default = array(
     'driver'   => 'mysql',
     'connect'  => 'mysql_connect',
     'host'     => 'localhost',
     'login'    => 'gihyo',
     'password' => 'gihyopass',
     'encoding' => 'utf8',
     'database' => 'gihyo_cake',
     'prefix'   => '',
   );
}
デフォルトの記述では,DATABASE_CONFIG::$default変数と DATABASE_CONFIG::$test 変数があります。$default変数は動作時に接続先を指定しない場合に自動で選ばれる接続先を書きます。テストに使用するデータベースがある場合や,モデルによって接続先を変更したい場合は任意の変数名でここに接続先を列挙しておくことになります。

適切な情報に書き換えたら,再度,http://gihyo.example.com/cake/にアクセスします。


ブラウザで(インストールフォルダ)にアクセスしたとき、下記のメッセージが表示される。
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 522]


これは、「ハッシュを生成するときのセキュリティ文字列がデフォルトのままでは危険だから変更しなさい」というメッセージ。

メッセージに従い、"app/config/core.php"の中に"Security.salt"という文字列を探し、その後に続く長い文字列を適当な文字列に変更してファイルを更新する。

0 件のコメント:

コメントを投稿