Laravel4 パーミッションエラー Vagrant パーミッションが変更しない件
2014.08.24
この記事は最終更新日から1年以上が経過しています。
Laravelを扱おうとすると、「あれ表示しない。」
どうやらパーミッションエラーが起きている。
/app/storage フォルダの権限をchmodで777に変更。
あれ、まだ表示しない。。。
あ、そうか、vagrant側のパーミッションを変更せねばではと、
vagrant ssh
でログイン。
chmod 777 storage
い、いや。変更しない。。。びくともしない。
色々調べたところ、
「同期ディレクトリ以下は、パーミッションだけでなく、オーナーやグループまでもがVagrantの設定に依存している。」
との事で、Vagrant.fileにパーミッション変更を追加すれば良いとのこと、
早速Vagrant.fileに追加する。
共有フォルダの設定は
config.vm.synced_folder "ホスト側のディレクトリ", "ゲスト側のディレクトリ"
となっていまして、それ以下のフォルダ、オーナーとグループを以下の様にしてみる。
owner:'vagrant', group:'apache'
パーミッション変更
mount_options:['dmode=777','fmode=755']
mount_optionsは、
mount_options:[‘ディレクトリの権限’,’ファイルの権限’]
となっています。これらをまとめると、
config.vm.synced_folder "./", "/vagrant", owner:'vagrant', group:'apache', mount_options:['dmode=777','fmode=755']
との感じで追加して
vagrant reload
ドキドキドキドキ。
再度、localhost:8080を叩くと。。。
まだ表示しないぃぃいぃい。
な、何故だ。。
ふと気が付きました。。
どうやらvagrantのバージョンによって記述が変わっているような事が。。
vagrant --version
で調べると、
Vagrant version 1.2.7
ふむ。
古いのでは。。
以前の指定の記述は
:extra => 'dmode=775,fmode=775'
とのことで、
config.vm.synced_folder "./", "/vagrant", owner:'vagrant', group:'apache', :extra => 'dmode=775,fmode=775'
に変更して、再度 vagrant reload して localhost:8080を叩くと、
表示したぁあぁ!!!
いやー。。結構ハマっちゃいましたよー。
でも表示して良かったー。