さくっと開発環境構築できると話題のVagrant+VirtualBoxを試していたのだけど、chmodで共有フォルダ内のファイルのパーミッションを変更しようとしても反映されない。ホストがWindows7なのが悪いのかなんなのか
共有フォルダをApacheのドキュメントルートとしてシンボリックリンク貼ってるので、デフォルト?の0777だと動かないPHPスクリプトやCGIスクリプトが出てくる。
とりあえずVagrantfileを編集して応急処置
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
config.vm.synced_folder ".","/vagrant", :extra => "dmode=755,fmode=755"
とりあえずディレクトリ、ファイル両方755で
所有権も変更するなら :extra => “uid=1000,gid=1000,dmode=0755,fmode=0755” みたいに
これはvgrantというよりVirtualBox側の仕様なのかな。
1.3.0 (September 5, 2013) から :extraは使えなくなった
代わりに
config.vm.synced_folder “./”, “/vagrant”, owner: ‘root’, group: ‘root’, mount_options: [‘dmode=777’, ‘fmode=666’]
といった感じに mount_optionsを使用してArrayとして記入する
参考環境
ホストOS Windows7 64bit
ゲストOS CentOS6.4 (BOX http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box)
VirtualBox 4.2.12 r84980
Vagrant 1.2.7