Diretiva do diretório do host virtual do Apache ignorada no segundo host virtual

1

Eu tenho um servidor web Centos configurado com 2 sites. Inicialmente, ele tinha apenas um site e a configuração virtualhost foi adicionada ao final do arquivo httpd.conf. Não é uma prática recomendada, porém, sei que funcionou bem e se parece com o seguinte.

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
#ServerAdmin [email protected]
DocumentRoot /var/www/html/example/
ErrorLog /var/log/httpd/example_error.log
CustomLog /var/log/httpd/example_access.log combined
#loglevel warn
<Directory />
    #Options Indexes FollowSymLinks
    #AllowOverride None
    #Require all granted
    Options Indexes FollowSymLinks MultiViews
    Allowoverride All
    Order allow,deny
    allow from all
</Directory>

Um segundo site de desenvolvimento foi adicionado, que era uma cópia do primeiro e o host virtual foi criado logo abaixo do primeiro no arquivo httpd.conf da seguinte forma:

<VirtualHost *:80>
ServerName dev.example.com
ServerAlias dev.example.com
DocumentRoot /var/www/dev.example.com/html
#ErrorLog /var/log/httpd/dev.example.com/error.log
#CustomLog /var/log/httpd/dev.example.com/requests.log combined
<Directory />
    #Options Indexes FollowSymLinks
    #AllowOverride None
    #Require all granted
    Options Indexes FollowSymLinks MultiViews
    Allowoverride All
    Order allow,deny
    allow from all
</Directory>

A segunda configuração do host virtual está definitivamente sendo lida, pois exibe o site do desenvolvedor, mas as diretivas de diretório parecem ser ignoradas.

Eu também tentei tornar o segundo caminho do diretório explícito, por exemplo

 <Directory /var/www/dev.example.com/html>

No entanto, foi ignorado novamente.

Estou faltando alguma coisa na configuração do segundo site que permitirá que a diretiva do diretório seja lida?

    
por jmck 28.08.2017 / 12:00

2 respostas

0

Obrigado a ambos acima por suas informações. Ele me disse que um site estava funcionando e que não era quando o arquivo de configuração não estava configurado corretamente. Eu teria assumido que ambos os sites não funcionariam.

  1. Remova a diretiva de diretório da seção virtualhost.
  2. Torne os caminhos do diretório explícitos, por exemplo

    <Directory /var/www/dev.website1.com/html>

  3. Deixar allowoverride tudo no lugar.

  4. Reinicie o serviço.

Além disso, enquanto um site estava funcionando e o outro não estava, até que as diretivas do diretório de sites foram definidas com um caminho explícito que começou a funcionar.

    
por 29.08.2017 / 12:25
1

Diretório / refere-se ao diretório raiz do servidor. Tente Location / para se referir ao URL específico para o virtualhost.

    
por 28.08.2017 / 14:49