วันเสาร์ที่ 11 มกราคม พ.ศ. 2557

วิธีเปิดใช้งาน Apache และ PHP บน Mac OSX 10.8+

จริงๆ แล้วการจะทำ web server ส่วนตัวเอาไว้สำหรับพัฒนาเว็บบน Mac OSX สามารถทำได้ง่ายๆโดย ใช้พวกโปรแกรมสำเร็จรูปอย่าง MAMP ก็ได้ ไม่ต้องเสียเวลา แต่มาคิดๆ ดูอีกที ในเมื่อแมคฯ มี apache2 และ php5 ติดตั้งมาให้ตั้งแต่ต้นอยู่แล้ว เราก็น่าจะใช้ประโยชน์จากมัน แค่ต้องออกแรงเพิ่มอีกนิดหน่อย
ผมเขียนโพสท์นี้โดยลองทำบน Mac OSX 10.9 Mavericks ถ้าไม่มีอะไรผิดพลาดน่าจะใช้ได้กับ Mountain Lion ด้วยส่วนเวอร์ชั่นเก่ากว่านั้นอาจจะต้องลองหาในเน็ตกันเอาเองนะครับ
สำหรับตอนแรกจะเป็นการเปิดใช้งาน Apache2 และ config ให้รัน PHP ได้ ไม่ให้เสียเวลาไปลุยกันเลยดีกว่า

ขั้นตอน Setup Apache web server

ก่อนอื่น คำสั่งที่ควรรู้สำหรับ start stop และ restart service httpd (service ของ apache)​ มีดังนี้
?
1
2
3
4
5
$ sudo apachectl start
$ sudo apachectl stop
$ sudo apachectl restart
ลองตรวจสอบดูว่า apache เราทำงานได้หรือไม่ โดยสั่ง
?
1
$ sudo apachectl start
แล้วลองไปที่ browser และ ลองเข้า “http://localhost” ถ้าไม่มีอะไรพลาดก็ควรจะเห็นคำว่า “It works!” กันนะครับ

ขั้นตอน Config Apache ให้เปิดการใช้งาน PHP

ต้องเข้าไปแก้ไขที่ไฟล์ “/etc/apache2/httpd.conf” ในตัวอย่างผมใช้ vim เป็น editor นะครับ ใครถนัดตัวไหนก็ตามชอบ
?
1
2
3
$ sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak  # backup กันก่อนเผื่อพลาด
$ sudo vim /etc/apache2/httpd.conf
หาบรรทัด “LoadModule php5_module libexec/apache2/libphp5.so” (ประมาณบรรทัดที่ 118) ให้เอาเครื่องหมาย # ข้างหน้าออก จากนั้น save file

ขั้นตอนเปิดการใช้งาน Htaccess

โดยปกติ .htaccess จะไม่ได้เปิดใช้งาน แต่พวก application php ยอดนิยมทั้งหลายมักจะต้องการเปิดใช้ htaccess กัน
ตอนนี้เรายังอยู่ที่ไฟล์ httpd.conf ให้หาคำว่า “AllowOverride None แล้วแก้เป็น“AllowOverride All ให้หมด หลังจากนั้น save และ ออกจากไฟล์ httpd.conf แล้วสั่ง restart apache ซัก 1 ครั้ง
?
1
$ sudo apachectl restart

ขั้นตอนทำ user configuration file

Mac OSX จะมี web root อยู่ 2 ที่ด้วยกัน โดยแบ่งเป็น System Level Web Root กับ User Level Root เราสามารถใช้งานได้ทั้งสองที่หรือเลือกแค่อันใดอันหนึ่ง แต่ในโพสท์นี้เราจะทำงานในระดับ User Level
ดำลับแรกสร้าง folder “Sites” ไว้ที่ user root path ถ้ามีอยู่แล้วก็ไม่ต้องทำอะไรในขั้นตอนนี้

ต่อมาตรวจสอบว่ามี “/etc/apache2/users/username.conf” แล้วหรือยัง โดย username คือ ชื่อ account ของเรา ในกรณีของผมจะชื่อว่า korakot.conf ถ้ายังไม่มีก็จัดการสร้างมันซะ
?
1
$ sudo vim /etc/apache2/users/korakot.conf
แล้วก็พิมพ์ code ลงไป *** อย่าลืมแก้ username เป็น ชื่อ account ของคุณ
?
1
2
3
4
5
6
<Directory "/Users/username/Sites" >
    Options FollowSymLinks Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
เสร็จแล้ว save และ ออกจากไฟล์ ทำการ set permission ให้กับไฟล์
?
1
$ sudo chmod 644 /etc/apache2/users/username.conf
หลังจากนั้นก็ จัดากร restart apache อีกครั้ง
?
1
$ sudo apachectl restart

ขั้นตอนทดสอบ

ผ่านมาหลายขั้นตอนถึงเวลาทดสอบเสียที ลองไปสร้างไฟล์ phpinfo.php ไว้ที่ Web root ของเรา ซึ่งก็คือ“Users/username/Sites/phpinfo.php”
ไฟล์ phpinfo.php ให้ code ตามนี้
?
1
2
3
<?php
    phpinfo();
?>
save และออกจากไฟล์ ไปที่ browser ตรง address bar พิมพ์ “http://localhost/~korakot/phpinfo.php” ถ้าไม่มีอะไรผิดพลาดก็น่าจะเห็นตามรูปนะครับ

ยินดีด้วย ตอนนี้ Apache และ PHP สามารถใช้งานได้แล้วครับ

อ่านต่อ

1 ความคิดเห็น: