Я пытаюсь отладить некоторое странное поведение на апачских 2,4 установках на сервере Ubuntu 14.04.
Я замечаю, удаляю ли я все виртуальные хосты и дополнительные конфигурации путем комментирования их 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
(Затем перезапустите апача),
Если я просмотрю апачам сервера, то будет все еще служить содержанию от /var/www
.
Мой вопрос, как или где апач "сказал" использовать это в качестве корня документа?
DocumentRoot
это компилируется в самого апача?DocumentRoot = /var/www
директивы? Существует окончательная нейтрализация 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 .
Да, если Вы не имеете DocumentRoot
директива в Вашей конфигурации, скомпилированный в значении по умолчанию используется. В Ubuntu прежде 14.10 это /var/www
, в 14,10 это было изменено на /var/www/html
.