WEBフレームワークの1つであるCakePHPをインストールして使えるようにする。

環境は過去に書いたLinux(CentOS)、Apache、PostgreSQL、 PHPの環境で行うとする。

参考過去リンク先
1、CentOS 初期設定
2、LAPPの構築 
3、PuTTYのインストール 
4、WinSCPのインストール 


CakePHPをダウンロードする

CakePHP


ダウンロードしてきたらcakephp-2.2.2-0-gf155687をリネームCakephpとかにする。

WinSCPでサーバーマシンへアクセスしWEB公開ディレクトリに配置する。

 PuTTYにてアクセスし以下のことを行う。

●Cakephpのdatabase.php設定
[root@localhost ~]# cp /var/www/html/cakephp/app/config/database.php.default /var/www/html/cakephp/app/config/database.php ←コピーする
[root@localhost ~]# vim /var/www/html/cakephp/app/config/database.php ←DBの設定を行う

public $default = array(
'datasource' => 'Database/Postgres', ←PostgresSQLを使う
'persistent' => false, ←持続的接続使用をしない
'host' => 'localhost', ←ローカルにあるDB
'login' => 'postgres', ←ログイン名
'password' => 'postgres', ←パスワード
'database' => 'test', ←データベース名
'prefix' => '', ←DBに付く接頭語
//'encoding' => 'utf8', ←エンコード設定
);

※DBはpostgresサーバーに作ったものになる


●Cakephpのcore.php設定
[root@localhost ~]# vim /var/www/html/cakephp/app/config/core.php ←cakephpの暗号キーの設定を行う

/**
 * A random string used in security hashing methods.
 */
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi○○○○');

/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
Configure::write('Security.cipherSeed', '76859309657453542496749683645○○○○');

※○○○○の部分に適当な文字列を付ける、ちなみに何文字でも良い。 


●Cakephpのテンポラリフォルダのアクセス設定
[root@localhost ~]# chmod -R 777 /var/www/html/cakephp/app/tmp ←ここを再帰的にフルアクセスする

でブラウザでアクセスしてみると以下のようになる。

cakephp_01
このように表示されていれば成功です。

が、どこかで設定ミスをしていればこんな風なエラーがでます。


1.database.phpの設定に間違いがある場合
cakephp_02
このエラーはhogeというデータベースはありませんと言っている。
設定の確認を行う、それでもダメな場合はphp-pgsqlとかphp_pdoとかが入ってるかを確認してみよう。


2.Core.phpの設定に間違いがある
cakephp_03
これは暗号化の文字列設定がされてないと出てきます。
これも上記の設定を確認してみましょう。


3.tmpディレクトリに書込み権限がない
cakephp_04
cakephp/app/tmpのtmpディレクトリにフルアクセス権限を付けると解決されます。
上でも書きましたがtmpのアクセス権限の箇所を確認して付け直しましょう。


4.TimeZone~的なメッセージが表示された
cakephp_05
php.iniにてタイムゾーンの設定がされていないと表示されるエラーです。

[root@localhost ~]# vim /etc/php.ini
date.time = Asia/Tokyo ←ここをこのように設定してあげればOKです
[root@localhost ~]# /etc/init.d/httpd restart ←httpdの再起動

以上、自分が動かす上で発生した問題と解決方法を記述する。


後はこの辺とか参考にさせてもらったので読んでみるといいかもです。
「8時間耐久CakePHP2勉強会@福岡」に参加してきました。

自分も参加してみたかったな(^^;