O padrão do Apache2 sobrescreve o host virtual

2

Eu tenho um servidor Ubuntu 12.10 LTS executando o apache2 com uma instalação simples do wordpress. Eu criei o host virtual em / etc / apache2 / sites-available e usei o a2ensite para ativá-lo. Tudo estava funcionando bem por dois dias.

Esta manhã eu acordei para verificar o site e parecia que o host virtual não estava funcionando. Ele continuou indo para o site padrão no apache2.

Aqui está minha configuração:

padrão

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

host virtual: domain.com

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domain.com
     ServerAlias www.domain.com
     DocumentRoot /srv/www/domain.com/public_html/
     ErrorLog /srv/www/domain.com/logs/error.log
     CustomLog /srv/www/domain.com/logs/access.log combined
</VirtualHost>

Como você pode ver, eu tenho duas configurações separadas sem conflitos. Mas o apache2 continua revertendo para o site padrão em vez do vhost baseado em nome. Meu arquivo / etc / hosts está correto e tem um FQDN e o nome do host apontado para o IP voltado para o público também. Isso aconteceu da noite para o dia.

Eu executei um a2dissite em domain.com, apache2 reload, depois a2ensite em domain.com sem resultados. Acabei tendo a2dissite a configuração padrão. Uma vez que fiz isso, o site domain.com criou o meu site wordpress bem.

Alguma idéia de por que isso aconteceu? Eu corri o apache2 e o nginx por anos e nunca tive problemas com hospedagem virtual. Este é um pouco estranho. Eu não deveria ter que desabilitar o site padrão para o meu outro host virtual funcionar.

Alguma opinião?

    
por nulltek 09.02.2014 / 16:18

1 resposta

3

Tente adicionar

ServerName localhost

no host virtual padrão. Além disso, você pode desativar temporariamente o < Diretório / > seção do host virtual padrão, parece ser inútil.

    
por 09.02.2014 / 17:14