我正在尝试调试 Ubuntu 14.04 服务器上安装的 apache 2.4 上的一些奇怪行为。
我注意到,如果我通过从配置文件中注释掉它们的IncludeOptional
行来删除所有虚拟主机和其他配置apache.conf
,例如
File: /etc/apache2/apache2.conf
# DISABLE generic snippets of statements
# IncludeOptional conf-enabled/*.conf
# DISABLE the virtual host configurations:
# IncludeOptional sites-enabled/*.conf
(然后重启apache)
如果我浏览到服务器,apache 仍然会提供来自的内容/var/www
。
我的问题是,如何或在何处“告知” apache 将其用作文档根目录?
DocumentRoot
它是编译到 apache 本身中的一些最终的回退吗?- 我查看了 apache 配置文件,但找不到任何
DocumentRoot = /var/www
指令?
答案1
是的,如果您的配置中没有DocumentRoot
指令,则使用编译后的默认值。在 Ubuntu 14.10 之前的版本中,它是/var/www
,在 14.10 中,它已更改为/var/www/html
。
答案2
有一个最终的撤退DocumentRoot
地点。Apache 文档:
Default: DocumentRoot /usr/local/apache/htdocs
但是,对于打包,默认设置为/var/www
(因为包不应该驻留在或使用/usr/local
)。执行此操作的特定补丁是fhs_compliance.patch
:
--- a/include/httpd.h
+++ b/include/httpd.h
@@ -109,7 +109,7 @@
#define DOCUMENT_LOCATION HTTPD_ROOT "/docs"
#else
/* Set default for non OS/2 file system */
-#define DOCUMENT_LOCATION HTTPD_ROOT "/htdocs"
+#define DOCUMENT_LOCATION "/var/www"
#endif
#endif /* DOCUMENT_LOCATION */
apt-get source apache2; cd apache2*; less debian/patches/fhs_compliance.patch
您可以通过下载 ( ) 或在线访问来检查完整补丁Debian 的打包 Git 存储库。