我最近从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