mhddfs(或unionfs)+ Apache =权限被拒绝

时间:2012-02-06 16:49:57

标签: php apache filesystems mount mount-point

目前我正在尝试为客户端设置虚拟机进行开发。三个带有PHP代码的SVN存储库必须组合在一个文件夹中(我知道它很难看,但这就是它们的滚动方式)。我用Google搜索了一下,发现mhddfs。所以我在名为branches的文件夹中查看了三个存储库:

branches/branch1
branches/branch2
branches/branch3

我在mhddfs处使用/mnt/dev安装了三个分支。在文件系统级别,一切都按预期工作,因此ls正确显示所有三个文件夹的内容(它们是不相交的)。但是,尝试使用Apache启动文档根目录会导致 403 Forbidden 错误。我尝试了除/mnt/dev之外的其他位置,这没有任何区别。

[Mon Feb 06 17:44:41 2012] [error] [client 192.168.56.1]
(13)Permission denied: access to / denied

当我没有安装这三个文件夹但只是将index.php文件放入/mnt/dev时,一切都按预期工作。我错过了什么吗?

提前感谢您的帮助。

编辑:关于这个问题的更多数据:当我创建两个可以通过世界访问的目录时......

root@devbox:/tmp > ls -lha
drwxrwxrwt  6 root     root   4,0K  6. Feb 20:11 .
drwxr-xr-x 21 root     root   4,0K  6. Feb 10:07 ..
drwxrwxrwx  2 www-data vboxsf 4,0K  6. Feb 20:11 test1 # includes index.htm
drwxrwxrwx  2 www-data vboxsf 4,0K  6. Feb 20:13 test2 # includes index2.htm

...并通过mhddfs ...

挂载它们
mhddfs /tmp/test1,/tmp/test2 /mnt/dev
mhddfs: directory '/tmp/test1' added to list
mhddfs: directory '/tmp/test2' added to list
mhddfs: mount to: /mnt/dev
mhddfs: move size limit 4294967296 bytes

... ls行为正确...

root@devbox:/tmp > ls -lh /mnt/dev/
insgesamt 8,0K
-rwxrwxrwx 1 www-data vboxsf 12  6. Feb 20:11 index2.htm
-rwxrwxrwx 1 www-data vboxsf 11  6. Feb 20:11 index.htm

...而Apache(用户:www-data,组:vboxsf)没有,并以上述403错误终止。但是,如果我卸载文件夹并在index.htm中放置/mnt/dev,则一切都按预期工作,因为Apache可以读取文件。

有什么想法吗?

一切顺利, 马丁

1 个答案:

答案 0 :(得分:3)

我在Linux上遇到了同样的问题 按照以下步骤,我能够解决它
[STEPS]

  1. 在/etc/fuse.conf中启用“user_allow_other”
  2. 将mhddfs与'-o allow_other'选项一起使用。 mhddfs -o allow_other     / dir1,/ dir2 / path / to / mount