ฉันจะเริ่ม apache ใน OSX Mountain Lion / Mavericks ได้อย่างไร


71

OSX Mountain Lion ลบ GUI สำหรับการแชร์เว็บ แต่ยังติดตั้ง Apache อยู่

ฉันจะเริ่มและหยุดบริการได้อย่างไร ฉันจะรับบริการเพื่อเปิดโดยอัตโนมัติเมื่อเริ่มต้นได้อย่างไร


มันเริ่มต้นโดยอัตโนมัติอย่างน้อยสำหรับฉัน เพียงพิมพ์ 0.0.0.0 ควรอยู่ที่นั่น
Wojciech Bednarski

@ ไม่มีหมายเลขฉันได้อัปเกรดจาก 10.7
Wojciech Bednarski

คำตอบ:


79

LaunchDaemon สำหรับ Apache ยังคงมีอยู่เช่นกันดังนั้นสิ่งที่คุณต้องทำก็คือโหลดมัน:

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

การ-wทำให้มันถาวรนั่นคือมันจะถูกโหลดซ้ำเมื่อคุณรีบูท


คุณจะปิดสิ่งนี้ได้อย่างไรเมื่อเริ่มต้นด้วยวิธีนี้
James McMahon

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

อืมมีบางอย่างยังทำงานอยู่บน localhost ฉันคิดว่ามันเป็น Apache บางทีฉันอาจมีบางอย่างกำลังทำงานอยู่
James McMahon

@JamesMcMahon: คุณสามารถใช้เช่นsudo lsof -i:80เพื่อดูว่ากระบวนการใดที่กำลังฟังบนพอร์ตที่กำหนด จากนั้นคำตอบก่อนหน้านี้อาจช่วยให้คุณติดตามลง ...
กอร์ดอน Davisson

35

คำสั่งเทอร์มินัล

เริ่มต้น: "sudo apachectl start"

หยุด: "หยุด sudo apachectl"

เริ่มต้นใหม่: "sudo apachectl restart"

เปิดตัวที่ Startup

(ดูคำตอบที่ทำเครื่องหมายไว้ในหัวข้อนี้)


มี ShutdownItems เทียบเท่ากันหรือไม่ ไม่ได้มี OSX ในด้านหน้าของฉันในขณะที่ ...
รวย Homolka

เคยเป็น /etc/rc.shutdown.local - ไม่แน่ใจว่ามันยังอยู่ใกล้ ...
slifty

12

sudo apachectl startยังเปิดใช้งาน launchd daemon มันแทนที่Disabledสำคัญในการ/System/Library/LaunchDaemons/org.apache.httpd.plistโดยการปรับเปลี่ยนเช่นเดียวกับ/private/var/db/launchd.db/com.apple.launchd/overrides.plistlaunchctl load -w

ในhttp://localhost/~username/การทำงานคุณต้องสร้าง /etc/apache2/users/username.confและเพิ่ม<Directory>คำสั่งเช่นนี้:

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

1
ฉันพบการเขียนที่ยอดเยี่ยมของที่นี่ นอกจากนี้ยังครอบคลุมถึงโมดูล php enablation coolestguyplanettech.com/downtown/…
Peter Ehrlich

8

Slifty และ Lauri บอกใบ้ถึงแนวคิดที่สำคัญโดยไม่บอกอย่างชัดเจน

"sudo apachectl start" ไม่เพียง แต่จะเริ่มต้น apache เท่านั้น แต่ยังจะแก้ไข /private/var/db/launchd.db/com.apple.launchd/overrides.plist เพื่อให้ apache รีสตาร์ทโดยอัตโนมัติทุกครั้งที่ระบบรีบูทใหม่

ในทำนองเดียวกัน "sudo apachectl stop" จะหยุด apache และแก้ไขไฟล์ด้านบนเพื่อที่ apache จะไม่เริ่มเมื่อระบบรีบูท

นี่เป็นวิธีที่ง่ายที่สุดในการควบคุมว่าบริการจะเริ่มโดยอัตโนมัติหรือไม่


3

สำหรับผู้ที่ค้นหา GUI คลิกบนไทเลอร์ได้พัฒนาแอพแผงควบคุมhttp://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

ตัวอย่าง GUI


วิดเจ็ตที่ดี .. แต่ในระบบของฉันมีบางอย่างผิดปกติและ apache ไม่เริ่มทำงาน .. :(
Dilip Rajkumar

กันที่นี่ ดูเหมือนว่าจะเป็นรหัสเลอะเทอะนิดหน่อย - สับสนเก่าดีเกี่ยวกับ. pid-file ฉันเดา ... zzz
conny

มันเจ๋ง .. แต่ล้าสมัยไม่สามารถใช้กับโยเซมิตีได้ เราจะลบสิ่งนี้ออกจากบานหน้าต่างการตั้งค่าของเราได้อย่างไร
สมจริง

ในการลบ:~/Library/PreferencePanes
รู้สึก

ขออภัยไม่สามารถใช้งานได้อีกต่อไปหรือเป็นส่วนหนึ่งของผลิตภัณฑ์เชิงพาณิชย์ที่คุณสามารถดาวน์โหลดได้อย่างสมบูรณ์ - ไม่ใช่แค่ในพาเนลการตั้งค่า ทางเลือกใด?
Motti Shneor

1

บานหน้าต่างการตั้งค่านี้มีลิงค์สำหรับโฟลเดอร์ไซต์คอมพิวเตอร์และเปิดเบราว์เซอร์: http://stowlake.com/WebServer


พาเนลการกำหนดค่าตามความชอบของ UI ที่ค่อนข้างน่าเกลียดนี้เกิดปัญหาขึ้นทันทีในขณะที่คุณพยายามเริ่มเว็บเซิร์ฟเวอร์ในทั้ง OS-X 10.11 และ 10.12 มี Crash-logs ตามคำขอของคุณ;)
Motti Shneor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.