kumak1’s blog

kumak1のイラストや技術ログ

vagrantの共有フォルダのマウントオプションについて

最近、趣味で Laravel を使い始めて気付いたのでメモ。

私はvagrantで開発する際、アプリのコードはマウントして作業しています。 Laravel ではちょうど以下のようなディレクトリ構造ですね。

work
├─ application
│   ├─ app
│   │   ├─ strage
│   │    ...
│   │   
│   ├─ bootstrap
│   └─ public
└─ vagrant
     ├─ Vagrantfile
      ...

Laravel を動作させるには、work/application/app/strage ディレクトリの権限を緩めに(777とか)する必要があります。 ココでつまりました。

緩めに設定したはずなのに、動作させたときに生成されるファイル(セッションとかログとか)がいちいち書き込み禁止で生成・エラーになってしまうのです。。

Vagrantfile のマウントの記述は以下でした。

config.vm.synced_folder "../application", "/var/www/application"

解決方法

マウントオプションを設定して、ここから権限を緩める必要があったようです。

config.vm.synced_folder "../application", "/var/www/application", mount_options: ['dmode=777','fmode=777']

ネット上ではあまりこれに言及したTipsがなかったので、誰かの役に立てば・・ (基本的な事過ぎなのかもしれなくて恥ずかしいですが