アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

CakePHP2 手っ取り早く入門するための開発環境構築&Cake初期設定



どうも、筋肉痛の高橋です。

先日、江ノ島に行ってみたところ、猫とフナムシがたくさんで驚きました!特に洞窟の入り口付近がすごくて、透明フナムシの大群が・・・生シラス丼はめっちゃおいしかったです!

さて、今回のネタは私の好物であるCakePHPです。

Cakeについては色々と紹介したい機能がありますが、その前に下準備から書きます。
"これから" という初心者が困らないように、最短でCakeを動作させる手順をまとめました。
ただし、筆者の都合でややMac向けです。



ローカルに開発環境を準備する



はじめに書いておきますが、特別な知識は必要ありません。

CakePHPを動かすには、Webサーバ(Apacheなど)やDBサーバ(MySQLなど)を準備する必要がありました、が、

いまやクリックだけですぐに環境が出来るパッケージがあります。もちろん無料です。(良い時代になったものだぁ〜と言うやつですね

MAMPをインストールする(WindowsならXAMMPなど)



手順はこちらの記事で
「MAMPでMacにWordPressローカル環境インストールするの簡単すぎ、5分でできた」

自分が書くべき事がスクショ付きで詳しく書かれてます。分かりやすい
今回ワードプレスは関係ないので、データベースの作成まで進めてください。

「新規データベースを作成」の際、データベース名は「cake」にしておいてください。あとで使います。

次はPHPの動作テストをやってみましょう。


<?php phpinfo();


「/Macintosh HD/アプリケーション/MAMP/htdocs/info.php」に保存します。
あとは「http://localhost/info.php」にアクセスするだけ


・・・どうですか?PHPの設定情報がずらーーーっと表示されたでしょうか?
あなたが初めてPHP触ったという方ならば、これはとても大きな一歩です。
※ もし、なんらかのエラーが出た場合は報告をお願いします。

さて次はいよいよCakeのインストール、引かぬ媚びぬ省みぬで挑みましょう!


CakePHPのダウンロード



CakePHPはバージョン管理されています。GitHubというサイトにあるので、最新版をダウンロードしましょう。
https://github.com/cakephp/cakephp/


ダウンロードした圧縮ファイルを「htdocs/」以下に解凍しましょう。
ついでにゴチャゴチャしたフォルダ名なので「htdocs/cake/」に名前を変更しておきましょう。

これで「http://localhost/cake/」にアクセスしてみてください。



きたーー!インストール完了!やたらエラー出てますが、完了は完了です!

※ もし、なんらかの問題が出た場合は報告をお願いします。


CakePHPの初期設定



ここからはCakeユーザなら誰もが一度はやるであろう設定のまとめです。

「'Security.salt'」と「'Security.cipherSeed'」を変更する



「Notice (1024): Please change the value of 'Security.salt' in app/Config/core.php to a salt value specific to your application [CORE/Cake/Utility/Debugger.php, line 821]」
「Notice (1024): Please change the value of 'Security.cipherSeed' in app/Config/core.php to a numeric (digits only) seed value specific to your application [CORE/Cake/Utility/Debugger.php, line 825]」



「'Security.salt'」「'Security.cipherSeed'」は「app/Config/core.php」の187行目と192行目です。



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

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


「'Security.salt'」は半角英数字、「'Security.cipherSeed'」には半角数字を入れてください。
上記のように値は適当で構いませんが、セキュリティ上、記事と同じ文字列はオススメしません。

ちなみに「'Security.salt'」はハッシュの生成、「'Security.cipherSeed'」は暗号化・復号化に用いられます。


「app/tmp」ディレクトリを書き込み可能にする



「 Your tmp directory is NOT writable.」



手っ取り早くchmodコマンドで権限を変更します。
コンソールを起動して


$ cd /Applications/MAMP/htdocs/cake/
$ chmod -R 777 app/tmp


もし余裕があれば、ディレクトリの所有者をWebサーバに変更する方法も試してみてください。


<?php echo `whoami`;

上記でわかったユーザ名を


$ chown -R ユーザ名 app/tmp

これでOK



データベースの設定



「Your database configuration file is NOT present.
Rename APP/Config/database.php.default to APP/Config/database.php



エラーで言われてる通り「database.php.default」を「database.php」に名前を変更する。

すると新たなエラーが2つ発生(Warningは私の環境だけかもしれませんが

「Warning (2): PDO::__construct() http://php.net/pdo.--construct: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) [CORE/Cake/Model/Datasource/Database/Mysql.php, line 149]」
「Cake is NOT able to connect to the database.
Database connection "SQLSTATE[HY000] [2002] No such file or directory" is missing, or could not be created.」



「app/Config/database.php」を開いて設定を行う



class DATABASE_CONFIG {

	public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => '127.0.0.1',
		'login' => 'root',
		'password' => '',
		'database' => 'cake',
		'prefix' => '',
		'encoding' => 'utf8',
	);

	public $test = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'test_database_name',
		'prefix' => '',
		//'encoding' => 'utf8',
	);
}




以上ですべてグリーンラベルになりました。Cakeの開発環境が完成、やったね。

一つだけ注意点ですが、これはあくまでローカルPCで勉強用に使う簡易的な環境です。
本番の場合は、MySQLの設定などセキュリティ面を考慮した設定でご利用ください。

また今回の記事の目的はCakeを動かす環境ですので、関係のない内容は極力避けてました。
私がCake関連の記事を書く場合は、ここまでの設定が出来たものとして書きます。

うまくいかないなど気になる事がありましたら、コメントにてよろしくお願いします。