[TH] LAMP on Raspberry Pi

บทความนี้เป็นบันทึกความจำเกี่ยวกับการตั้งค่าให้บอร์ด Raspberry Pi 3 B+ ให้กลายเป็นเครื่องบริการเว็บตามหลักของ LAMP หรือ Linux + Apache + MySQL + PHP โดยเราเลือกใช้ MariaDB แทน MySQL และได้กล่าวถึงวิธีติดตั้งและตั้งค่าไปแล้วในบทความก่อนหน้านี้

เป้าหมาย

  1. ติดตั้ง Apache
  2. ติดตั้ง MariaDB
  3. ติดตั้ง PHP

ขั้นตอน

ติดตั้ง Apache

การติดตั้ง Apache ทำโดยเรียกใช้คำสั่งติดตั้งดังต่อไปนี้ และตอบ ‘Y’ เมื่อระบบถามยืนยันการติดตั้ง

sudo apt install apache2

เมื่อติดตั้งเสร็จสิ้นให้ดำเนินการเปิดการทกงานโมดูลต่าง ๆ ของ Apache ด้วยคำสั่งต่อไปนี้

sudo a2enmode rewrite

เพื่อความมั่นใจให้สั่งรีโหลดบริการของ Apache2 อีกรอบ ด้วยคำสั่งต่อไปนี้

sudo systemctl restart apache2

เมื่อหน้าเว็บทำงาน เราต้องเปลี่ยนสิทธิ์การบริหารจัดการเว็บให้กลายเป็นของผู้ใช้ชื่อ pi (หรือชื่ออื่นตามที่ผู้อ่านได้เพิ่มเข้าไป) โดยใช้คำสั่งเปลี่ยนเจ้าของไดเร็กทอรีของว็บ /var/www/html และกำหนดสิทธิการเข้าถึงให้เป็น 770

sudo chown -R pi:www-data /var/www/html
chmod -R 770 /var/www/html

ตอนนี้พร้อมใช้ Apache เรียบร้อย ส่วนฐานข้อมูลได้ติดตั้งไปแล้ว ต่อไปมาติดตั้ง PHP ต่อ

ติดตั้ง PHP

การติดตั้ง PHP นอกจากติดตั้งตัวแปลภาษาสคริปท์ PHP แล้วต้องตั้งค่าให้ทำงานร่วมกับ Apache และหลังจากนั้น ผู้อ่านสามารถเขียนโค้ดนามสกุล php เพื่อให้ Apache เรียกให้ตัวแปลภาษา PHP ทำงานและส่งผลลัพธ์กันไปมาระหว่างกันได้

คำสั่งสำหรับติดตั้ง PHP สั่งงานดังนี้

sudo apt install php

ขั้นตอนถัดไปคือติดตั้งโมดูล PHP ให้กับ Apache2 หลังจากนั้นสั่งเริ่มต้นให้ Apache2 ทำงานใหม่อีกครั้งด้วยคำสั่งต่อไปนี้

sudo apt install libapache2-mod-php
sudo service apache2 restart

หลังจากนั้นให้สั่งลบไฟล์ index.html และสร้าง index.php ขึ้นมาโดยใช้คำสั่งต่อไปนี้เพื่อลบ index.html และเข้า text editor เพื่อสร้าง index.php

cd /var/www/html
rm index.html
nano index.php

โค้ดสำหรับ index.php เป็นดังนี้ เมื่อพิมพ์เรียบร้อยให้ตรวจสอบความถูกต้องแล้บันทึกด้วย Ctrl+O และสั่ง ‘Y’ เพื่อบันทึก และออกจาก Text Editor ด้วยการกด Ctrl+X และกลับสู่ Command Prompt ของ Terminal

<?php
echo "Hello, World!";
?>

ขั้นตอนสุดท้ายคือให้ PHP มองเห็น MariaDB ด้วยการสั่งงานดังนี้

sudo apt install php-mysql
sudo service apache2 restart

สรุป

เมื่อดำเนินการตามบทความนี้ ผู้อ่านจะมีบอร์ด Raspberry Pi ที่พร้อมเป็น LAMP ทำให้สามารถสร้างเครื่องให้บริการเว็บที่รองรับการจัดเก็บข้อมูลในระบบบริหารจัดการฐานข้อมูล MariaDB ซึ่งเป็นพื้นฐานสำหรับการทำงาน IoT และ AI ต่อไปในอนาคต

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

(C) 2020, โดย อ.ดนัย เจษฎาฐิติกุล/อ.จารุต บุศราทิจ
ปรับปรุงเมื่อ 2020-11-21
ปรับปรุงเมื่อ 2021-08-18