当前我正在尝试为客户端设置开发虚拟机。三个使用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可以读取该文件。
任何想法?
一切顺利, 马丁
apache是否有权限读取/ mnt/dev中的文件?仅仅因为挂载点本身对于apache是“开放的”,并不意味着你在里面挂载的东西也是。 – 2012-02-06 17:25:33
是的。我使用用户运行Apache:group www-data:vboxsf(因为我想访问VirtualBox的共享文件夹中的文件)。我甚至尝试将权限设置为0777以进行调试,但没有成功。我将很快提供更多的数据。 – 2012-02-06 19:17:55
我在主题中增加了更多信息。 – 2012-02-06 19:30:22