查找所有 apache2 配置文件中设置 DocumentRoot 的位置

查找所有 apache2 配置文件中设置 DocumentRoot 的位置

我正在运行其他人设置的 apache 2.2 的 OSX 服务器上工作。不知何故他们更改了 Web 服务器的根目录。但是,我搜索了 中的所有配置文件,/etc/apache2/看到的都是默认的 DocumentRoot "/Library/WebServer/Documents"httpd.conf

我已经在其中查找了Include语句httpd.conf,它们只是同一配置文件夹中的普通语句。我也对这些 .config 文件进行了 grep,但 DocumentRoot 没有任何变化。但不知何故,服务器没有从 Library/WebServer/Documents 加载。

使用这些配置文件是因为当我添加语法错误时,服务器将无法启动。是否有我应该查看的更高级别的配置文件?

我远非 Apache 专家,但我不知道还能尝试什么。有没有办法搜索所有包含的配置文件以查找设置 DocumentRoot 的位置?还有其他方法可以设置我遗漏的默认 Web 目录吗?

答案1

您可以使用以下命令查看默认的 ServerRoot:

httpd -V

假设 httpd 是您的 apache httpd 主二进制文件,在某些发行版中它被命名为 apache2 或类似的,只需查找它。

如果您仍然感到困惑并且不想查看所有文件,您只需在特定位置加载 mod_info 及其处理程序即可看到所有指定值。

还要注意,2.2 版的 httpd 文档说默认的 documentroot 是:“Default: DocumentRoot /usr/local/apache/htdocs”,但在从头编译 httpd 时可能会更改此设置。(配置脚本中的 --docdir= 选项)

相关内容