ติดตั้ง Famp บน FreeBSD 13
Table of Contents
ติดตั้ง FAMP บน FreeBSD 13
FAMP คือชุดหรือกลุ่มที่มีการติดตั้งเพื่อใช้งานรวมกัน เป็นคล้ายๆๆ กับ LAMP บน Linux มันคือกลุ่มของ open source software ที่ส่วนมากหรือปกติเราติดตั้งรวมกัน เพื่อเปิดการใช้งานเป็น FreeBSD server เพื่อให้เป็น host dynamic websites and web apps
FAMP ส่วนประกอบมันมี FreeBSD (operating system), Apache (web server), MySQL (database server), and PHP (to process dynamic PHP content)
ในขั้นตอนนี้ ได้ข้ามการติดตั้งได้ข้ามขั้นตอนการติด FreeBSD เนื่องจากคิดว่าไม่ยาก เลยแนะนำเฉพาะในการติดตั้ง Apache ,MySQL ,Php อย่างเดียวเพื่อให้บทความมันกระชับขึ้น
หลังจากติดตั้ง FreeBSD เสร็จ ก่อนจะดำเนินการติดตั้ง Package อื่น แนะนำให้ อัพเดทก่อน โดยการใช้คำสั่ง
# freebsd-update fetch
# freebsd-update install
ติดตั้ง Apache
การใช้คำสั่งติดตั้ง Apache24 โดยติดตั้งผ่าน Port ซึ่งอาจจะใช้เวลานานกว่าติดตั้งแบบ Packge ในคำสั่งนี้ รวมสองคำสั่ง โดยมี && คั่นกลาง หลังจากติดตั้งเสร็จใช้คำสั่งเพื่อแก้ไขค่าไฟล์ rc.conf
#cd /usr/ports/www/apache24/ && make config-recursive install clean
#vi /etc/rc.conf
rc.conf เป็นไฟล์ที่ ใช้สำหรับเรียกใช้โปรแกรมเมื่อตอนเปิดเครื่องขึ้น หากต้องการจะให้โปรแกรมไหนทำงาน เราจำเป็นต้องใส่หรือคำสั่งค่าไว้ในไฟล์นี้ทุกครั้ง อย่างเช่น เมื่อเราติดตั้ง Apache เสร็จแล้ว เรามาเพิ่มค่าดังต่อไปนี้ ลงไนไฟล์ rc.conf
apache24_enable=”YES”
การเปิดการใช้งาน Apache นอกจากจะเพิ่ม apache24_enable=”YES” ไปยังไฟล์ /etc/rc.conf เรายังสามารถจะใช้คำสั่ง sysrc ได้ง่ายๆๆ แค่ พิมพ์ดังนี้
sysrc apache24_enable=yes
เราสามารถตรวจสอบได้ทันทีว่า สามารถใช้งานเป็น webserver ได้แล้วหรือยัง โดยการเปิดบราวเซอร์ขึ้นมาแล้วพิมพ์
http://your_server_IP_address/
หลังจากนั้น เข้าไปแก้ไขไฟล์ /usr/local/etc/apache24/httpd.conf เพื่อกำหนดค่าให้ Apache สามารถทำงานเป็น Webserver ได้
#vi /usr/local/etc/apache24/httpd.conf
กำหนดชื่อ ServerName
ServerName 127.0.0.1
เพิ่มค่า index.php
DirectoryIndex index.php index.htm
เพิ่มค่า ลงไปในส่วนหมวดหมู่ AddType (เพื่อสะดวกในการแก้ไข)
AddTypeAddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
เพิ่มส่วนนี้ ลงไปท้ายสุดของไฟล์ เพื่อสะดวกในการแก้ไข
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
เรียกการทำงานใหม่ ให้กับ Apache โดยใช้คำสั่ง
service apache24 restart
MariaDB
MariaDB คือโปรแกรมฐานข้อมูล หากเราไม่ชอบ MariaDB เราติดตั้ง MySQL ก็ได้ ทีมพัฒนาทีมเดียวกัน แต่ MySQL โดนซื้อไปแล้ว ทีมเดิมเลยมาพัฒนาตัวใหม่ ชื่อ MariaDB หลักการในการติดตั้งหลายกัน
ในกรณีที่เราต้องการติดตั้ง MariaDB สิ่งแรกที่เราต้องทำคือ ถอนการ MySQL ออกก่อนเพื่อไม่ให้เจอปัญหาภายหลัง แต่หากเราติดตั้ง Mysql ในขั้นตอนนี้ คงไม่ต้องดำเนินการ
#cd /usr/ports/databases/mysql57-server/ && make deinstall clean
#cd /usr/ports/databases/mysql57-client/ && make deinstall clean
ในสองคำสั่งแรก คือการถอนการติดตั้งผ่านทาง Ports ส่วนวิธีการใช้คำสั่งถอน กรณีติดตั้งด้วย packe
#pkg remove mysql57-server mysql57-client
คำสั่งสำหรับลบฐานข้อมูลเดิม
#rm -rf /var/db/mysql/
ในกรณีที่เราต้องการค้นหาว่า MariaDB ติดตั้งแล้วหรือยัง ให้ใช้คำสั่งนี้ในการค้นหา
#pkg search mariadb
เมื่อเราดำเนินการตามที่แนะนำมาแล้ว เสร็จสิ้นในขั้นตอนต่อมาคือเข้าสู่ขั้นตอนการติดตั้ง
เริ่มการติดตั้ง MariaDB ผ่าน ports tree ตามตัวอย่าง เลือก เวอร์ชั่น 105
#cd /usr/ports/databases/mariadb105-server/ && make config-recursive install clean
กำหนดให้มีการเรียกให้ MySQL ทำงานทุกครั้งหลังเปิดครื่อง เพิ่มค่า mysql_enable=”YES” >rc.conf
#vi /etc/rc.conf
mysql_enable=”YES”
หรือใช้คำสั่ง
sudo sysrc mysql_enable="YES"
อย่าลืมเรียกให้ mariaDB ทำงานก่อนเพราะต้องใช้คำสั่งในการเริ่มต้นการทำงานเกี่ยวกับการจัดการระบบความปลอดภัย
service mysql-server start
ตรวจสอบว่า MariaDB ทำงานแล้วหรือยัง โดยการใช้คำสั่ง
sudo service mysql-server status
ถึงตอนนี้ mariaDB ทำงานแล้ว เราต้องกำหนดระบบรักษาความปลอด ซึ่งเป็นสคริปต์ที่เราจำเป็นต้องปรับแต่งเพื่อความปลอดภัยของฐานข้อมูล รวมถึงจำกัดสิทธ์การเข้าถึงฐานข้อมูล เริ่มในการสั่งให้สคริปต์ ทำงานโดยใช้คำสั่ง
sudo mysql_secure_installation
ในขั้นตอนใช้คำสั่ง รันสคริปต์ อาจจะมีคำถามให้เราดำเนินการ และมีรูปแบบการกำหนดรหัส ให้เลือกได้ตามความต้องการหรือที่เราคิดว่า ปลอดภัย ในส่วนนี้ จะอธิบายเพิ่มเติมอีกทีในข้้นตอนการติดตั้ง WordPress บน Freebsd
Install php80
เป็นการติดตั้งผ่าน Ports Tre e เช่นกัน ตอนติดตั้งจะมีให้เลือกออปชั่นหลายตัว หากไม่เข้าใจ ก็เอา default ไปก่อนครับ แล้วค่อยติดตั้งเพิ่มเติม หากมีปัญหาก็สามารถหารายละเอียดเพิ่มเติมได้ที่ https://www.freshports.org/ เขาจะมีคำแนะนำเกี่ยวกับการติดตั้ง ออฟชั่นเพิ่มเติม
เริ่มขั้นตอนการติดตั้ง โดยติดตั้งผ่าน port
#cd /usr/ports/lang/php80/ && make config-recursive install clean
หลังจากนั้น ให้ติดตั้งตัวขยายของ php ในขั้นตอนการติดตั้ง ต้องตั้งใจเลือก Option นิดนะครับ เพราะจะได้ไม่ต้องเสียเวลามาติดตั้งทีหลัง และสำคัญเพื่อความสมบูรณ์ในการใช้งาน
#cd /usr/ports/lang/php80-extensions/ && make config-recursive install clean
กรณีที่เราติดตั้งเพื่อใช้ตัว WordPress ให้เลือกตัวขยาย ตามข้างล่างครับ
PHP extensions required WordPress> bcmath , bz2, ctype ,curl dom , exif , fileinfo , filter, gd , hash, json,mbstring, mysqli ,opcache,openssl, pdo , pdo_mysql, pdo_sqlite, phar, posix, session, simplexml ,sqlite , tokenizer, xml , xmlreader, xmlwriter, zip, zlib
เข้าไปแก้ไข /usr/local/etc/php.ini หากไม่มีไฟล์ php.ini ให้คัดลอก โดยใช้คำสั่ง
#cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
แล้วใช้คำสั่งเพื่อแก้ไข php.ini
#vi /usr/local/etc/php.ini
แก้ไขค่าดังต่อไปนี้
upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 40M
ใช้คำสั่งเพื่อให้ apache รีสตาร์ท
service apache24 restart
เพื่อที่จะทดสอบระบบของเราว่ามีการปรับแต่งเหมาะสมเพื่อใช้งาน php หรือไม่ เราสามารถสร้าง PHP script พื้นฐานเพื่อทดสอบได้ โดยเราจะลองสร้างและเรียกสคริปต์ที่ได้สร้างขึ้นมา ชื่อ info.php เพื่อให้ Apache ค้นหาดูว่ามีการติดตั้งอย่างเหมาะสมหรือไม่ ในการสร้างไฟล์สคริปต์ดังกล่าว ต้องสร้างและเก็บไว้ใน DocumentRoot คือพื้นที่ ที่เราเก็บไฟล์ข้อมูลของเว็บเรานั้นแหละ ซึ่งส่วนนี้ Apache จะเข้าไปมองหาเมื่อมีผู้ใช้เข้ามาใช้งาน WebServer ที่เราสร้าง และเช่นกันในการกำหนดพื้นที่สำหรับเก็บข้อมูลที่เราสร้างเว็บ เรากำหนดผ่านทาง /usr/local/etc/apache24/httpd.conf
vi /usr/local/www/apache24/data/info.php
This will open a blank file. Insert this PHP code into the file:
<?php phpinfo(); ?>
ตอนนี้ เราสามารถทดสอบว่า web server สามารถแสดงได้ถูกต้องหรือไม่ โดยมันจะโชว์เนื้อหาที่สร้างโดย PHP script ในการทดสอบแค่เข้าไปลองเปิดดู โดยเรียกผ่านบราวเซอร์ตามตัวอย่างนี้
http://your_server_IP_address/info.php
เป็นอันว่าเสร็จสิ้นการติดตั้ง Famp หลังจากนี้ เราสามารถติดตั้ง WordPress ต่อไปแล้ว สามารถอ่านต่อได้จากที่นี้