Nonaktifkan autostart Apache

17

Saya sedang menginstal baru 10.9 dan server Apache default adalah org.apache.httpd: Already loadedsetelah setiap startup. Apakah ada cara untuk menonaktifkan autostart itu?

Sampai
sumber

Jawaban:

27

OS X menyediakan launchctluntuk mengontrol daemon mana yang dijalankan saat boot.

Untuk menghentikan dan menonaktifkan Apache:

  1. Buka Terminal
  2. Ketikkan perintah berikut (ketik kata sandi login Anda saat sudomemintanya):

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

Beberapa kata tentang launchctl's -wpilihan

The -wpilihan adalah peluru perak untuk menghentikan / menonaktifkan Apache. Ia memberi tahu launchctluntuk melakukan tugasnya terlepas dari pengaturan konfigurasi apa pun yang jika tidak akan mencegahnya membongkar layanan, seperti yang dijelaskan dalam 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.

(Ternyata, di OS X Mavericks (10.9), "di tempat lain pada disk" adalah /private/var/db/launchd.db/com.apple.launchd/overrides.plist.)

The -wpilihan adalah sangat diperlukan jika Anda mulai Apache dengan apachectl start: seperti yang dijelaskan dalam jawaban Superuser ini . apachectltidak hanya menjalankan Apache tetapi juga memodifikasi /private/var/db/launchd.db/com.apple.launchd/overrides.plistseperti ini:

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

Dalam kasus khusus ini Anda juga dapat menggunakan apachectl:

sudo apachectl stop

untuk menghentikan Apache dan mengatur Disabledke true.

Jaume
sumber
Saya mencobanya, tetapi setiap kali saya menjalankan sudo apachectl startdaemon peluncuran tampaknya diaktifkan kembali setelah restart.
Hingga
Cobalah dengan -w: sudo launchctl -w unload .... Jika tidak membantu, bisakah Anda memposting output ps -ef|grep httpd|grep -v grep?
jaume
Saya mencoba -wsebelumnya, hasil yang sama. Berikut ini hasilnya: pastebin.com/h14t8fEv
Hingga
Terima kasih, apakah sudo launchctl1 ...mengembalikan pesan kesalahan? Bisakah Anda memposting output dari grep apache /var/log/com.apple.launchd/launchd-shutdown.system.logdan sudo grep apache /var/log/system.log?
jaume
Ya: sudo: launchctl1: command not founddan ini adalah outputnya: pastebin.com/raw.php?i=zxKvYV4i
Hingga