質問: CentOS(さくらVPSデフォルト),CakePHP3,Apache2.2で会員登録システムをつくろうとしているのですが、 CakePHPのインストールの段階でつまづいています。 恐らくhtaccessの書き方がおかしいのだと思いますが、修正箇所がわかりません。 サーバデフォルトのWEBルート /var/www/html の配下にHTMLファイルやJSファイルを置いていて表示できていたのですが、このたびCAKEPHPでシステムを作りたいと思いたち、apacheのconfに下記のように記入しています。 Alias /abcabcabc(ウェブルートのサブディレクトリ) /home/username/abc(Cakephpの名前)/webroot Order deny,allow Allow from all AllowOverride all それから 各種のhtaccessに以下のように記入しています。 /var/www/html Options -Indexes Options FollowSymLinks AllowOverride All Require all granted /home/username/abc/webroot RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] Options FollowSymLinks AllowOverride All Require all granted /home/username/abc/ RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] 色々書いたり消したりしているのですが、現状これで403が表示されアクセスできません。 サーバーで設定したウェブルート配下のHTMLは表示できているのですが、サブディレクトリであるabc(Cakephpの名前)以下はなにも表示できません。 なにか書きたりないことなどありますでしょうか。 初心者で申し訳ございませんがご教示いただけましたら幸いです。
回答: cake/appフォルダにあるtmpフォルダの所有者はapacheになっていますか? (グループを設定してapacheをそのグループの中に入れても良いですが) cakephpを動かすとtmpフォルダにいろんなものを、cakephp自身が書き込みを実施しますが、 フォルダの所有者がapache(NGINXの場合はnginx)以外だとそのフォルダにcakephpが書き込めない ことになります。 アクセス権(パーミッション)を777にしてしまうのもとりあえずの手としてはありですが...