¿Cómo dejo de ejecutar httpd en Mac OS X (10.11) El Capitan Server?

30

Estoy usando OS X El Capitan con el servidor (aplicación) configurado para permitirme acceso VPN a mi red doméstica. Desafortunadamente, la aplicación del servidor ha decidido iniciar un montón de procesos httpd , que ahora están escuchando en los puertos 80, 443 y otros, a pesar de que la configuración del servidor para los sitios web está desactivada y no se deben iniciar servicios en estos puertos.

No deseo ni necesito que estos servicios estén activos y me gustaría que httpd se apague (o que no comience de cero). Desafortunadamente, no puedo matar esos procesos (simplemente se reinician de inmediato) ni puedo controlarlos a través de launchctl .

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

Al intentarlo:

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

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

Entonces, ¿cómo termino esos procesos y libero esos puertos?

Sé que hay un archivo de configuración para el servidor apache aquí: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Puedo eliminar las siguientes líneas para desbloquear esos puertos, pero los procesos httpd aún se están ejecutando.

listen 80
listen 443
Chris
fuente

Respuestas:

23

El servicio proxy de apple es el servicio que toma los puertos 80 y 443, por lo que debe detenerlo.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Zanthra
fuente
3
Esto resultó ser exactamente la solución para mí. "sudo apachectl stop" acaba de dar el mismo error que launchctl.
Kosmonaut
19

Puede detener eso con el comando:

sudo apachectl stop
Przemek Krzysztof Wycisk
fuente
8

Este comando debería matarlos a todos:

sudo killall httpd

Comenzarán nuevamente en el próximo arranque.

stravanato
fuente
3
Tampoco voté en contra, pero puede que tenga que ver con el hecho de que mencioné que no tiene sentido matar los procesos, ya que se reinician automáticamente.
Chris
Sorprendentemente, después de probar cualquier otro método ... este funcionó ... por alguna razón el demonio se mantuvo con vida después de ser descargado y asesinado de cualquier otra manera, este lo limpió
Ray Foss