这是一个愚蠢的想法,但是有没有办法将文档根目录设置为 /,在我尝试这样做之后,我得到了 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