OS X(Leopard)でcakePHPの開発環境をつくります

基本的にWindowsでも同じだと思います。ただXAMPPの設定(Apachehttpd.conf)が多少違ったかな。

必要なもの
手順
  1. XAMPPをインストール
  2. XAMPPの起動確認
  3. XAMPPの設定
  4. cakePHPのインストール
  5. cakePHPのテスト

1.XAMPPをインストール

XAMPPとはApacheMySQLPHPが一緒になったアプリケーションです。OS X版の他に、Windows版やLinux版も存在するので、環境に合わせてインストールしてください。たしかVistaだとMySqlが変な動きをしたと思います(でも動いてたと思う)。

インストールは「XAMPP MacOS X 0.7.1」のInstaller Versionを選びました。普通のアプリインストールと同じですね。次にゴー

2.XAMPPの起動確認


アプリケーションフォルダにインストールされるので、XAMPP Control Panelを起動すると、右みたいのが立ち上がります。これでApacheMySQLの起動・停止を行います。FTPサーバも入っていますね。「All Coponents」をスタートさせれば全部動きます。FTPとかSSL supportとか使わないけど、まあいいや、起動させます。http://localhost/へブラウザでアクセスして、XAMPP的なものが見えたらとりあえずOK.

3.XAMPPの設定

XAMPP内のApacheやらMySQLやらPHPの設定は、通常と同じ、ファイルでの設定(httpd.confとか)になります。各ファイルの置き場所は下記の通り。OS Xの場合です。

XAMPPの設定ファイルとか
ディレクトリ or ファイル 用途
/Applications/xampp/ xmappがインストールされたところ
/Applications/xampp/htdocs Apacheのドキュメントルート
/Applications/xampp/logs Apacheログのディレクト
/Applications/xampp/etc/httpd.conf Apacheの設定ファイル
/Applications/xampp/etc/php.ini PHPの設定ファイル
/Applications/xampp/etc/my.cnf MySQLの設定ファイル

OS X版のXAMPPではApacheの設定で、AllowOverrideがNoneになっているはずです。これだと後に設置するcakePHPディレクトリ内の.htaccessが有効にならないので、

<Directory />
	Options All
	AllowOverride All
	Order deny,allow
	Deny from all
</Directory>  

とか

<Directory "/Applications/xampp/xamppfiles/htdocs">   
	〜中略〜
	AllowOverride All
	〜中略〜
</Directory>  

みたいにAllowOverride Allにしましょう。これでcakePHPディレクトリの.htaccessが動くはず(厳密に言うとmod_rewriteが有効になるみたい)。
設定といってもXAMPPはこれで終了。

4.cakePHPのインストール

cakePHPRailsとかと違ってファイル群を設置するだけで終わりです。

http://www.cakephp.org/からDownloadに行って、1.1(安定版)か1.2(開発中版)を落としてきます。途中donateするかを聞かれたりするので、ぜひ寄付してからダウンロードしましょう。
とりあえず安定版である1.1を落としてきて解凍、/Applications/xampp/htdocs(Apacheのドキュメントルート)にcakeというディレクトリ名で保存しました。

※バージョンもRailsを踏襲しているなら1.1系と1.2系は結構違うので、安定していれば1.2を使いたいところです。

5.cakePHPのテスト

http://localhost/cake/ にアクセスして↓みたいな画面が出たらとりあえず成功です。

RailsからcakePHPに乗り換えるかも

いままでRuby/Railsを勉強してきました。ウェブアプリってまったく理解できなかったんですが、Railsはすごくわかりやすいし、なにより達成感が結構あったので、さくさく勉強できたんですね。最初はRailsの恩恵みたいなものがよくわからなかったけど、(よくみんなが読んでる列車の)本を読んでやっていくうちに、Railsってすげえ考えられてんだなあ、DHHってすげえなあとか思っていました。
Rails2.0も正直よくわからないんだけど、RESTfulなアプリがつくりやすいっていう噂です。Railsはアプリを作りやすくしつつ、「正しい?」ものにもしてくれる素敵なフレームワークなんですね。

じゃあ、なんでcakePHPに乗り換えようとしているのかと言えば、

  1. Railsは環境を選ぶ
  2. cakePHPRailsっぽい設計

という点です。

1. Railsは環境を選ぶ

Rails' Wikiにあるrailsの使えるレンタルサーバを見ると、やたら高額だったり、海外だったりするんです。いくらRailsで作りやすくなってもどこにも載せられないのはきついです。さくらの安いプランでも設置は可能なはずなんですが、実用に耐えられる速度ではなさそうです。
またDreamHostという高機能だけど割と安めのレンタルサーバを借りていたこともあるのですが、ここではRailsを設置することはできました。しかもfastcgiで。ただ根本的に遠くて(海外)遅い。DreamHostだけの問題であれば、海外でもいいのですが、他のレンタルサーバを借りて比較できるほど財力もなく、あきらめたのでした(ちょっと試してみたいのはMedia Temple)。

ではcakePHPはどの程度環境を選ぶかというと、ちょっと見てみた感じ

くらいの条件です。フォルダ丸ごと設置してあげればmod_rewriteでURLを良きに計らってくれます。

2. cakePHPRailsっぽい設計

PHPRailsと言われるように、cakePHPRailsをパクった設計になっているようです。まだ触ったことがないのですが、ディレクトリ構成を見ると、なんとなくRailsっぽいです。これだとフレームワークに必要な知識はRailsでなんとなく知ってるので、勉強がしやすいのではと思ってます。


ということで、PHP自体はじめてですが、cakePHPを勉強していこうかなと思っているんです。