0

我只是 Apache 的新手。我刚刚在我的家庭办公室的 FreeBSD 机器上安装了 apache 2.2。FreeBSD 文档上的说明是我可以更改 DocumentRoot 指令以使用自定义的目录数据。所以我换了...

/usr/local/www/apache22/data

/usr/home/some_user/public_html

但有些不对劲。目录中有 index.html 文件,但似乎 apache 无法读取目录/文件。

Forbidden
You don't have permission to access / on this server.

的许可

public_html

drwxr-xr-x

我想知道这里可能有什么问题。另外,就我而言,我不会为这个 FreeBSD 机器托管多个网站,所以我根本没有考虑使用 VirtualHost。这只是更改 DirectoryRoot 指令的好习惯吗?

4

2 回答 2

3

apache 配置中的某处是这样的一行:

# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/www/apache22/data">

您也必须更改此路径才能使其正常工作。该指令包含例如:

Order allow,deny
Allow from all

这使初始用户可以访问该目录。

于 2012-08-27T10:54:31.773 回答
0

想到的一种可能性是 SELinux 阻止 Web 进程访问该文件夹。如果是这种情况,您会在 selinux 日志中看到它。您必须使用以下命令检查原始 Web 根目录的上下文:

ls -Zl

然后将其应用到您的新 Web 文件夹:

chcon whatevercontextyousaw public_html

或者,如果它不是需要安全性的生产服务器(例如防火墙后面的开发机器),您可能只想关闭 selinux。

只有一个想法。可能是其他一些事情。

于 2012-08-27T10:19:49.710 回答