如何将 Apache 文档根目录更改为 /

如何将 Apache 文档根目录更改为 /

这是一个愚蠢的想法,但是有没有办法将文档根目录设置为 /,在我尝试这样做之后,我得到了 403 禁止错误

答案1

没有理由使用 / 作为 documentroot,也没有理由使用用户 root 作为 apache 用户,也没有理由将 root 用于组,也没有理由对目录使用高于 755(优先 750)的权限以及对文件使用高于 644(优先 640)的权限。

Linux 用户需要认真对待安全问题(并且 apache 的维护者为我们使用 / 和用户 root 设置了障碍)。

Ubuntu 的 apache 基本设置非常完美,不需要更改 apache 所设置的用户和组。

这一点非常清楚,而且我们来这里就是为了回答问题……

回答标题。使用指令:

DocumentRoot "/"

请理解 documentroot 文档中的以下部分内容:

指定的 DocumentRoot 不应带有尾部斜杠。

所以你这样做违反了基本的安全规定。但不确定这是否会被强制执行。

关于 ...

403 禁止错误

显示此错误是因为您的网站用户与 / 的所有者和组不匹配。您可以通过使用 root 用户运行 apache 来避免此错误,但您会遇到一个问题:仅通过更改设置是无法实现的。

该文件/etc/apache2/envvars可用于更改用户并将其设置为 root ...

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root

但是如果不重新编译 apache,则无法使用此功能,因为“root”被硬编码为“不允许作为用户”。如果您决定走这条路,那么您将独自承担责任。

该指令和重新编译的 apache 将允许您使用 / 作为文档根目录。

答案2

您必须编辑/etc/apache2/envars和更改:

export APACHE_RUN_GROUP

... 像这样:

export APACHE_RUN_GROUP=yourusername

相关内容