Comment arrêter l'exécution de httpd sous Mac OS X (10.11) El Capitan Server?

30

J'utilise OS X El Capitan avec le serveur (application) configuré pour me permettre l'accès VPN à mon réseau domestique. Malheureusement, l'application serveur a décidé de démarrer un tas de processus httpd , qui écoutent maintenant sur les ports 80, 443 et autres, même si les paramètres du serveur pour les sites Web sont désactivés et qu'aucun service ne doit être démarré sur ces ports.

Je ne veux pas ou n'ai pas besoin de ces services actifs et je voudrais que httpd soit arrêté (ou ne commence pas par commencer). Malheureusement, je ne peux ni tuer ces processus (ils redémarrent tout de suite), ni les contrôler via 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

En essayant:

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

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

Alors, comment puis-je terminer ces processus et libérer ces ports?

Je sais qu'il y a un fichier de configuration pour le serveur apache ici: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Je peux supprimer les lignes suivantes pour débloquer ces ports, mais les processus httpd sont toujours en cours d'exécution.

listen 80
listen 443
Chris
la source

Réponses:

23

Le service proxy Apple est le service qui récupère les ports 80 et 443, vous devez donc arrêter celui-ci.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Zanthra
la source
3
Cela s'est avéré être exactement la solution pour moi. "sudo apachectl stop" a juste donné la même erreur que launchctl.
Kosmonaut
19

Vous pouvez arrêter cela avec la commande:

sudo apachectl stop
Przemek Krzysztof Wycisk
la source
8

Cette commande devrait tous les tuer:

sudo killall httpd

Ils recommenceront au prochain démarrage.

stravanato
la source
3
Je n'ai pas diminué non plus, mais cela peut avoir à voir avec le fait que j'ai mentionné qu'il est inutile de tuer les processus, car ils sont redémarrés automatiquement.
Chris
étonnamment, après avoir essayé toutes les autres méthodes ... celle-ci a fonctionné ... pour une raison quelconque, le démon est resté en vie après avoir été déchargé et tué de toute autre manière, celui-ci l'a nettoyé
Ray Foss