Estou tendo problemas para configurar os Hosts Virtuais baseados em nome.
Eu posso iniciar o servidor com "service apache2 start" com um arquivo httpd.conf em branco, e ele será executado com tudo apontando para / var / www, como esperado.
Quando eu preencher o httpd.conf com:
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/kevins_playground
ServerName home.coolkev.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/flatline_and_co
ServerName www.flatline_and_co.com
# Other directives here
</VirtualHost>
Eu recebo este erro ao executar o "serviço apache2 start"
root@kevin-server:/etc/apache2# service apache2 start
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Jul 26 20:10:01 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Eu encontrei uma solução,
- Eu removi todas as minhas alterações para o httpd.conf, para mim, isso deixou um arquivo em branco.
- copiei o arquivo de site padrão existente em ./sites-available/ para meus dois Hosts virtuais.
- Eu editei esses dois arquivos e substituí os valores onde fazia sentido, acho que deveria ser óbvio onde eles precisam mudar (pasta base do site, URL do site).
- Eu criei sym-links como você deveria em ./sites-enabled /
- Eu reiniciei o servidor web 'serviço sudo apache2 restart' e funcionou.
Acho que o problema surgiu do fato de que, ao analisar os arquivos, o Apache descobriu dois arquivos com "< VirtualHost >", meu httpd.conf e a configuração padrão do site em ./sites-available /