nginx のサブフォルダでcakePHP を動かす。 LMDE/debian/ubuntu編

nginx のサブフォルダでcakePHP を動かす。 LMDE/debian/ubuntu編

nginx のサブフォルダでcakePHP を動かす。 LMDE/debian/ubuntu編

nginx のサブフォルダでcakePHP を動かす。 LMDE/debian/ubuntu編 へのコメントはまだありません

nginx のサブディレクトリで cakePHPを動作させる方法のメモです。
ちょっとハマったので、参考になれば・・・
動作環境はLMDEですが、おそらくdebian/ubuntuでも同じだと思います。(無責任・・)

すでにnginx がインストール済みであるということを前提に進めます。

php関連モジュールインストール

[bash]
$ sudo aptitude install php5 php5-fpm php5-common php-pear php5-mcrypt php5-mysql php5-cli php5-gd php-apc php5-curl
[/bash]

php5-fpmの設定調整(不要です)

webをチェックすると、
/etc/php5/fpm/pool.d/www.conf を調整するような記述が見受けられましたが、2014年9月現在では特に調整の必要はナシです。

php5-fpm nginx再起動

[bash]
$ sudo /etc/init.d/php5-fpm restart
$ sudo /etc/init.d/nginx restart
[/bash]

cakephpダウンロード・インストール

nginxのフォルダが /opt/nginx cakePHPのフォルダを  /opt/nginx/caketest とします。

cakePHPの最新版をダウンロードしてきます。

[bash]
unzip cakephp-2.4.10.zip

sudo mv cakephp-2.4.10 /opt/nginx/caketest

sudo chgrp www-data /opt/nginx/caketest -R
sudo chmod 775 /opt/nginx/caketest -R

[/bash]

nginx cakePHP連携

[bash]
sudo nano /opt/nginx/conf/nginx.conf

[/bash]

rewriteの設定をすること、入れ子にすることがポイントですかね。
他のサイトを見ると違う方法でもうまく行ってたんですが、自分の場合は
ダメだったので入れ子にしました。

[diff]
server {
listen 80;
server_name localhost;

〜省略〜

location ~ ^/caketest/(.+\.php) {
alias /opt/nginx/caketest/app/webroot/$1;
index index.php;
if (!-e $request_filename) {
rewrite ^(.+)$ /caketest/index.php?q=$1 last;
}

location ~ ^/caketest/(.+\.php) {
alias /opt/nginx/caketest/app/webroot/$1;
fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_nam$
include fastcgi_params;
}

}

[/diff]

nginx 再起動、動作確認

以下のようなCackPHPのページが出てきたら成功です。
あとはブラウザーに表示されているとおりに、普通に設定すればOKです。

cake

About the author:

Related Posts

Leave a comment

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Back to Top