Disabilita l'avvio automatico di Apache

14

Sono in una nuova installazione di 10.9 e il server Apache predefinito è org.apache.httpd: Already loaded dopo ogni avvio. C'è un modo per disabilitare quell'autostart?

    
posta Till 03.02.2014 - 08:11
fonte

1 risposta

21

OS X fornisce launchctl per controllare quali daemon vengono avviati al momento dell'avvio.

Per interrompere e disabilitare Apache:

  1. Apri Terminal
  2. Digitare il seguente comando (digitare la password di accesso quando sudo lo richiede):

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

Alcune parole sull'opzione launchctl di -w

L'opzione -w è la pallottola d'argento per fermare / disabilitare Apache. Indica a launchctl di eseguire il proprio lavoro indipendentemente dalle impostazioni di configurazione che altrimenti impedirebbero di scaricare il servizio, come spiegato in 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.

(Si scopre che, in OS X Mavericks (10.9), "altrove su disco" è /private/var/db/launchd.db/com.apple.launchd/overrides.plist .)

L'opzione -w è indispensabile se hai avviato Apache con apachectl start : come spiegato in questa risposta di Superuser . apachectl non solo avvia Apache, ma modifica anche /private/var/db/launchd.db/com.apple.launchd/overrides.plist in questo modo:

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

In questo caso particolare puoi anche utilizzare apachectl :

sudo apachectl stop

per arrestare Apache e per impostare Disabled su true .

    
risposta data 03.02.2014 - 08:25
fonte

Leggi altre domande sui tag