Como o servidor da web do apache “decide” qual conteúdo será veiculado quando nenhum host virtual estiver configurado?

1

Estou tentando depurar algum comportamento estranho em uma instalação do apache 2.4 no servidor Ubuntu 14.04.
Percebo que se eu remover todos os hosts virtuais e configurações adicionais comentando suas IncludeOptional lines do arquivo apache.conf config, por exemplo,

File: /etc/apache2/apache2.conf

# DISABLE generic snippets of statements
# IncludeOptional conf-enabled/*.conf

# DISABLE the virtual host configurations:
# IncludeOptional sites-enabled/*.conf

(Então reinicie o apache)

Se eu navegar até o servidor, o apache ainda exibirá o conteúdo de /var/www .

Minha pergunta é, como ou onde o apache está sendo "contado" para usar isso como uma raiz de documento?

  • é alguma queda final DocumentRoot que é compilada no próprio apache?
  • Eu examinei os arquivos de configuração do apache e não consigo encontrar nenhuma DocumentRoot = /var/www diretivas?
por Michael Coleman 02.03.2015 / 11:35

2 respostas

2

Existe uma localização DocumentRoot de fallback final. De os documentos do Apache :

Default:    DocumentRoot /usr/local/apache/htdocs

No entanto, para empacotamento, o padrão é alterado para /var/www (já que os pacotes não devem residir ou usar /usr/local ). O patch específico que faz isso é 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 */

Você pode examinar o patch completo baixando-o ( apt-get source apache2; cd apache2*; less debian/patches/fhs_compliance.patch ) ou on-line em O repositório Git de empacotamento do Debian .

    
por muru 02.03.2015 / 11:47
3

Sim, se você não tiver uma diretiva DocumentRoot em sua configuração, um valor padrão compilado será usado. No Ubuntu antes de 14.10 é /var/www , em 14.10 isso foi alterado para /var/www/html .

    
por Florian Diesch 02.03.2015 / 11:46