Aqui está o erro que recebo ao inicializar 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
Segui pela primeira vez este guia sobre como configurar o Apache para hospedar vários sites:
Encontrei uma pergunta semelhante no ServerFault e tentei 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'd para proteger os inocentes :-)
Além disso, tenho o arquivo conf.d / virtual.conf mencionado no guia da seguinte maneira:
NameVirtualHost *
O estranho é que tudo parece funcionar bem em dois dos três sites.
apache-2.2
virtualhost
rcampbell
fonte
fonte
Respostas:
Os endereços IP nomeados com
NameVirtualHost
devem corresponder ao endereço IP em cadaVirtualHost
elemento.Exemplo:
Leia a documentação do Apache Virtual Host para obter detalhes.
fonte
Substitua isto:
Com isso:
fonte
Adicionando às respostas, uma coisa que notei é que você não pode executar SSL sem ter declarado explicitamente: 80 em todas as diretivas NameVirtualHost e VirtualHost, o apache não suporta:
NameVirtualHost *
e
NameVirtualHost *: 443
Misturados na mesma configuração, você obterá erros no apache ouvindo na porta zero se fizer isso.
Para mim, acabei de adicionar: 80 a todos os hosts para que o SSL pudesse funcionar de maneira proprietária.
fonte
Ex:
<VirtualHost 85.25.97.252:80>
ServerName domain.com
ServerAlias * .domain.com
ServerAdmin [email protected]
DocumentRoot "/var/www/domain.com/httpdocs/"
<Directory "/var/www/domain.com/ httpdocs / ">
Índices de opções FollowSymLinks
AllowOverride All
Order allow, negue
Allow from all
</Directory>
</VirtualHost>
fonte