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関連の記事を書く場合は、ここまでの設定が出来たものとして書きます。
うまくいかないなど気になる事がありましたら、コメントにてよろしくお願いします。