ホーム > カテゴリ > PHP・Laravel・CakePHP >

CakePHPをサブディレクトリで本稼働させる [Nginx/Apache]

1. Nginx

1-1. 前提

// プロジェクトのパス(ソース)
/home/ユーザー名/cake/bbs

// やりたいこと
http://example.com/dev/bbs
でアクセス可能とする

1-2. xxx.conf

location /dev/bbs {
    alias /home/ユーザー名/cake/bbs/webroot;
    try_files $uri $uri/ @cake_1;

    index index.php index.html index.htm;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME /home/ユーザー名/cake/bbs/webroot/index.php;
   }
}    
location @cake_1 {
    rewrite /dev/bbs/(.*)$ /dev/bbs/index.php?/$1 last;
}  

1-3. webroot/index.phpに追記

このままだと http://example.com/dev/bbs/webroot/index.php でアクセス可能なので、webroot/index.php の先頭に次のコードを追記します。

if ($url == 'http://example.com/dev/bbs/webroot/index.php'){
  header('Location: http://example.com/dev/bbs');
  exit;
}

1-4. Nginxの再起動

sudo systemctl restart nginx

2. Apache

WSL(Ubuntu18.04)のApacheで確認。他の環境でも同様だと思われます。

2-1. 前提

// プロジェクトのパス(ソース)
// ※D:\cake\bbsの事です。
/mnt/d/cake/bbs

// やりたいこと
http://localhost/test/
でアクセス可能とする

2-2. rewrite_moduleの有効確認

// モジュールの状態を確認
apache2ctl -M  

rewrite_moduleが含まれていない場合は次のコマンドで有効にする。

// mod_rewriteの有効化
sudo a2enmod rewrite

// mod_rewriteの無効化
//sudo a2dismod rewrite

※WSLだとrewrite_moduleはデフォルトはオフになっているようです。

2-3. 000-default.confの編集

000-default.confは書き込み権限がないので、rootでログインする。

// ルートログイン
su root

// 000-default.confの編集
vi /etc/apache2/sites-available/000-default.conf

末尾に以下を追記する。

Alias /test /mnt/d/cake/bbs/webroot
<Directory "/mnt/d/cake/bbs/webroot">
  Options Includes ExecCGI FollowSymLinks
  AllowOverride All
  Require all granted
  Order allow,deny
  Allow from all
</Directory>

2-4. Apacheの再起動

sudo service apache2 restart

2-5. Could not start the session

このエラーが発生する場合は「bin/cake cache clear_all」で全てのキャッシュをクリアします。それでもダメな場合はwebroot/index.phpの先頭に「session_start();」のコードを追記すればいけるかも知れません。

※Apacheの再起動は忘れないでください。

Apacheの参考文献

Ubuntu server 18.04: Apache2 のインストールと設定,運用





関連記事



公開日:2021年02月10日
記事NO:02881


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律