การเปิดใช้งาน LAMP (PHP8) บน Amazon Lightsail
สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ
ครั้งนี้จะมาแนะนำเกี่ยวกับการเปิดใช้งาน LAMP (PHP 8) บน Amazon Lightsail
LAMP คืออะไร
LAMP คือชุดเครื่องมือที่มักถูกใช้งานร่วมกันในการพัฒนาและดำเนินการเว็บไซต์ โดยประกอบด้วยส่วนประกอบหลัก 4 อย่าง ได้แก่
- L = Linux - ระบบปฏิบัติการแบบโอเพนซอร์ส (Open Source) ที่มีความนิยมสูงในการใช้งานเซิร์ฟเวอร์เว็บ
- A = Apache - เว็บเซิร์ฟเวอร์ที่เป็นโอเพนซอร์สและถูกใช้งานอย่างแพร่หลาย เป็นเว็บเซิร์ฟเวอร์ที่ได้รับการยอมรับว่าเป็นเว็บเซิร์ฟเวอร์ที่เสถียรและมีประสิทธิภาพสูง
- M = MySQL - ระบบจัดการฐานข้อมูล (Database Management System) ที่มีความนิยมสูงและเป็นโอเพนซอร์ส สามารถจัดการกับข้อมูลในรูปแบบต่าง ๆ ได้และมีการพัฒนาอย่างต่อเนื่อง
- P = PHP - ภาษาโปรแกรมมิ่งแบบฝั่งเซิร์ฟเวอร์ (server-side scripting language) ที่มีความสามารถในการจัดการกับข้อมูลและการทำงานกับฐานข้อมูลอย่างมีประสิทธิภาพ
ด้วยความสามารถของ LAMP ในการทำงานร่วมกัน จึงทำให้ชุดเครื่องมือนี้เป็นที่นิยมสูงในการพัฒนาเว็บไซต์และแอปพลิเคชันเว็บในสถานการณ์ที่ต้องการประหยัดค่าใช้จ่ายในการใช้งานเทคโนโลยี โดยเฉพาะอย่างยิ่งสำหรับการพัฒนาเว็บไซต์เล็ก
การเปิดใช้งาน Instance
ครั้งนี้จะเปิดใช้งาน Instance พร้อมกับแอปพลิเคชัน LAMP (PHP 8)
ก่อนอื่นให้ Login เข้ามาที่ AWS Management Console แล้วเลือกรีเจี้ยน Singapore
ค้นหา LightSail
แล้วเลือก LightSail
เมื่อมาหน้า Home แล้วเราจะมาเริ่มเปิดใช้งาน Instance โดยคลิกปุ่ม Create instance
เลือกการตั้งค่า Instance location, Instance image, Blueprint และ OS โดยครั้งนี้จะเลือก Singapore
, Linux/Unix
และ LAMP (PHP 8)
แล้วเลือก Instance plans และป้อนชื่อ Instance ที่ต้องการ โดยครั้งนี้จะป้อนชื่อ Instance ว่า tinnakorn-lamp
ส่วนการตั้งค่าอย่างอื่นจะปล่อยให้เป็น Default แล้วคลิก Create instance
ที่ด้านล่างสุดของหน้าจอ
เมื่อ Instance ที่สร้างขึ้นมีสถานะเป็น Running
ในหน้าจอรายการ Instance แล้ว ให้คลิกชื่อ Instance
แล้วคัดลอก Public IP ไปเปิดในเว็บเบราว์เซอร์ที่เราใช้งาน
แล้วจะแสดงหน้าจอ "Congratulations!" แบบนี้
การแสดงหน้าจอ phpinfo
เราจะมาสร้างไฟล์ที่จะใช้สำหรับแสดงหน้าจอ phpinfo กัน
กลับมาที่หน้าจอ Instance แล้วคลิก Connect using SSH
ที่แท็บ Connect
แล้วมาตรวจสอบดูโฟลเดอร์ที่ใช้สำหรับเผยแพร่เว็บไซต์โดยรันคำสั่งนี้
ls -l
ซึ่งจะเป็นโฟลเดอร์ htdocs
ตาม Path "htdocs -> /opt/bitnami/apache2/htdocs" นี้
tinnakorn-lamp - Terminal | Lightsail - Google Chrome
bitnami@ip-172-26-10-106:~$ ls -l
total 8
-rw------- 1 bitnami bitnami 13 Feb 15 09:25 bitnami_application_password
-r-------- 1 bitnami bitnami 401 Feb 15 09:25 bitnami_credentials
lrwxrwxrwx 1 bitnami bitnami 27 Dec 9 23:51 htdocs -> /opt/bitnami/apache2/htdocs
lrwxrwxrwx 1 bitnami bitnami 12 Dec 9 23:51 stack -> /opt/bitnami
bitnami@ip-172-26-10-106:~$
ต่อไปจะดูข้อมูลในโฟลเดอร์ htdocs รันคำสั่งโดยรันคำสั่งนี้
ls -l /opt/bitnami/apache2/htdocs
ก็จะเห็นไฟล์ index.html ซึ่งเป็นหน้าจอที่เราตรวจสอบด้วย Public IP เมื่อสักครู่นี้ ดังนั้นเราจะมาสร้างไฟล์สำหรับแสดงหน้าจอ phpinfo ในโฟลเดอร์ htdocs
tinnakorn-lamp - Terminal | Lightsail - Google Chrome
bitnami@ip-172-26-10-106:~$ ls -l /opt/bitnami/apache2/htdocs
total 8
-rw-rw-r-- 1 bitnami root 4851 Dec 9 20:08 index.html
bitnami@ip-172-26-10-106:~$
ครั้งนี้จะสร้างไฟล์โดยใช้ชื่อ info.php
โดยรันคำสั่งตามนี้
nano /opt/bitnami/apache2/htdocs/info.php
เมื่อเข้ามาแล้วให้ป้อนเนื้อหาลงในไฟล์ info.php ครั้งนี้จะป้อนโค้ด PHP ตามด้านล่างนี้
แล้วให้ Save โดยกดปุ่ม Ctrl+X
ตามด้วยกดปุ่ม Y
เพื่อ Save แล้วกดปุ่ม Enter
<?php phpinfo();
แล้วแสดงหน้าจอ info โดยเปิด URL ตามด้านล่างนี้
http://[Public IP]/info.php
ถ้าแสดงหน้าจอแบบนี้ถือว่าการแสดงหน้าจอ phpinfo สำเร็จแล้ว
การเชื่อมต่อ MySQL
เนื่องจากการเปิดใช้งาน Instance พร้อมกับ LAMP (PHP8) จะมี MySQL ที่พร้อมใช้งานติดตั้งมาด้วย ดังนั้นจะมาเชื่อมต่อ MySQL กัน
ก่อนอื่นให้ตรวจสอบรหัสผ่านโดยรันคำสั่งตามนี้ แล้วรหัสผ่านจะปรากฏขึ้นมา ให้คัดลอกรหัสผ่านนั้นเตรียมไว้ เพราะจะใช้เชื่อมต่อ MySQL ในขั้นตอนถัดไป
cat bitnami_application_password
ให้เชื่อมต่อ MySQL โดยรันคำสั่งนี้โดยเปลี่ยน [password]
ให้เป็น Password ที่เราตรวจสอบเมื่อสักครู่นี้
mysql -u root -p[password]
เมื่อเชื่อมต่อได้แล้วจะแสดงหน้าจอแบบนี้
tinnakorn-lamp - Terminal | Lightsail - Google Chrome
bitnami@ip-172-26-10-106:~$ mysql -u root -pj970n6zEC4Px
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.6.11-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
สรุป
การสาธิตนี้เป็นการเปิดใช้งาน LAMP (PHP8) บน Amazon Lightsail แล้วสร้างไฟล์ที่ใช้สำหรับแสดง phpinfo เพื่อทดสอบการเผยแพร่เว็บไซต์ที่เราต้องการ และทำการเชื่อมต่อ MySQL ซึ่งจะเห็นได้ว่าการเปิดใช้งาน Instance พร้อมกับแอปพลิเคชัน LAMP (PHP8) ทำให้เราสามารถเริ่มต้นเผยแพร่เว็บไซต์ที่ต้องการได้และเชื่อมต่อ Database ได้ทันทีหลังจากสร้าง Instance เสร็จโดยที่เราไม่ต้องติดตั้งแอปพลิเคชันเหล่านั้นด้วยตัวเองเลย
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
POP จากบริษัท Classmethod (Thailand) ครับ !