设置指向用户目录中的文件的Apache虚拟主机。 在Ubuntu上工作得很好,现在我在Fedora上

我最近从Ubuntu转移到Fedora。 我现在希望自己能够做得更早,因为我意识到我对Linux的了解并不像我应该做的那么多–Ubuntu对我隐瞒了很多。

以前在Ubuntu上,我有几个虚拟主机指向我的用户的主目录中的目录:

/home/foo/Code/PHP/somedir/

这是一个虚拟主机:

 <VirtualHost *:80> DocumentRoot /home/foo/Code/PHP/somedir <Directory /home/foo/Code/PHP/somedir/> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ServerName database.dev </VirtualHost> 

我已经在我的hosts文件中设置了database.dev

我到目前为止所做的:在将虚拟主机添加到/etc/httpd/conf.d/database.dev.conf – 这是正确的地方吗?),我重新启动了Apache。 我收到了一些SELinux警告,并使用Fedora附带的工具对它们进行了疑难解答。 在重新启动Apache或在浏览器中查看http://database.dev/ ,我不再获得SELinux警告。 但是,我仍然得到403错误。

在DocumentRoot for database.dev ,我创build了一个名为“hello.txt”的文件,我试图在浏览器中访问它。 玩文件权限和所有权没有任何作用。 这里是错误日志的一个片段:

 [Sat Dec 31 20:20:34 2011] [error] [client 127.0.0.1] (13)Permission denied: access to /hello.txt denied [Sat Dec 31 20:20:38 2011] [error] [client 127.0.0.1] (13)Permission denied: access to /hell2o.txt denied 

(“hell2o.txt”不存在,“hello.txt”)。

问题:如果有人知道解决这个问题,请分享。 如果你有在Fedora(16)上设置Apache的指南 – 请分享,我一直没有find任何特定于Fedora的东西。 任何为以前的Ubuntu用户定制的东西都是额外的好处。

你能描述一下“玩文件权限”吗?

你需要做的就是让Apache正在运行的用户遍历文件的所有目录,并读取文件本身的权限。

这些权限中的任何一个都是错误的,或者您仍然遇到SELinux问题。

它仍然感觉SELinux相关的基础上,你指出的错误,在这个特定的指南类似的错误。 彻底排除未来configuration的唯一方法是禁用SELinux并设置Apache。 确保一切正常。 然后再打开它。 如果错误重新出现,你显然已经find了罪魁祸首。

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:Ch20:_The_Apache_Web_Server