gpt4 book ai didi

ios - Apache 在 Vagrant 中创建/编写目录

转载 作者:行者123 更新时间:2023-12-01 18:20:15 25 4
gpt4 key购买 nike

我有以下 Vagrant 共享设置:

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

然后网页会创建一个目录来存储“extracts”目录(VM View )中 zip 文件中的内容:
drwxr-xr-x 1 vagrant vagrant 68 Jul 23 13:31 ZipExtractDir

尝试从 apache/web 页面在该目录中写入文件时,我从那里获得权限被拒绝。

我在安装 Vagrant V1 之前从未遇到过这个问题,但我的共享是使用 sync_folder 选项的 :nfs=>true 属性完成的。我们现在使用通过 puppet 管理的 vagrant 的“全局”开发安装,带有“config.vm.network :public_network”

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

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

最佳答案

我设法通过设置同步文件夹的权限来解决这个问题,所以虽然 vagrant 中的 user.group 是错误的,但它不是世界末日,只要 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']

关于ios - Apache 在 Vagrant 中创建/编写目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17813676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com