
ダウンロード
CakePHPダウロードページからCakePHPをダウンロードします。
トップページの右側に「Download」ボタンがあるのでクリックしてファイルをダウンロードします。ダウンロードしたファイルは「cakephp-2.5.8.zip」というような圧縮ファイルになっていますので、ダウンロード後に解凍してデスクトップに保存しておいてください。
CakePHPは Ver1 Ver2 Ver3 で表記方法(関数など)が違う箇所がありますので、どのバージョンを使うかは良く考えた方が良いです。
最新のバージョンを使うのが望ましいですが、新しいバージョンが出たばかりだとウェブ上の情報が少ないので、初めて学ぶ場合はひとつ前のバージョンの方が学びやすいかもしれません。
前のバージョンでひととおり使えるようになってから、新しいバージョンとの違いを埋めていくという学び方も検討すると良いでしょう。
今回は CakePHP 2.5.8 安定版でのインストール方法を記載します。
※前のバージョンはCakePHPホームページの「Download」ボタンの下の「以前のバージョン」リンクからダウンロードすることができます。
ディレクトリ構成
まず、CakePHPをMAMP環境で動かす時のディレクトリ構成を把握しましょう。フレームワークは公開ディレクトリに index.php だけを置いておき、コアのファイルやアプリケーションファイルは公開ディレクトリ以外に置いておく構成になります。
公開ディレクトリ
/Applications/MAMP/htdocs/sample
公開ディレクトリであるhtdocsの中にディレクトリを作成します。
今回は sample という名前で作ります。
別のサイトを立ち上げたい場合は、ここにディレクトリを増やす形になります。
/Applications/MAMP/htdocs/sample ・・・ひとつめのサイト
/Applications/MAMP/htdocs/sample2 ・・・ふたつめのサイト
アプリケーションディレクトリ
Cakeのアプリケーションを保存するディレクトリ
/Applications/MAMP/me
/Applications/MAMP/me/sample ・・・ひとつめのサイト
/Applications/MAMP/me/sample2 ・・・ふたつめのサイト
コアディレクトリ
Cakeのコアファイルを保存するディレクトリ
/Applications/MAMP/lib/Cake
このディレクトリにはCakePHPのコアファイルを
設定の基本は公開ディレクトリの index.php ファイルに
・アプリケーションディレクトリ
・CakePHPのコアディレクトリ
の2つを指定する形になります。
CakePHPのコアディレクトリは複数のサイトで共通に利用するようになります。
インストール作業
コアファイルの設置
アプリケーションファイルの設置
公開ファイルの設置
CakePHPファイルの設定
今回のインストール方法は公開ディレクトリには最小限のファイルだけ設置して、コアファイルとアプリケーションファイルは公開フォルダ以外に置くといういうものでした。
公開ファイルの index.php にコアファイルとアプリケーションの保存先を記載する必要があります。
38行目と46行目に以下のようなソースが記載されています。
if (!defined('ROOT')) { define('ROOT', dirname(dirname(dirname(__FILE__)))); } if (!defined('APP_DIR')) { define('APP_DIR', basename(dirname(dirname(__FILE__)))); }
defined(‘ROOT’) はアプリケーションディレクトリなので、「/Applications/MAMP/me」を指定し、 defined(‘APP_DIR’)は自作のアプリケーション置き場なので、「sample」を指定します。
自作のアプリケーションは「/Applications/MAMP/me」の中に置くよ!
今回作るアプリケーションは「Sample」だよ!
と index.php に教えています。
さて、実際にソースを書き換えてみましょう。
書き換える前に CakePHP のお作法があるので学びましょう。
index.php の24行目に
if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); }
という記載があります。
これは通常パスを記載するときに「/(スラッシュ)」を使っているものを「DS」という文字に変更するという意味になります。
この表記方法で上記のソースを以下のように書き換えます。
if (!defined('ROOT')) { define('ROOT', DS.'Applications'.DS.'MAMP'.DS.'me'); } if (!defined('APP_DIR')) { define('APP_DIR', 'sample'); }
これでアプリケーションディレクトリ関係の設定は終わりました。
残るはCakeのコアファイルです。
コアファイルは /Aplications/MAMP/lib に設置したので、このパスを指定します。
上記ソースの下にこのソースを付け加えてください。
if (!defined('CAKE_CORE_INCLUDE_PATH')) { define('CAKE_CORE_INCLUDE_PATH',DS.'Applications'.DS.'MAMP'.DS.'lib'); }
※ここで設定はlibまでを指定します。「Cake」まで指定するとエラーになってしまいますので注意しましょう。
↓これはダメです。
define(‘CAKE_CORE_INCLUDE_PATH’,DS.’Applications’.DS.’MAMP’.DS.’lib’.DS.’Cake’)
サイトへアクセス
ここまでの作業が終わったら、http://localhost/sample にアクセスしてみましょう。
このような画面が表示されればここまでのファイルの設置と設定はうまくいっています。真っ白い画面の場合は今までのどこかが間違っている可能性が高いですので、もう一度確認しましょう。
設定項目の中で緑色になっているものがOKで、赤や黄色はこれから設定が必要になります。
上の2つ(赤)はセキュリティキーの変更をしてくだいという意味です。
アプリケーションファイルの中の Config ディレクトリの中のcore.phpのSecurity.saltを変更してくださいと書いてあります。
こちらも同じくSecurity.cipherSeedを変更してくださいと書いてあります。
/Applications/MAMP/me/sample/Config/core.php をテキストエディタなどで開き、文字を変更してください。
「Security.salt」は半角英数字
「Security.cipherSeed」は数字
の指定になります。
変更後にファイルを保存し、http://localhost/sample にアクセスすると上部の赤い2つのメッセージが消えます。
Rename APP/Config/database.php.default to APP/Config/database.php
の黄色いメッセージはデータベースの設定が行われていませんという意味です。これからMySQLにデータベースを作成し、その情報をCakePHPに指定していきます。
データベース作成の準備(PHPMyAdmin)
PHPMyAdmin
データベースの設定
MAMPにはウェブブラウザ上からMySQLを操作できる便利なソフト「PHPMyAdmin」がインストールされており、MAMPのコン
トロールパネルからリンクを開くとすぐに使うことができるようになっています。
なんで MySQL を使うのにソフト名が MySQLMyAdmin ではなく PHP なの?というツッコミは置いておいて・・・
CakePHPで利用するDBとユーザーを作成しましょう。
PHPMyAdminの上部にあるタブの中から「ユーザー」を選択します。
「ユーザー作成画面(ユーザー一覧)」
「ユーザーを追加する」というリンクがありますので、クリッックしてください。
まず、ログイン情報を設定します。
User Name に任意の名前(今回は sample)
Hostはローカル(左側のプルダウンでローカルを選ぶと、右のテキストフィールドに localhost と表示されます。
パスワードには自分で決めたパスワード
Retype はパスワードをもう一度入力
次に「ユーザー専用のデータベース」を作ります。
ここで「同名のデータベースを作成してすべての特権を与える」にチェックを入れておくと、ユーザーアカウントといっしょにデータベースまで自動に作成されます。便利!
今後、テスト開発環境でいろいろとデータベースを触る可能性があるのでグローバル特権の「すべてをチェックする」にチェックを入れましょう。下の項目に自動にチェックが入ります。
※テスト開発環境なのでセキュリティ等の説明は割愛します。
これでユーザーが作られ、左側に新しく作ったデータベース名が表示されます。
CakePHPにデータベース情報を設定
/Applications/MAMP/me/sample/Config の中にdatabase.php.defaultというファイルがあります。最後の .default を消して、database.phpというファイル名に変更してください。
71行目からの以下の部分にデータベース情報を設定します。
public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'user', 'password' => 'password', 'database' => 'database_name', 'prefix' => '', //'encoding' => 'utf8', );
ユーザー名(login)に sample
データベース名(database)に sample
パスワードにはMysQLのユーザーに付与したパスワードを記載します。
public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'sample', 'password' => 'パスワード', 'database' => 'sample', 'prefix' => '', //'encoding' => 'utf8', );
変更後にファイルを保存し、 http://localhost/sample を開くと
データベースも利用可能になっています。
最後のメッセージは「DebugKit」(ディバッグツール)がインストールされていないというメッセージです。こちらは後からインストールしても良いので、ここではこのままにします。
You can install it from GitHub
これでCakePHPのスタートが切れます!
長い時間お疲れ様でした。
初めは大変な感じがしますが、慣れればスムーズにインストールできるようになります。