Bagaimana cara memulai apache di OSX Mountain Lion / Mavericks?


71

OSX Mountain Lion menghapus GUI untuk berbagi web, tetapi apache masih diinstal.

Bagaimana saya memulai dan menghentikan layanan? Bagaimana cara mendapatkan layanan untuk diluncurkan secara otomatis saat startup?


Dimulai secara otomatis, setidaknya untuk saya. Cukup ketikkan 0.0.0.0 itu harus ada di sana.
Wojciech Bednarski

@Lri Tidak. Saya melakukan upgrade dari 10,7
Wojciech Bednarski

Jawaban:


79

LaunchDaemon untuk Apache juga masih ada, jadi yang harus Anda lakukan adalah memuatnya:

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

Itu -wmembuatnya permanen, yaitu akan dimuat ulang ketika Anda reboot.


Bagaimana Anda mematikan ini setelah dimulai dengan cara ini?
James McMahon

9
@JamesMcMahon:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Gordon Davisson

Hmm, ada sesuatu yang masih berjalan di localhost, saya berasumsi itu adalah Apache, mungkin saya punya sesuatu yang lain berjalan.
James McMahon

@JamesMcMahon: Anda dapat menggunakan mis sudo lsof -i:80untuk melihat proses apa yang sedang mendengarkan pada port yang diberikan. Dari sana, jawaban sebelumnya ini mungkin membantu Anda melacaknya ...
Gordon Davisson

35

Perintah Terminal

Mulai: "sudo apachectl start"

Berhenti: "sudo apachectl stop"

Restart: "sudo apachectl restart"

Meluncurkan saat Startup

(Lihat jawaban yang ditandai di utas ini)


Apakah ada dir ShutdownItems yang setara? Tidak ada OSX di depanku saat ini ...
Rich Homolka

Dulu ada /etc/rc.shutdown.local - tidak yakin apakah itu masih ada ...
slifty

12

sudo apachectl startjuga mengaktifkan daemon launchd. Itu menimpa Disabledkunci /System/Library/LaunchDaemons/org.apache.httpd.plistdengan memodifikasi /private/var/db/launchd.db/com.apple.launchd/overrides.plist, sama seperti launchctl load -w.

Agar http://localhost/~username/dapat berfungsi, Anda harus membuat /etc/apache2/users/username.confdan menambahkan <Directory>arahan seperti ini:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

1
Saya menemukan artikel yang sangat bagus di sini. Juga mencakup enablation modul php. coolestguyplanettech.com/downtown/…
Peter Ehrlich

8

Slifty dan Lauri mengisyaratkan konsep penting tanpa mengatakannya dengan jelas.

"sudo apachectl start" tidak hanya akan memulai apache tetapi juga akan memodifikasi /private/var/db/launchd.db/com.apple.launchd/overrides.plist sehingga apache akan memulai ulang secara otomatis setiap kali sistem di-boot ulang.

Demikian pula, "sudo apachectl stop" akan menghentikan apache dan memodifikasi file di atas sehingga apache tidak akan mulai ketika sistem di-boot ulang.

Ini tampaknya menjadi cara paling sederhana untuk mengontrol apakah layanan dimulai secara otomatis.


3

Bagi mereka yang mencari GUI, Click On Tyler telah mengembangkan aplikasi panel kontrol, http://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

Sampel GUI


Widget yang bagus .. namun di sistem saya ada yang tidak beres dan apache tidak dimulai .. :(
Dilip Rajkumar

Sama disini. Tampaknya sedikit kode ceroboh - kebingungan tua yang baik tentang file .pid kurasa ... zzz
conny

Ini keren .. Tapi ketinggalan zaman, tidak berfungsi pada Yosemite. Bagaimana kita menghapus ini dari panel pengaturan kita?
emotalitas

Untuk Menghapus:~/Library/PreferencePanes
emotalitas

Maaf, ini tidak lagi tersedia, atau menjadi bagian dari produk komersial yang hanya dapat Anda unduh secara lengkap - bukan hanya panel preferensi. Ada alternatif?
Motti Shneor

1

Panel preferensi ini memiliki tautan untuk folder situs komputer dan untuk membuka browser: http://stowlake.com/WebServer


Panel preferensi UI yang jelek ini langsung crash ketika Anda mencoba untuk memulai web-server pada OS-X 10.11 dan 10.12. Log kecelakaan tersedia atas permintaan Anda;)
Motti Shneor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.