いがにんのぼやき

若手WEBエンジニアのブログ。IT、WEB、バンド、アニメ。

Vagrantのパーミッション問題、Laravelでのエラー

MacのローカルでVagrantを使用して共有フォルダを使用していると、Laravelで500エラーが発生してviewが返ってこない現象に陥った。

VagrantSSHで入ってパーミッションを変更してもうまくいかない。

原因としては、共有フォルダを使用すると、Mac側でパーミッションが書き換えられてしまうらしい? 対策としてはVagrantfileにパーミッションの設定をしてあげることで問題を解決した。

 

具体的な手順としては、Vagrantfileのconfig.vm.synced_folderの設定を下記の用に変更した。

config.vm.synced_folder "data", "/var/www/html/", 
:owner => 'apache', :group => 'apache', 
mount_options: ['dmode=777', 'fmode=755']

最初に共有するローカルのフォルダ、共有先のVagrant内でのフォルダを指定。

次にそのフォルダのパーミッショングループを指定。

Apacheのユーザーとグループに関してはhttpd.confを参照

User apache #Apacheのユーザー
Group apache #Apacheのグループ

最後にパーミッション設定(ここらへんまた調べて追記します)。

 

これでviewが表示されました。めでたしめでたし