2012-02-06 85 views
1

当前我正在尝试为客户端设置开发虚拟机。三个使用PHP代码的SVN库必须合并到一个文件夹中(我知道这很难看,但这就是它们如何滚动)。我谷歌搜索了一下,发现mhddfs。于是我一个名为branches文件夹中签出了三个不同版本库:mhddfs(或unionfs)+ Apache =权限被拒绝

branches/branch1 
branches/branch2 
branches/branch3 

我安装了mhddfs三个分支在/mnt/dev。在文件系统级别,一切正常,因此ls正确显示所有三个文件夹的内容(它们是不相交的)。但是,试图用Apache启动文档根目录会导致出现错误。我尝试了除/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,按预期工作的一切。我错过了什么吗?

感谢您的帮助提前。

编辑:对这个问题的一些更多的数据:当我创建两个目录,是世界访问...

[email protected]:/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行为正确...

[email protected]:/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 

...而阿帕奇(用户:www-data,组:vboxsf)不会出现上述403错误并终止。但是,如果我卸载这些文件夹,并将index.htm置于/mnt/dev中,则所有内容均可正常工作,因为Apache可以读取该文件。

任何想法?

一切顺利, 马丁

+0

apache是​​否有权限读取/ mnt/dev中的文件?仅仅因为挂载点本身对于apache是​​“开放的”,并不意味着你在里面挂载的东西也是。 – 2012-02-06 17:25:33

+0

是的。我使用用户运行Apache:group www-data:vboxsf(因为我想访问VirtualBox的共享文件夹中的文件)。我甚至尝试将权限设置为0777以进行调试,但没有成功。我将很快提供更多的数据。 – 2012-02-06 19:17:55

+0

我在主题中增加了更多信息。 – 2012-02-06 19:30:22

回答

3

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

[STEPS]

  1. 在/etc/fuse.conf启用 'user_allow_other'
  2. 与 '-o allow_other' 选项
    前使用mhddfs。 mhddfs -o allow_other /dir1,/ dir2/path/to/mount
+0

谢谢,我会试试看! – 2012-08-28 20:51:16

+0

你是我的英雄 - 它确实有效!谢谢! – 2012-08-31 08:10:05