
Instalei o Apache 2 no Ubuntu 12.10. Quando tento iniciar o serviço usando sudo /etc/init.d/apache2 start
, recebo a seguinte mensagem.
*Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information. [fail]
Responder1
É bem possível que você já tenha algo em execução (ou "vinculado a") nessa porta. Experimente este comando para ver os processos em questão:
sudo lsof -i :80
Isso lista os processos que escutam na porta 80. Depois de encontrar o culpado, você sabe qual processo usar kill
ou kill -9
(também como superusuário).
Tenha em mente que a instância do Apache, supondo que você a tenha iniciado antes, pode ter ficado "obsoleta" ou se tornado um zumbi. Neste último caso, até mesmo uma reinicialização pode ser necessária em alguns casos.
Caso contrário, siga a resposta do dedunumax.
Responder2
Tentarsudo service apache2 start
então digite
sudo service apache2 status
o segundo comando exibirá se está em execução ou não.
Responder3
Recebi esta mensagem de erro com a seguinte configuração:
# cat /etc/hosts
127.0.0.1 localhost
127.0.0.1 foo
...
# cat /etc/apache2/sites-enabled/foo
<VirtualHost foo:80>
...
# cat /etc/apache2/ports.conf
...
NameVirtualHost *:80
Listen localhost:80
...
Mudar ports.conf
para o seguinte resolveu o problema:
NameVirtualHost *:80
Listen 127.0.0.1:80
Responder4
Alguns outros softwares como o Nginx podem estar em execução e usando a porta 80.
O Apache2 travou no meu VPS com a mesma mensagem de erro e descobri que o Nginx estava presente no servidor e algo (um cron job?) foi iniciado alguns dias depois. Isso provoca um conflito, pois usa a porta: 80 e de alguma forma tem prioridade sobre o Apache2.
Para verificar se alguma coisa já está usando a porta: 80, digite:
netstat -tulpn
Eu resolvi isso desinstalando o Nginx (com "remove --purge"), encerrando o processo nginx e reiniciando o Apache2.