yamashiro0110の日記

yamashiro0110の日記です。おもにIT技術のメモを綴っていきます(^o^)

CakePHPのインストールめも

f:id:yamashiro0110:20150119013230p:plain


CakePHPの環境構築のめも(ちょっとハマった・・・)

環境

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.1
BuildVersion:   14B25
Server version: Apache/2.4.9 (Unix)
Server built:   Sep  9 2014 14:48:20
CakePHP 2.6.1

インストール

CakePHPのダウンロード

Gitでclone

$ cd /path/to/CakePHP
$ git clone git://github.com/cakephp/cakephp.git

Apacheの設定

ここでドキュメント通りにやってもうまく行かなかったためCakePHP用に以下の設定を行う

  • ポートを10080に設定
Listen 127.0.0.1:10080

<VirtualHost 127.0.0.1:10080>
    # CakePHPを'git clone'したディレクトリの'app/webroot'を指定
    DocumentRoot    /path/to/CakePHP/cakephp/app/webroot
    ServerName      127.0.0.1:10080
    ServerAdmin     webmaster@host.example.com

    <IfModule php5_module>
        AddType application/x-httpd-php .php
    </IfModule>

    <IfModule dir_module>
        DirectoryIndex index.php
    </IfModule>

    # CakePHPの公開用ディレクトリ'app/webroot'を'/'にマッピング
    Alias / /path/to/CakePHP/cakephp/app/webroot/

    <Directory "/path/to/CakePHP/cakephp/app/webroot/">
        AllowOverride None
        Options All
        Require all granted
    </Directory>
</VirtualHost>

2015/01/27 追記

DocumentRootには、Cakeのapp/webrootを指定すること

コントローラを作成したときに、そのコントローラのURLにアクセスできなかったため

上記、設定後にApache再起動

以下のURLにアクセス

http://localhost:10080/

公式のチュートリアルだと、以下のように記述されていたのですが これだとリダイレクトループが発生するためエラーが発生していました

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

参考

URLリライティング — CakePHP Cookbook 2.x ドキュメント