จะเปลี่ยน Mac OS X Lion เป็นเว็บเซิร์ฟเวอร์ได้อย่างไร?


19

หลังจากใช้ MAMP มานานฉันรู้ว่าฉันสามารถใช้เซิร์ฟเวอร์ Apache ในตัวของ Snow Leopard ได้ ตอนนี้ฉันได้อัพเกรดเป็น Lion แล้วฉันก็ไม่รู้จะทำอย่างไรต่อไป

คุณรู้วิธีเปลี่ยน Mac OS X Lion ของฉันเป็นเว็บเซิร์ฟเวอร์หรือไม่เพื่อให้ฉันสามารถเรียกใช้ PHP และ MySQL เวอร์ชันล่าสุดได้อย่างง่ายดาย นอกจากนี้ฉันจะตั้งชื่อแทน "localhost" ได้อย่างไร ฉันจำได้ว่ามันเป็นไฟล์ httpd.conf ซึ่งเป็นสิ่งที่ฉันไม่พบใน Lion อีกต่อไป


เพียงแค่ความช่วยเหลือเล็ก ๆ น้อย ๆ สำหรับคนรัก GUI บรรณาธิการ: สำหรับใช้ TextMate mateเป็นบรรณาธิการเริ่มต้นจากสถานีคุณสามารถเรียกว่าเป็น sudo mate /etc/apache2/httpd.conf เป็นความคิดที่ดีที่จะลงทะเบียนใน ~ / .bash_profile เพื่อจุดประสงค์นั้นก่อนการใช้งานครั้งที่ 1: export EDITOR = 'mate -w' และสร้าง symlink ในโฟลเดอร์ ~ / bin ของคุณ: ln -s /Applications/TextMate.app/Contents/Resources/mate ~ / bin / mate * ข้อมูลข้างต้นใช้กับผู้ใช้ Mac OS X
ommunist

คำตอบ:


32

คุณต้องเปิดใช้งาน Apache ในการแชร์ prefpane ก่อน ตรวจสอบ "การแชร์เว็บ" และเว็บเซิร์ฟเวอร์ของคุณกำลังทำงาน

โปรดทราบว่าตั้งแต่ Mountain Lionการแบ่งปันเว็บถูกลบออกจากบานหน้าต่างการตั้งค่าการแชร์ แต่ Apache ยังคงรวมอยู่ ตรวจสอบคำตอบนี้เพื่อควบคุม Apache ใน Mountain Lion

เปิดใช้งานการแชร์เว็บ

ในการเปิดใช้งาน PHP คุณจะต้องแก้ไข/etc/apache2/httpd.confใน Terminal.app สิ่งนี้ต้องการข้อมูลประจำตัวของรูท เป็นบรรณาธิการบรรทัดคำสั่งที่สามารถเข้าถึงได้มากถ้าคุณไม่สบายใจกับnanovim

sudo nano /etc/apache2/httpd.conf

ค้นหาบรรทัด (คุณสามารถกดctrl+ Wเพื่อเริ่มการค้นหาnano):

#LoadModule php5_module libexec/apache2/libphp5.so

และ uncomment มัน ถัดไปค้นหาบรรทัด

#Include /private/etc/apache2/extra/httpd-vhosts.conf

และไม่ใส่ข้อคิดเห็นที่เปิดใช้งานการสนับสนุนโฮสต์เสมือน

บันทึกไฟล์และทางออกnanoโดยการกดctrl+ Xแล้วยืนยันการเปลี่ยนแปลงโดยการกดY(e) enterแล้ว

ตอนนี้คุณสามารถแก้ไขโฮสต์เสมือนในไฟล์ได้แล้ว /etc/apache2/extra/httpd-vhosts.conf

sudo nano /etc/apache2/extra/httpd-vhosts.conf

สิ่งสำคัญที่ควรทราบคือโฮสต์แรกที่กำหนดจะเป็นโฮสต์เริ่มต้นสำหรับชื่อโฮสต์ที่ไม่ผ่านการรับรอง สำหรับการแก้ปัญหาชื่อโฮสต์เพิ่มเติมนอกเหนือจากผมขอแนะนำให้พวกเขาในlocalhost hardcoding/etc/hosts

ในการติดตั้ง MySQL ให้ดาวน์โหลดตัวติดตั้งจากเว็บไซต์ MySQL (ตัวติดตั้ง 64 บิตนั้นก็โอเค) ทำตามคำแนะนำเพื่อติดตั้ง

ในที่สุดเมื่อต้องการกำหนดค่า PHP สำหรับ MySQL ให้คัดลอกค่าเริ่มต้นphp.ini:

sudo cp /etc/php.ini.default /etc/php.ini

ตอนนี้คุณสามารถแก้ไข/etc/php.ini(จำเป็นต้องเข้าถึงรูทอีกครั้ง) และแทนที่การอ้างอิงใด ๆ/var/mysql/mysql.sockด้วย/tmp/mysql.sock(ตำแหน่งเริ่มต้นของซ็อกเก็ต MySQL หลังจากรันโปรแกรมติดตั้ง) อาจมีการอ้างอิงถึงเส้นทางดังกล่าวประมาณ 3 รายการ

ขั้นสุดท้ายให้รีสตาร์ท Apache เพื่อให้การกำหนดค่าใหม่มีผล:

sudo apachectl restart

หรือคุณสามารถรีสตาร์ท Apache ได้โดยการสลับไปมาและเปิดใหม่อีกครั้งใน Sharing prefpane

เสร็จสิ้น


1
ฉันขอแนะนำให้คุณอย่าแนะนำการแก้ไขข้อความเทอร์มินัลใด ๆ เพียงแค่ใช้ textedit.app ในคำสั่งแทนที่จะเป็นนาโนเพราะเครื่องมือแก้ไขข้อความเทอร์มินัลเป็นเพียงความป่าเถื่อน
Alexander - Reinstate Monica

12
นาโนค่อนข้างใช้งานง่าย IMO และน่ารำคาญจริงๆที่พยายามแก้ไขบางอย่างด้วยสิทธิ์พิเศษจาก GUI
NReilingh

13
@XAleXOwnZX: ฉันขอโทษ แต่นั่นเป็นเพียงคำแนะนำที่ไม่ดี หากมีสิ่งใดคุณจะพบว่าถัดจากเป็นไปไม่ได้ที่จะแก้ไขไฟล์เหล่านี้ใน TextEdit.app เนื่องจากขาดสิทธิ์เนื่องจาก NReilingh ชี้ให้เห็น นอกจากนี้ยังไม่สมเหตุสมผลที่จะคาดหวังความคุ้นเคยกับคอนโซลจากนักพัฒนาเว็บ (ที่ต้องการ)
Gerry

โดยทั่วไปทำงานได้ถ้าคุณ sudo มัน
Alexander - Reinstate Monica

9
@XAleXOwnZX: ด้วยความเคารพอย่างสูงนั่นเป็นคำแนะนำที่แย่ที่สุดที่ฉันเคยเห็นในทรัพย์สินของกองแลกเปลี่ยน ฉันยอมรับว่าตัวแก้ไขข้อความ GUI น่าจะเป็นวิธีการที่ดีกว่าสำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์หรือผู้ที่ไม่มีประสบการณ์ unix มาก แต่ TextEdit เป็นแอปพลิเคชันที่ไม่ถูกต้องที่จะแนะนำให้ใช้เพียงเพราะมันเป็นค่าเริ่มต้น ข้อความ สิ่งนี้สามารถทำให้เกิดปัญหาทุกประเภท (นอกเหนือจากการใช้งานง่ายฝันร้ายของการเขียนโค้ดในความกว้างของตัวแปร) ซึ่งจะยากหรือเป็นไปไม่ได้สำหรับบุคคลนี้ในการดีบัก
lightyrs

1

ทางเลือกสำหรับ MAMP คือWebStartที่ทำให้การจัดการ Apache 2 เว็บแบบมืออาชีพบน Mac OS X 10.7 Lion เป็นเรื่องง่าย


-2

คุณสามารถหาบทช่วยสอนที่ดีที่นี่เพื่อเปิดใช้งาน phpmyadmin และอื่น ๆ โดยไม่ต้องใช้ mamp


รู้รอบบน Ask Different จะต้องเป็นมากกว่าแค่ลิงค์ มันไม่เป็นไรที่จะรวมลิงค์ แต่โปรดสรุปหรือตัดตอนมาในคำตอบ ความคิดคือการทำให้คำตอบยืนอยู่คนเดียว
nohillside
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.