Mac X 10.6.7 にCake1.3.8の環境を整える

最初にApacheが動くようにしておく。Macは最初から入っているみたいで、まず、以下の設定を行う。
システム環境設定>インターネットとワイヤレス>共有>Web共有にチェックを入れる。

PHPの初期設定

PHPは最初からインストールされていたのでここでは初期設定のみ。設定ファイルのひな形があるので下記のようにコピーして作成。

$ sudo cp /private/etc/php.ini.default /private/etc/php.ini

コピーしたファイルのdate.timezoneの値を下記のように変更。

date.timezone = "Asia/Tokyo"

Cakeのインストールと初期設定

ここ(http://cakephp.jp/)からCakeの最新安定版1.3.8をダウンロードし解凍したら名前をsampleに変更。そして以下のディレクトリに配置する。

  • /Users/hironemu/Sites/sample

sample以下に下記の3つの.htaccessファイルがあり、それぞれに、RewriteBaseの行を追加。

.htaccess

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase    /~hironemu/sample
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

app/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase    /~hironemu/sample/app
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

app/webroot/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /~hironemu/sample/app/webroot
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

Apacheの設定

次に下記Apacheの設定ファイルを編集する。
/private/etc/apache2/httpd.conf

<Directory "/Users/hironemu/Sites/sample">
   Options FollowSymLinks
   AllowOverride All
</Directory>

Apacheの再起動

$ sudo /usr/sbin/apachectl restart

ここまで出来たらいったん動作確認

以下のURLにアクセス。

(~hironemuの箇所はMacのユーザ名)

3つくらいエラーが出ていると思うので、次はそのエラーが消えるように設定を行っていく。

Cakeの設定

  • app/config/core.phpを下記のように修正する。
//Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
Configure::write('Security.salt', '適当な文字列に変更');

//Configure::write('Security.cipherSeed', '76859309657453542496749683645');
Configure::write('Security.cipherSeed', '適当な数値に変更');
||< 

** MySQLのインストール

Mac portでインストールできた。

>||
$ sudo port install mysql5-server

下記の設定を追加。

/opt/local/etc/mysql5/my.cnf

[mysqld]
# 省略・・・
default-character-set = utf8

MySQLの起動

$ sudo /opt/local/share/mysql5/mysql/mysql.server start

データベース作成

今回は以下の用なデータベースを作成した。

  • DB名:sampledb
  • ユーザ名:sampleuser
  • パスワード:hogehoge
$ mysql5 -u root
mysql> create database sampledb;
mysql> grant all privileges on sampledb.* to sampleuser@localhost identified by 'hogehoge';

CakeのDB設定

app/config/database.php

class DATABASE_CONFIG {

        var $default = array(
                'driver' => 'mysql',
                'persistent' => true,
                'host' => '127.0.0.1:3306',
                'login' => 'sampleuser',
                'password' => 'hogehoge',
                'database' => 'sampledb',
                'prefix' => '',
        );
# 以下省略

MySQLに接続するための設定ではまったこと。hostは127.0.0.1:3306で設定する必要があるらしい。下記の記事に助けられました。

もう一度確認

最後にもう一度以下のURLにアクセスしてエラーが消えていることを確認。

Windows版のインストールなど

過去に書いた記事もあります。

WindowsにApache2.2.14+PHP5.2.12+MySQL5.1.44+CakePHP1.2.6をインストールしてみた - ありの日記
CakePHPのcakeコマンドの色々 - ありの日記

こんなの書いてたのすっかり忘れてもう一回一からやり直した気分・・。。