Como interrompo a execução do httpd no Mac OS X (10.11) El Capitan Server?

Como interrompo a execução do httpd no Mac OS X (10.11) El Capitan Server?

Estou usando o OS X El Capitan com o servidor (aplicativo) configurado para permitir acesso VPN à minha rede doméstica. Infelizmente, o aplicativo Server decidiu iniciar várioshttpdprocessos, que agora estão escutando nas portas 80, 443 e outras, mesmo que as configurações do servidor paraSiteséDESLIGADOe nenhum serviço deve ser iniciado nessas portas.

Eu não quero ou preciso desses serviços ativos e gostaria que o httpd fosse encerrado (ou não iniciado). Infelizmente, não posso matar esses processos (eles simplesmente reiniciam imediatamente) nem posso controlá-los atravéslançamentoctl.

sudo lsof -i :80
httpd   422 root    5u  IPv6 0x7...     0t0  TCP *:http (LISTEN)
httpd   425 _www    5u  IPv6 0x7...     0t0  TCP *:http (LISTEN)

ps u 422
USER   PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
root   422   0.0  0.0  2457156   6136   ??  Ss    5:55PM   0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log

Ao tentar:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service

Então, como faço para encerrar esses processos e liberar essas portas?

Eu sei que existe um arquivo de configuração para o servidor Apache aqui:/Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Posso remover as seguintes linhas para desbloquear essas portas, mas ohttpdos processos ainda estão em execução.

listen 80
listen 443

Responder1

O serviço proxy da Apple é o serviço que captura as portas 80 e 443, então você precisa interrompê-lo.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist

Responder2

Você pode parar isso com o comando:

sudo apachectl stop

Responder3

Este comando deve matar todos eles:

sudo killall httpd

Eles começarão novamente na próxima inicialização.

Responder4

Caso outras pessoas estejam chegando a esta questão pesquisando porhttpdouporta 80mas não tem o Server.app em execução, esta é a solução para macOS Monterey 12.xe posterior:

sudo launchctl bootout system/org.apache.httpd

informação relacionada