HOME>情報備忘録>[Ubuntu11.10]CakePHP2.0.xのPermission denied エラー解決方法

[Ubuntu11.10]CakePHP2.0.xのPermission denied エラー解決方法

Ubuntu11.10とCakePHP 2.0.6でCakePHP2.1 ubuntu 11.10 コンソール Permission denied エラー | MT Systemsと同じエラーに遭遇してたんだけど なんとなく解決したのでメモ。CakePHPとサイト一式は/var/www/ではなく~/に設置してある。

エラーの原因

エラーの原因となってるのはキャッシュでコンソールで出力された場合、所有者・グループがユーザーでhttpアクセスしてapacheが出力した場合、所有者・グループがwww-dataになるのでどちらかの作業をするともう一方がエラーを出す状態と思われる。

解決方法

www-dataの仲間になる

www-dataを仲間にしたほうが楽なんだけど、サイトへのアクセス自体がエラーになったのでwww-dataグループに入れてもらう。

SH

  1. $ sudo usermod -G username,www-data,... username
  2.  

[注意]ubuntuでusermodをやる場合、現在属しているグループを全部列挙しないと取り返しのつかないことになるので実行前に

SH

  1. $ id username
  2.  

で自分が所属しているグループを確認しましょう。

app/tmp以下の所有者をwww-dataに変更

これはインストール直後でキャッシュが空の状態でやっても意味がなく、 コンソールなりブラウザでhttpアクセスするなりして一通りキャッシュが揃ってから実行する。

SH

  1. $ chown -R www-data app/tmp
  2.  

キャッシュを削除して、コンソール作業した場合、もう一度上記を実行しなくてはならない。 上記コマンドはマニュアルにGetting Started -- Cookbook v2.x documentation書いてあったので app/tmp/の所有者は変更しておいたほうがいいのかも。

今のところこれでエラーは出てないのですが、そのうちひょっこり出てくるかもしれません。 正しい解決方法を見つけたら追記したいと思います。

ちなみにCakePHP2.1.0がリリースされたみたいですね。

投稿日 2012年3月22日 00:58
カテゴリ Ubuntu
タグ CakePHP | Ubuntu11.10
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1290

コメント

コメントする
Name
Email Address
URL