Désactiver le démarrage automatique d'Apache

17

Je suis sur une nouvelle installation 10.9 et le serveur Apache par défaut est org.apache.httpd: Already loadedaprès chaque démarrage. Existe-t-il un moyen de désactiver ce démarrage automatique?

Jusqu'à
la source

Réponses:

27

OS X permet launchctlde contrôler quels démons sont démarrés au démarrage.

Pour arrêter et désactiver Apache:

  1. Terminal ouvert
  2. Tapez la commande suivante (tapez votre mot de passe de connexion lorsque vous le sudodemandez):

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

Quelques mots sur launchctll' -woption de

L' -woption est la solution miracle pour arrêter / désactiver Apache. Il indique launchctlde faire son travail indépendamment des paramètres de configuration qui l'empêcheraient autrement de décharger le service, comme expliqué dans man launchctl:

-w       Overrides the Disabled key and sets it to false or true for the load and
         unload subcommands respectively. In previous versions, this option would
         modify the configuration file. Now the state of the Disabled key is stored
         elsewhere on- disk in a location that may not be directly manipulated by any
         process other than launchd.

(Il s'avère que, dans OS X Mavericks (10.9), "ailleurs sur le disque" est /private/var/db/launchd.db/com.apple.launchd/overrides.plist.)

L' -woption est indispensable si vous avez démarré Apache avec apachectl start: comme expliqué dans cette réponse de superutilisateur . apachectlnon seulement démarre Apache mais modifie également /private/var/db/launchd.db/com.apple.launchd/overrides.plistcomme ceci:

<key>org.apache.httpd</key>
<dict>
        <key>Disabled</key>
        <false/>
</dict>

Dans ce cas particulier, vous pouvez également utiliser apachectl:

sudo apachectl stop

pour arrêter Apache et définir Disabledsur true.

jaume
la source
J'ai essayé, mais chaque fois que j'exécute sudo apachectl startle démon de lancement semble être réactivé après le redémarrage.
jusqu'au
Essayez avec -w: sudo launchctl -w unload .... Si cela n'aide pas, pourriez-vous publier la sortie de ps -ef|grep httpd|grep -v grep?
jaume
J'ai essayé -wavant, même résultat. Voici la sortie: pastebin.com/h14t8fEv
jusqu'au
Merci, sudo launchctl1 ...retourne-t-il un message d'erreur? Pourriez-vous publier la sortie de grep apache /var/log/com.apple.launchd/launchd-shutdown.system.loget sudo grep apache /var/log/system.log?
jaume
Oui: sudo: launchctl1: command not foundet voici la sortie: pastebin.com/raw.php?i=zxKvYV4i
jusqu'au