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


mhddfs (or unionfs) + Apache = Permission denied

当前我正在尝试为客户端设置一个用于开发的虚拟机。三个包含PHP代码的SVN存储库必须组合在一个文件夹中(我知道这很难看,但它们就是这样滚动的)。我在谷歌上搜索了一下,找到了mhddfs。所以我检查了一个名为branches:的文件夹中的三个存储库

branches/branch1
branches/branch2
branches/branch3

我在/mnt/dev处安装了带有mhddfs的三个分支。在文件系统级别,一切都按预期进行,因此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错误终止。但是,如果我卸载文件夹,只在/mnt/dev中放入一个index.htm,那么一切都可以正常工作,因为Apache可以读取该文件。

有什么想法吗?

祝你一切顺利,Martin

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

[STEPS]

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