Apache Main DocumentRoot 不存在

Apache Main DocumentRoot doesn't exist

我试图找到对 /var/www/html 的引用仍然存在于我的 Apache 配置中的位置。当我 运行 apache2ctl -S 它说 Main DocumentRoot: "/var/www/html",但是我的虚拟主机或我的主要 Apache 配置文件的 none 指向那个目录。

我已经尝试使用 grep -r "var/www/html" /etc/apache2/ 搜索所有配置文件,但 returns 什么都没有。

我的 /etc/apache2/apache2.conf 文件中没有该路径的 <Directory> 条目(/var/www 有一个条目,我在其下存储虚拟主机)。

这个配置怪癖困扰着我的强迫症,但我也经常在我的 Apache 错误日志中看到这些条目:

[Fri Jun 28 18:19:53.424619 2019] [autoindex:error] [pid 22665] 
[client 209.222.82.167:47376] AH01276: Cannot serve directory
   /var/www/html/: No matching DirectoryIndex 
   (default.php,index.php,index.html,index.htm) found, and server-generated
   directory index forbidden by Options directive

Apache 如何确定主文档根是什么,我该如何更改它?

编辑:

对于我的 sites-available/sites-enabled,我有四个文件,000-default.conf000-default-le-ssl.conf000-www-default.conf000-www-default-le-ssl.conf000-default.conf 是 certbot 设置的指向 https 站点的重定向,没有 DocumentRoot 指令。 000-www-default.conf000-default.conf 相同,但对于 ServerName(一个有 www,另一个没有); 000-www-default-le.conf000-default-le.conf.

遵循相同的模式

这是我尝试过的一些东西的输出:

在Debian/Ubuntu中,默认的虚拟主机文件:/etc/apache2/sites-available/000-default.conf有DocumentRoot /var/www/html.

我认为 apache2ctl -S 报告的 Main DocumentRoot 与默认 DocumentRoot 相同。默认的 DocumentRoot 在 /etc/apache2/apache2.conf/etc/apache2/sites-available/000-default.conf 中定义。 How to Change Default Apache ‘DocumentRoot’ Directory in Linux 中对此进行了描述。因此,要更改 Main DocumentRoot,您需要编辑 /etc/apache2/sites-available/000-default.conf.

正如@Nic3500 所指出的,/var/www/html 是主 DocumentRoot 的默认值。更改虚拟主机配置 不会 对此产生影响。但是,将 DocumentRoot 指令添加到 apache.conf 确实会改变它,如 apache2ctl -S.

的输出所示

换句话说,我的主要 DocumentRoot 是未配置的,一直使用默认值,直到我在全局配置文件中明确定义它。

DocumentRoot 指令 Apache 的文档清楚地说明了它的默认值:

Default: DocumentRoot "/usr/local/apache/htdocs"

Default表示没有指定任何地方时Apache给出的值:

If the directive has a default value (i.e., if you omit it from your configuration entirely, the Apache Web server will behave as though you set it to a particular value)

是的,我知道 /usr/local/apache/htdocs 与您的值 /var/www/html 不同,但这只是取决于构建 Apache 的 linux 发行版的次要细节。