Apache在Vagrant中创建/编写目录

时间:2013-07-23 14:52:40

标签: ios apache vagrant centos6

我有以下流浪汉分享设置:

config.vm.synced_folder "~/web", "/opt/subversion/web"

我的一个页面,打开zip文件并将它们提取到一个目录,让我们说:

/opt/subversion/web/extracts/

当我们从VM内部查看目录时,它看起来像这样:

drwxrwxrwx 1 vagrant vagrant 136 Jul 23 13:31 extracts

当我们查看主机上的目录时,它看起来像这样:

drwxrwxrwx  4 garth  staff  136 Jul 23 15:31 extracts

然后,网页创建一个目录,用于将内容存储在zip文件的“提取”中。目录(VM View):

drwxr-xr-x 1 vagrant vagrant 68 Jul 23 13:31 ZipExtractDir

从那里我尝试从apache / web页面写入该目录中的文件时被拒绝。

我的Vagrant V1安装之前从未遇到过这个问题,但我的共享是使用sync_folder选项的:nfs => true属性完成的。我们现在正在使用"全球"通过puppet与'#34; config.vm.network:public_network"

进行的恶作剧安装

我是否必须设置nfs,或者是否存在其他错误,以及为什么apache创建目录为" vagrant"而不是" apache"。我假设我们无法写入目录,因为它是由所有者" vagrant"创建的。而不是" apache"然后当apache尝试写入目录时,它会收到权限被拒绝错误。我甚至可以使用DHCP设置nfs与vagrant,还是我必须拥有静态IP?

供参考,apache设置为使用apache用户。我还检查了/ etc / selinux / config并设置了SELINUX = disabled

1 个答案:

答案 0 :(得分:4)

我设法通过设置synced文件夹的权限来找到解决方法,所以虽然user.group在vagrant中是错误的,但它不是世界末日,只要apache用户可以写入目录

config.vm.synced_folder "~/web", "/opt/subversion/web", :extra => 'dmode=777,fmode=777'

修改

对于Vagrant 1.3.0+使用:mount_options而不是:extra。

config.vm.synced_folder "~/web", "/opt/subversion/web", :mount_options => ['dmode=777,fmode=777']