edo1z blog

プログラミングなどに関するブログです

cakePHP2.2.5 ー ダウンロードから開発開始までの準備作業詳細を徹底解説!(Mac × Eclipse × XAMPP)


cakePHPを使うの結構久しぶりで、cakePHPの開発環境を削除してしまっていたことから、一からcakePHPをダウンロードするところから始めます。 ちなみに、私の開発環境は、Mac、Eclipse、PHP5.3です。ローカルのウェブサーバーはXAMPPを使っています。

cakePHPのダウンロード

ダウンロードはここからできます。今はver2.2.5が安定板の最新になっていますね。

cakePHPのインストール

インストールはこのページをみたら出来ますね。とりあえずウェブサーバにダウンロードしてきたcakePHPのフォルダをぶち込むだけで、インストール完了という超お手軽なようです。そういえばそうでした。でも、他にも2パターンインストールの方法があるようです。”運用”と”応用”は後でやってみます。


  • 開発(Development): 簡単にはじめることができますが、アプリケーションのURLには、CakePHPをインストールしたディレクトリ名が入ります。 他の設定と比べるとセキュリティ面はやや弱くなります。
  • 運用(Production): Webサーバのドキュメントルートを設定できる必要がありますが、URLをクリーンにでき、セキュリティを固くできます。
  • 応用(Advanced): 幾つかの設定により、CakePHPの重要な各ディレクトリをファイルシステムの異なる場所に配置することができるので、 多くのCakePHPアプリケーションがひとつのCakePHPコアライブラリのフォルダを共有することなどが可能です。


XAMPPはデフォルトでは、/Applications/XAMPP/xamppfiles/htdocsがルートフォルダになります。このhtdocsフォルダの中に今回は、mapappという名前の、EclipseのPHPプロジェクトを作成しました。そして、このmapappフォルダの中に、先程ダウンロードしたcakePHPのフォルダの中身をコピペしました。

XAMPPを起動して、http://localhost/mapappにアクセスすると、下記のように晴れてcakePHPが正常に稼働していることがわかるのですが、まだ沢山のエラーが表示されていることと思います。パーミッションの問題や、データベースの設定の問題など、問題は山積みなのであります。 これらはを一つ一つ解消し、全てが緑色になりエラーが一つもない状態を早々につくらねば、コーディングにすすみません。頑張りましょう。


cakePHPの設定

/app/tmpフォルダのパーミッション設定

まず/app/tmpフォルダのパーミッション設定をします。このページにもこのように書いてあります。


CakePHP は、幾つかの操作のために app/tmp ディレクトリを使用します。 モデルのdescriptionや、ビューのキャッシュ、セッション情報などです。 従って、Cakeのインストール時の app/tmp ディレクトリと、そのサブディレクトリ全てに、WEBサーバーのユーザによる書き込み権限があることを確認してください。

さて実際に何をどのようにするのかというと、今回のケースでは、/app/tmpフォルダとは、すなわち、/Applications/XAMPP/xamppfiles/htdocs/mapapp/app/tmp/ のことのようですね。みなさんのファイルを配置する場所は、プロジェクト(フォルダ)の名前などによってこれは変わりますね。

このフォルダに対して、ターミナル上で、下記のようにパーミッション設定をします。(昔のブログ投稿でも同じことをしています)

chmod -R 707 /Applications/XAMPP/xamppfiles/htdocs/mapapp/app/tmp/


/app/Config/core.phpを修正する

/app/Config/core.phpの186〜194行目の中にある、下記部分を、自分で適当に変えましょう。


/**
 * A random string used in security hashing methods.
 */
 Configure::write('Security.salt', '英数字。これを独自に変える!');

/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
 Configure::write('Security.cipherSeed', '数字。これを独自に変える!');


さて、ここまでやって改めてhttp://localhost/mapappにアクセスすると、下記のようになります。随分綺麗になりました。まだ下の方にエラーが残っていますが、データベース関連なので、次にデータベースの作成とデータベース関連の設定をしましょう。


データベースの作成と設定

データベースを作成する

http://localhost/phpmyadmin/にアクセスすると、下記のような画面が出てきます。これはphpmyadminといいまして、簡単にGUIベースでデータベースを作成したり、テーブルを作成したりすることが出来ます。ここで”新規データベースを作成する”から、mymapというデータベースを作成することにしましょう。照合順序は、utf8_unicode_ciにしました。


データベースに関するcakePHPの設定

データベースを作成したら、cakePHPが作成したデータベースにアクセスできるように設定します。設定するファイルは、/app/Config/database.php.default です。

このファイルの62〜71行目を下記のように変更しましょう。XAMPPはデフォルトではMySQLのセキュリティが弱くなっていて、rootユーザはパスワードなしで入れます。パスワード設定するのが一番いいかと思いますが、一旦テストですので、パスワードなしで進めます。
(database.php.defaultの.defaultは削除する必要があります。ファイル名をdatabase.phpに変更しましょう。)


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


さあ、これでデータベースの作成・設定も完了しました。改めて、http://localhost/mapappを確認すると下記のようになっているはずです。これで基本的な準備が整いました。


基本準備完了!

これで初期設定の基本は完了です!
cakePHPのcookbookなどを参考に開発していきましょう!