Eu tenho o apache2 instalado no Mac OS X 10.7.4 viamacports
Recentemente não consegui acessar meu diretório localhost. Recebi um 404, mas consigo acessar 127.0.0.1
Eu tentei reiniciar o apache:
sudo /opt/local/apache2/bin/apachectl stop
sudo /opt/local/apache2/bin/apachectl start
e recebo os seguintes erros:
(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address [::]:443
Verifiquei se o compartilhamento na web está desativado. Parece que o apache já está usando esses pontos ou o serviço não está parando corretamente.
Como posso descobrir o que está usando as portas?
Responder1
O comando shell "lsof" pode informar exatamente qual processo está usando quais arquivos e endereços de soquete no sistema. Apenas tente um
sudo lsof
ou, como o resultado será muito, melhor
sudo lsof | less
e procure algo nas portas http. Como sempre
man lsof
fornecerá mais informações sobre como personalizar a saída.
Responder2
Para referência, no Mountain Lion 10.8.2, simplesmente interromper o serviço apache2 resolveu:
sudo apachectl stop
Dessa forma, os processos httpd não serão reiniciados e o servidor Macports apache2 iniciará bem depois disso.
Responder3
No meu Mac com Mojave (10.14.1), de repente o Apache não conseguiu mais servir IPv4, então me deu o ERRO 403. Tentei matar todos os apache ( sudo killall httpd
) ... verificando os PIDs com
sudo lsof | grep AMP | grep apache
nem funcionou... apenas o IPv6 estava disponível... ainda ERRO 403
O que funciona para mim: desative o servidor Apache integrado do macOS.
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
depois disso:
sudo apachectl -k restart
seja feliz :)