วิธีการสร้าง Apache เริ่มต้น httpd โดยอัตโนมัติเมื่อเริ่มระบบใน Mac OS X

นักพัฒนาเว็บของ Mac อาจคุ้นเคยกับการเริ่มต้นและหยุดเว็บเซิร์ฟเวอร์ Apache ใน OS X ด้วยตนเองโดยเริ่มจากบรรทัดคำสั่งเดี๋ยวนี้ แต่ถ้าคุณต้องการให้ Apache เริ่มทำงานโดยอัตโนมัติเมื่อบูตเครื่องและบูตเครื่อง Mac ใหม่คุณจะต้องไปที่ ก้าวต่อไปและใช้ launchctl โดยการทำเช่นนั้น webdevs จะไม่จำเป็นต้องเรียกใช้คำสั่งเริ่มต้นของ apache ด้วยตนเองเพื่อเริ่มต้นภูต httpd Apache มันจะเริ่มขึ้นเองโดยอัตโนมัติทุกครั้งที่เครื่อง Mac บูทขึ้น อย่างเป็นธรรมชาติเราจะแสดงวิธีการหยุด Apache ด้วยเช่นกัน


สิ่งที่คำสั่งเหล่านี้ทำคือโหลดเว็บเซิร์ฟเวอร์ apache เปิดตัว daemon ลงใน OS X เมื่อเริ่มระบบ เนื่องจากใช้ launchctl คุณจะต้องมีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบผ่าน sudo เพื่อโหลดหรือยกเลิกการโหลด apache โปรดจำไว้ว่านี่เป็นสิ่งจำเป็นสำหรับ OS X ที่ทันสมัยกว่าซึ่งไม่มีตัวเลือก 'การแบ่งปันทางเว็บ' ในแผงการกำหนดลักษณะการแบ่งปัน

หมายเหตุ: สมมติว่าคุณได้กำหนดค่าและตั้งค่า Apache บนเครื่อง Mac แล้วหากยังไม่ได้ทำคุณควรเริ่มต้นที่นั่นมิเช่นนั้นคุณจะโหลด Apache โดยอัตโนมัติโดยไม่มีการกำหนดค่ามาก

ตั้งค่า Apache ให้เริ่มทำงานโดยอัตโนมัติเมื่อเริ่มระบบใน Mac OS X

จาก Terminal ให้ป้อนคำสั่งต่อไปนี้:

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

กด Hit Return และป้อนรหัสผ่านผู้ดูแลระบบตามที่ต้องการเพื่อให้งานเสร็จสิ้น

ตอนนี้เมื่อ Mac บูตหรือรีบูตแล้ว Apache จะเริ่มทำงานโดยอัตโนมัติซึ่งสามารถตรวจสอบได้โดยไปที่เบราว์เซอร์ใด ๆ และป้อน "localhost" เป็น URL

คุณจะเห็นข้อความ "It Works!" ที่คุ้นเคยที่ localhost และไฟล์หลักเหล่านั้นจะอยู่ใน:

/Library/WebServer/Documents/

นอกจากนี้คุณยังสามารถเปิดใช้งานตัวเลือกไซต์ระดับผู้ใช้สำหรับ localhost / ~ User แต่นั่นก็อยู่นอกเหนือขอบเขตของบทความนี้เราจะกล่าวถึงที่นี่

หยุด Apache จากการโหลดขณะบูตใน Mac OS X

เพื่อหยุด Apache จากการเริ่มต้นเองโดยอัตโนมัติเมื่อเริ่มต้นระบบคุณเพียงแค่ต้องเอาตัวแทนออกจาก launchd เช่นเดียวกับภูตอื่น ๆ เช่น:

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

อีกครั้งคุณต้องป้อนรหัสผ่านผู้ดูแลระบบเพื่อยืนยันการเปลี่ยนแปลง

ตรวจสอบว่ามีการโหลดหรือยกเลิกการโหลด Apache ใน launchd หรือไม่

ถ้าคุณไม่แน่ใจว่าคุณได้ตั้งค่า Apache ให้โหลดโดยอัตโนมัติหรือไม่คุณสามารถ query launchd for apache ได้ดังนี้:

launchctl list|grep apache

ไม่เห็น apache.httpd ถูกส่งกลับ? จากนั้นภูตไม่ได้โหลดและจะไม่เริ่มทำงานโดยอัตโนมัติ Apache ยังสามารถใช้และเริ่มต้นด้วยตนเอง แต่จะไม่เริ่มต้นด้วยการรีบูตหรือบูตง่ายๆ

ถ้าการกำหนดค่า Apache, PHP และ MySQL ใน OS X เป็นเรื่องที่ซับซ้อนเกินไปหรือถือว่ายุ่งยากมากเกินไปอีกทางเลือกหนึ่งคือการใช้แพคเกจเว็บเซิร์ฟเวอร์ที่กำหนดค่าไว้ล่วงหน้าเช่น MAMP MAMP นำเสนอโซลูชันเว็บเซิร์ฟเวอร์ที่มีอยู่ในตัวด้วยเช่นกันโดย Apache, PHP และ MySQL รวมอยู่ในแพ็คเกจแอพพลิเคชันตัวเดียวผู้ใช้เพียงแค่เรียกใช้ MAMP app และเริ่มบริการที่จำเป็นเพื่อเริ่มต้นและหยุดการทำงานของเว็บเซิร์ฟเวอร์สำหรับการพัฒนาในท้องถิ่น MAMP มีประสิทธิภาพและเป็นเครื่องมือที่ยอดเยี่ยมสำหรับนักพัฒนาเว็บระบบปฏิบัติการ Mac และโดยทั่วไปแล้วจะมีการปรับแต่งและซับซ้อนน้อยกว่าการปรับแต่งส่วนประกอบต่างๆให้ทำงานใน OS X ด้วยตัวเอง โซลูชันใดสามารถใช้งานได้ดีดังนั้นให้ใช้วิธีใดก็ได้สำหรับคุณและระดับความสะดวกสบายของคุณ