Como posso resolver o erro apache2 httpd “não é suportado o compartilhamento de portas * e portas não * com um endereço NameVirtualHost”

24

Aqui está o erro que recebo quando inicializo o Apache2:

 * Starting web server apache2
 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

Primeiramente, segui este guia sobre como configurar o Apache para hospedar vários sites:

http://www.debian-administration.org/articles/412

Encontrei então uma pergunta semelhante no ServerFault e tentou aplicar a solução, mas não ajudou.

Aqui está um exemplo da minha configuração final do VirtualHost:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName  www.xxx.com
    ServerAlias xxx.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/www.xxx.com

    # Logfiles
    ErrorLog  /var/www/www.xxx.com/logs/error.log
    CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>

com o domínio X para proteger os inocentes: -)

Além disso, eu tenho o arquivo conf.d / virtual.conf mencionado no guia com esta aparência:

NameVirtualHost *

O mais estranho é que tudo parece funcionar bem em dois dos três sites.

    
por rcampbell 21.10.2009 / 14:41

4 respostas

29

Os endereços IP nomeados com NameVirtualHost precisam corresponder ao endereço IP em cada elemento VirtualHost .

Exemplo:

NameVirtualHost *:80
NameVirtualHost *:81

<VirtualHost *:80>
# ...
</VirtualHost>

<VirtualHost *:81>
# ...
</VirtualHost>

# This will not work!
<VirtualHost *>
# ...
</VirtualHost>

Leia a documentação do Apache Virtual Host para obter detalhes.

    
por 21.10.2009 / 15:43
13

Substitua isto:

NameVirtualHost *

Com isso:

NameVirtualHost *:80
    
por 21.10.2009 / 17:40
5

Somando-se às respostas, uma coisa que eu notei é que você não pode rodar SSL sem declarar explicitamente o: 80 em todas as diretivas NameVirtualHost e VirtualHost, o apache não suportará:

NameVirtualHost *

e

NameVirtualHost *: 443

Misturado na mesma configuração, você receberá erros no apache ouvindo na porta zero se fizer isso.

Para mim, adicionei: 80 a todos os hosts, para que o SSL possa funcionar de maneira proprietária.

    
por 21.05.2010 / 11:42
0

Ex:

< VirtualHost 85.25.97.252:80>
       Nome_do_servidor domain.com
       ServerAlias * .domain.com
       ServerAdmin [email protected]
       DocumentRoot "/var/www/domain.com/httpdocs/"
       < Diretório "/var/www/domain.com/httpdocs/">
               Opções Índices FollowSymLinks Review                AllowOverride Todos os anúncios                Encomendar permitir, negar
               Permitir de todos os
      < / Diretório >
   < / VirtualHost >

    
por 27.09.2011 / 07:13