Aviso de inicialização do Apache 2: NameVirtualHost *: 80 não tem VirtualHosts

66

Quando meu servidor Apache 2 do Ubuntu (Apache 2) é iniciado, recebo uma mensagem de aviso que diz:

[warn] NameVirtualHost *:80 has no VirtualHosts

No entanto, o servidor da Web está funcionando bem. O que posso ter de errado na configuração do meu site para fazer com que ele me avise?

O arquivo de configuração em questão (localizado em /etc/apache2/sites-available ) é semelhante a (detalhes removidos por brevidade)

<VirtualHost *>
    <Location /mysite>
        # Configuration details here...
    </Location>

    # Use the following for authorization.
    <LocationMatch "/mysite/login">
        AuthType Basic
        AuthName "My Site"
        AuthUserFile /etc/sitepasswords/passwd
        Require valid-user
    </LocationMatch>
</VirtualHost>

O fato de eu estar usando <Location> faz parte do problema?

    
por Kit Roed 30.04.2009 / 18:16

7 respostas

53

Alterar

<VirtualHost *>

para ler

<VirtualHost *:80>

Ou o seu (NameVirtualHost *: 80) adicionado duas vezes no seu arquivo Confing do apache2. (Por padrão é adicionado no arquivo ports.conf)

Isso deve limpar o erro.

Além de: você não deve ignorar este erro. A configuração do Apache, especialmente quando a globalização de hosts virtuais (por exemplo, Incluir /etc/httpd/vhosts.d/*) não é estável. Isso significa que você não controla a ordem de carregar os hosts explicitamente, de modo que o vhost padrão para um IP se torne o primeiro a ser carregado, o que pode levar a conseqüências não intencionais.

Um exemplo disso é que o vhost padrão para um IP também estará disponível naquele IP, em vez de seu nome . Isso pode fazer com que as informações vazem no Google, referindo-se ao IP de seus sites, em vez de ao nome, o que pode ser confuso para os clientes.

O erro NameVirtualHost acima pode ser uma sugestão de que o apache carregou as coisas de uma maneira não ideal, então você não deve ignorá-lo.

    
por 10.05.2009 / 03:30
51

Isso pode ser porque você tem a diretiva NameVirtualHost em mais de um lugar.

Eu não sei sobre outras distribuições, mas no Ubuntu / Debian, a configuração do Apache é dividida em vários arquivos, então você teria que verificar onde a duplicação é (httpd.conf, apache2.conf, ports.conf, conf.d / *).

Ah, e acabei de encontrar esse grande recurso com mais informações: Configurações incorretas comuns do Apache .

    
por 30.04.2009 / 18:21
9

Em uma caixa Debian / Lenny: Em /etc/apache2/ports.conf existe uma instrução adicional NameVirtualHost - que pode ser a causa deste problema (há também a mesma declaração em / etc / apache2 / sites-available / default). Comentei essa afirmação e o erro desapareceu.

    
por 19.07.2009 / 08:12
3

Você tem um NameVirtualHost sem uma entrada VirtualHost correspondente.

Isso normalmente não é fatal, apenas um erro informativo.

    
por 30.04.2009 / 18:22
3

É porque sua linha NameVirtualHost tem um número de porta ( :80 ), mas suas seções do VirtualHost não.

    
por 30.04.2009 / 18:42
2

AS menções de Rune, nos sistemas Debian NameVirtualHost aparece em muitos arquivos - ports.conf, conf.d / virtual.conf e possivelmente seus próprios arquivos conf nos sites disponíveis

Certifique-se de que exista em um lugar como NameVirtualHost *: 80 (o meu está em conf.d / virtual.conf) e os avisos devem ir.

Como mencionado, você também precisa fazer a direção do VirtualHost para cada site disponível e ter esse formato <VirtualHost *:80>

    
por 15.11.2010 / 14:19
2

Eu tenho o mesmo problema, mas desabilito o site padrão do Apache em algum momento. Eu digito algo como

# a2dissite default

Depois de tentar reiniciar o Apache 2, recebo esta mensagem:

"[warn] NameVirtualHost *:80 has no VirtualHosts"

Então eu habilito o site 'default' do Apache 2 novamente e tudo funciona novamente, o comando usado é:

# a2ensite default

Isso é tudo pessoal!

    
por 31.03.2010 / 19:53