OS X(Leopard)でcakePHPの開発環境をつくります
基本的にWindowsでも同じだと思います。ただXAMPPの設定(Apacheのhttpd.conf)が多少違ったかな。
1.XAMPPをインストール
XAMPPとはApache、MySQL、PHPが一緒になったアプリケーションです。OS X版の他に、Windows版やLinux版も存在するので、環境に合わせてインストールしてください。たしかVistaだとMySqlが変な動きをしたと思います(でも動いてたと思う)。
インストールは「XAMPP MacOS X 0.7.1」のInstaller Versionを選びました。普通のアプリインストールと同じですね。次にゴー
2.XAMPPの起動確認
アプリケーションフォルダにインストールされるので、XAMPP Control Panelを起動すると、右みたいのが立ち上がります。これでApacheやMySQLの起動・停止を行います。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のインストール
cakePHPはRailsとかと違ってファイル群を設置するだけで終わりです。
http://www.cakephp.org/からDownloadに行って、1.1(安定版)か1.2(開発中版)を落としてきます。途中donateするかを聞かれたりするので、ぜひ寄付してからダウンロードしましょう。
とりあえず安定版である1.1を落としてきて解凍、/Applications/xampp/htdocs(Apacheのドキュメントルート)にcakeというディレクトリ名で保存しました。
※バージョンもRailsを踏襲しているなら1.1系と1.2系は結構違うので、安定していれば1.2を使いたいところです。
RailsからcakePHPに乗り換えるかも
いままでRuby/Railsを勉強してきました。ウェブアプリってまったく理解できなかったんですが、Railsはすごくわかりやすいし、なにより達成感が結構あったので、さくさく勉強できたんですね。最初はRailsの恩恵みたいなものがよくわからなかったけど、(よくみんなが読んでる列車の)本を読んでやっていくうちに、Railsってすげえ考えられてんだなあ、DHHってすげえなあとか思っていました。
Rails2.0も正直よくわからないんだけど、RESTfulなアプリがつくりやすいっていう噂です。Railsはアプリを作りやすくしつつ、「正しい?」ものにもしてくれる素敵なフレームワークなんですね。
じゃあ、なんでcakePHPに乗り換えようとしているのかと言えば、
という点です。
1. Railsは環境を選ぶ
Rails' Wikiにあるrailsの使えるレンタルサーバを見ると、やたら高額だったり、海外だったりするんです。いくらRailsで作りやすくなってもどこにも載せられないのはきついです。さくらの安いプランでも設置は可能なはずなんですが、実用に耐えられる速度ではなさそうです。
またDreamHostという高機能だけど割と安めのレンタルサーバを借りていたこともあるのですが、ここではRailsを設置することはできました。しかもfastcgiで。ただ根本的に遠くて(海外)遅い。DreamHostだけの問題であれば、海外でもいいのですが、他のレンタルサーバを借りて比較できるほど財力もなく、あきらめたのでした(ちょっと試してみたいのはMedia Temple)。
ではcakePHPはどの程度環境を選ぶかというと、ちょっと見てみた感じ
- PHP4でもPHP5でもOK
- mod_rewrite必須(?)
くらいの条件です。フォルダ丸ごと設置してあげればmod_rewriteでURLを良きに計らってくれます。