MacにCakePHPの環境を構築する方法まとめ

前回は、「CakePHPとはなんぞや?」を解説しました。PHPでWebシステムを作るにはフレームワークを使うのが便利ということを学びました。代表的なPHPのフレームワークの一つがCakePHPです。今回は、そのCakePHPの開発環境をMacに導入する方法を丁寧に解説します。

MacにCakePHPの環境を構築する方法まとめ

ローカル環境(Mac OS X + MAMP + MySQL)にCakePHPを導入

私のローカル環境(Mac + MAMP + MySQL)の備忘録です。
MAMPが導入されていることが前提で進めます。

今回のゴール

  • プロジェクト名testを作成
  • ブラウザでtest.comと設定するとCakePHPのトップページにアクセスできること

CakePHPをダウンロード

CakePHPのサイトから最新版(2014年10月10日現在 2.5.5安定版)をダウンロードします。ファイルがZipなので、MAMPのhtdocs(/Applications/MAMP/htdocs)直下に解凍して下さい。今回は、プロジェクト名をtestとするため、testにリネームします。

バーチャルホストとmod_rewriteモジュールの設定

本番環境を想定して、XXX.comなどのアドレスでアクセスできるようバーチャルホストの設定をしていきます。また、そのついでにmod_rewriteというURL書き換えのモジュールを有効にします。CakePHPを使用する上でmod_rwriteを有効にしないと、アクセスするときのURLが長くなってしまいます。

Apacheの設定ファイルである’httpd.conf’の編集

MAMPの仮想環境のApacheを使用するため、設定ファイルの場所は/Applications/MAMP/conf/apach/httd.confとなります。このファイルを編集していきます。
まず、バーチャルホストを有効にするため、

つづいて、mod_rewriteを有効にします。

これにて、’httpd.conf’の設定は以上です。

バーチャルホストの設定ファイルであるhttpd-vhosts.confの編集

バーチャルホストの設定ファイルの場所は/Applications/MAMP/conf/apach/extra/httd-vhosts.confとなります。このファイルに、使用したいバーチャルホストの設定を追記していきます。
具体的には、「test.comというURLでアクセスすると、/Applications/MAMP/htdocs/testにアクセスする」というルールを書いていきます。以下のコードを追加して下さい。

これにて、バーチャルホストの設定が終わったと思ったら大間違えで、以外な落とし穴がありました。

MacのApacheの設定

MAMPでの設定は以上で終わりなのですが、最後にMac自体の設定を行う必要がありました。いまの設定のまま、test.comにアクセスするとローカルホストを超えて、外部にアクセスを始めてしまいます。
それを止めるために、MAMPが起動していたらローカルのVirtualHostの設定を見てくれとお願いする設定を行う必要があります。
この設定は、/etc/hostsというファイルで行います。隠しファイルなので、vimとかでアクセスすると良いです。

以上のような設定となっていると思いますが、
そこに、

を追加します。以上で、バーチャルホストの設定が終了です。
まとめると、ブラウザでhttp://test.com/にアクセスすると、/Applications/MAMP/htdocs/test/にアクセスされるように設定しました。

実際にCakePHPにアクセス

設定したファイルを有効にするため、MAMPを再起動して下さい。再起動に成功しましたら、バーチャルホストで設定したhttp://test.com/にアクセスしてみましょう。

MacにCakePHPの環境を構築する方法まとめ2

設定が正しければ、こんな画面が出ると思います。ここからは、ここに表示されているエラーを解決していきます。

セキュリティと暗号化のための文字列の変更

上記2つは、セキュリティと暗号化のための文字列となります。この2つをデフォルトのままにしておくと、危険なので変更します。場所なのですが、ここからはtestフォルダをルートフォルダとして書いていきます。
つまり、/と書いたら/Applications/MAMP/htdocs/test/と読み替えて下さい。
上記2つの設定ファイルは、/app/Config/core.phpにあります。

MacにCakePHPの環境を構築する方法まとめ2

このファイルを編集していきます。

MacにCakePHPの環境を構築する方法まとめ3

「Security.salt」はハッシュの生成に用いられるもので、ランダムで長いほど推測が困難になるようです。
「Security.cipherSeed」は暗号化・復号化のための文字列で、おおきくでランダムな整数がいいとのこと。
この2つを新しくして更新すると、以下のように赤く出てたエラーが消えます。

MacにCakePHPの環境を構築する方法まとめ4

DATABASEの設定

続いてデータベースの設定を行います。今回はMySQL環境を整えていきます。MySQLでのデータベース作成は、とりあえず割愛させていただきます。時間が合った時に、追記するかもしれません。

ここからは、MySQLにてtest_userというユーザがtest_passというパスワードでアクセスでき、test_databaseというデータベースを作成している前提でお話していきます。

データベースにアクセスするための設定を、CakePHPのデータベース設定ファイルに書いていきます。
設定のデフォルトファイルが、/app/Config/database.php.defaultにあるので、これをコピーしてdatabase.phpファイルを作り、以下のように編集していきます。

遂に最後、デバッガの設定

これは任意なのですが、CakePHPにはデバッガを導入することができます。今まで、入れてなかったのですが入れるとすごく便利で、定義した定数とか発行したSQLなどを見ることが可能になります。導入方法はちょっと手間のかかるものですが、頑張りましょう。

デバッガのインストール

ソースはGitHubにあるので、クローンするかZipファイルでダウンロードするかします。場所は、/app/Plugin/で、ここにダウンロードして展開します。
CakePHPは規約が重要で、今回はこのツールのフォルダ名を”DebugKit”にすることがポイントです。最終的に以下のような感じに設置できればOKです。

MacにCakePHPの環境を構築する方法まとめ5

デバッガプラグインのインクルード

次に、設置したプラグインを読み込むための設定を行います。CakePHPでのロードの記述は、/app/Config/bootstarpに書かれていて、ここに以下の1行を追加します。場所は、63~71行目に説明があるのでその下がよいかと。

他のプラグインもロードしたい場合は、

を追加します。これで、ロードは完了です。

全画面でデバッガのツールバーを使用するため、AppControllerでインクルード

MVCモデルをまだ説明していないのですが、データとブラウザの架け橋の役割をになっているのが、Controllerです。このControllerの上位クラスがAppControllerで作成するコントローラーは全て、AppControllerのサブクラスになります。

このAppControllerでデバッガのツールバーをインクルードすることで、フレームワーク全体でデバッガを使用できるようになります。さて、インクルードする方法ですががAppControllerの中で以下の1行を追加するだけです。AppControllerは、/app/Controller/AppController.phpにあります。

こうすることで、以下の写真の右端のように、CakePHPのロゴみたいのが出てくるようになります。

MacにCakePHPの環境を構築する方法まとめ6

このボタンを押すと、

MacにCakePHPの環境を構築する方法まとめ6

こんな感じで情報が出てきてくれるようになります。

本番環境にアップロードする際大事なこと

デバッガは本番環境にアップロードする際は消す必要があります。これは、デバッグをどこまでするかデバックモードの変更すると消えます。
具体的には、セキュリティソルトを設定するときに編集したcore.phpにて変更できます。場所は復習ですが、/app/Config/core.phpです。

以上のコードのように、0にすることでエラーメッセージなど全く表示されないモードに変更できます。本番環境にアップロードする際には、かならず設定しましょう。

さいごに

長かったですが、以上で基本的な導入は終了です。次回、CakePHPの全体の構成の説明をしていきたいと思います。

CakePHPのおすすめ参考書籍


もしよければ応援クリックお願いします
↓↓↓↓↓
にほんブログ村 IT技術ブログ IT技術メモへ