วันพุธที่ ๒๗ มิถุนายน พ.ศ. ๒๕๕๐

Apache22 + php5

ราวที่แล้วที่ได้พูดถึงเรื่อง การติดตั้ง Apache22 บน FreeBSD ไปแล้ว คราวนี้มาพูดเรื่องคู่ขาของ Apache กันครับซึ่งถือว่า จะขาดเสียมิได้นั่นคือ PHP ครับ ซึ่งถือว่าเป็น script ที่ใช้งานกันอย่างแพร่หลาย และทำงานบนฝั่ง Server เสียด้วย เดี๋ยวเราจะมาติดตั้ง PHP รวมทั้ง extension ต่าง ๆ ของ php กัน

1. ที่อยู่ของ php5 ก็จะอยู่ที่ /usr/ports/lang/php5 เข้าสู่ Directory นี้แล้วใช้คำสั่ง
#make config -----> เ้ื่พื่อปรับค่าการติดตั้ง php5 (ผมว่าก่อนที่จะติดตั้ง ports ใด ๆ ควรใช้คำสั่งนี้เพื่อดูว่ามีค่าอะไรควรปรับแต่งบ้าง ก็จะดีไม่น้อย)

นี่คือ option ที่สามารถปรับแต่งได้ของ php5 ผมก็ติ๊กตรง APACHE ด้วย เพราะค่าปรกติไม่มี
หลังจากนั้นก็ใช้คำสั่ง
#make install clean
รอสักครู่ ระบบ ก็จะตามไปโหลด ports ต่าง ๆ ที่เกี่ยวข้องกันมาติดตั้งด้วย ใช้พอเวลาพอสมควร ขึ้นอยู่กับ ความเร็วเน็ต และ ความเร็วเครื่องครับ
2. เมื่อเสร็จแล้ว เราจะแก้ไขไฟล์ /usr/local/etc/apache22/httpd.conf ซึ่งเป็นไฟล์กำหนดค่าของ Apache เืพื่อให้รู้จักกับไฟล์ script .php ดังนี้
ตรวจดูว่ามีบรรทัด นี้อยู่ไหม
LoadModule php5_module libexec/apache22/libphp5.so
ถ้ามีก็ให้เพิ่มบรรทัดนี้ลงไป
<IfModule php5_module>
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
</ifmodule>

แล้วก็แก้ไข บรรทัดนี้
DirectoryIndex index.html index.htm index.php (สีน้ำเงินคือเพิ่มเติมเข้ามา)
เซฟไฟล์ แล้วก็ restart apache ครับ
#/usr/local/etc/rc.d/apache22 restart
3. เราจะมาลองสร้างไฟล์เพื่อตรวจสอบ php ของเราครับ ให้เราสร้างไฟล์ใหม่ขึ้นมาโดยค่าปริยาย Apache จะอ่านไฟล์มาแสดงผลจาก /usr/local/www/apache22/data เราจะสร้างไฟล์ที่ชื่อว่า phpinfo.php ครับ
#ee /usr/local/www/apache22/data/phpinfo.php

เนื้อหา
<?php
phpinfo();
?>
3. เสร็จแล้วก็ลองเข้า http://"ชื่อ ip เครื่อง server"/phpinfo.php ถ้าปรากฏแบบในรูปนี้ ก็แสดงว่า ติดตั้ง php5 ผ่านเรียบร้อยแล้ว

4. หลังจากนั้นเราจะมาติดตั้ง Extension สำหรับ php กัน ซึ่ง extension จะเสริมความสามารถ และ extension บางตัวก็จำเป็นมากในการใช้งาน เช่น extension mysql ก็จะทำให้ php ติดต่อกับฐานข้อมูล MySql ได้เป็นต้น ซึ่งใน FreeBSD ก็มี Ports ที่รวม extension ทั้งหมดของ php มาไว้ด้วยแล้ว ซึ่ง Ports นี้จะอยู่ที่ /usr/ports/lang/php5-extensions หลังจากใช้คำสั่ง
#cd /usr/ports/lang/php5-extensions
#make config
ก็จะมี options ต่าง ๆ ให้เราเลือกว่าจะติดตั้ง extension ตัวไหนบ้าง ก็ให้เราติ๊กเลือกที่ต้องการ ก็แนะนำให้ติดตั้ง bz2, zip, zlib, MySql, GD, MBString, Curl ครับ และอื่น ๆ อีกตามสมควร พอเสร็จแล้ว เลือก ok แล้ว ก็ติดตั้งด้วยคำสั่ง
#make install clean
รอให้ระบบดาวน์โหลด และติดตั้งโปรแกรมต่าง ๆ ที่เกี่ยวข้องกันทั้งหมดให้เสร็จ ดื่มกาแฟรอเลยครับ ....... หลังจากติดตั้งเสร็จแล้ว ก็ให้ restart apache อีกทีหนึ่งเพื่อให้ Apache โหลด php ใหม่ ซึ่ง php ก็จะโหลด extension อีกทีนึง

5. ขั้นตอนสุดท้ายครับ สร้างไฟล์กำหนดค่าของ php ครับซึ่งทาง php ก็ได้เตรียมไว้ให้แล้วหลังจากติดตั้งเสร็จ ไฟล์นี้จะอยู่ที่ /usr/local/etc ครับ ซึ่งจะมีไฟล์ php.ini-dist และ php.ini-recommended ให้ copy ไฟล์ php.ini-recommended ไปเป็น php.ini ครับ ใช้คำสั่ง
#cd /usr/local/etc
#cp php.ini-recommended php.ini
แค่นี้ก็เรียบร้อย Restart Apache อีกทีนึงครับ แล้วลองเรียกหน้าเว็บ phpinfo.php อีกทีครับว่า ok ไหม ถ้าไม่มีอะไรผิดพลาด ก็จะมองเห็นหน้าเว็บที่แสดงรายละเอียดต่าง ๆ ขึ้นมา

เสร็จแล้วครับการติดตั้ง php5 บน FreeBSD ผ่าน Ports ในคราวหน้าจะมาต่อเรื่องการติดตั้ง MySql กันครับ

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

มะขาม กล่าวว่า...

เยี่ยม

Aphorist กล่าวว่า...

โห พี่ สุดยอด comment เลยครับ ขอบคุณครับ

Aphorist กล่าวว่า...

มีเกร็ดเล็ก ๆ มาฝาก สำหรับใครที่ติดตั้งไม่ผ่าน ซึ่งจะติดที่ extension mysql คือ mirror หลักของ ports ไฟล์มันเสีย ดังนั้นจึงต้องไปโหลดไฟล์ mysql-5.0.41.tar.gz จากที่อื่นมากก่อน ขนาดไฟล์คือ 24,083,795 byte Search ใน google ครับ แล้ว upload ไปเก็บไว้ที่ /usr/ports/distfiles ทับไฟล์เดิมเลย แล้วติดตั้ง ports php5-extensions ต่อครับ