สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ
ครั้งนี้จะมาแนะนำวิธีติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 บน EC2
PHP คืออะไร
PHP (PHP Hypertext Preprocessor) คือภาษาโปรแกรมมิ่งที่มีการใช้งานอย่างแพร่หลายในการพัฒนาเว็บแอปพลิเคชันและเว็บไซต์บนเว็บเซิร์ฟเวอร์ของฝั่งเซิร์ฟเวอร์ (Server-Side Scripting Language) ซึ่งหมายความว่า PHP จะถูกประมวลผลบนเซิร์ฟเวอร์เพื่อสร้างและส่งคำตอบ HTML กลับไปยังเบราว์เซอร์ของผู้ใช้
PHP มีความสามารถในการดำเนินการกับฐานข้อมูล, จัดการกับคุกกี้, สร้างเว็บแบบไดนามิก (Dynamic Web Pages), อ่านและเขียนไฟล์, ส่งคำร้องขอ HTTP, และมีหลายฟังก์ชันอื่น ๆ ที่ช่วยในการพัฒนาเว็บแอปพลิเคชัน และ PHP ถูกใช้กับหลายระบบจัดการเนื้อหา (Content Management Systems) เช่น WordPress, Joomla, และ Drupal ซึ่งนับเป็นภาษาโปรแกรมมิ่งที่มีความนิยมในการสร้างเว็บไซต์และแอปพลิเคชันต่าง ๆ บนอินเทอร์เน็ต
PHP 8.2
PHP 8.2 เป็นการอัปเดตหลักของภาษา PHP ประกอบด้วยคุณลักษณะใหม่มากมาย รวมถึงคลาสแบบอ่านอย่างเดียว null, false และ true ในรูปแบบ stand-alone, คุณสมบัติไดนามิกที่เลิกใช้แล้ว, การปรับปรุงประสิทธิภาพ และอื่นๆ
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ PHP 8.2 ได้ที่ลิงก์ด้านล่างนี้
PHP 8.2
สิ่งที่ต้องมี
Amazon Linux 2023 บน EC2
ดูวิธีการติดตั้ง Amazon Linux 2023 บน EC2 ได้ที่ลิงก์ด้านล่างนี้ (สำหรับผู้ใช้งานที่มีอยู่แล้วข้ามขั้นตอนนี้ไปได้เลยครับ)
เมื่อสร้าง Amazon Linux 2023 และเชื่อมต่อเซิร์ฟเวอร์ด้วย PuTTY เสร็จแล้ว ก่อนเริ่มรันคำสั่งเกี่ยวกับการติดตั้ง PHP 8.2 และ Apache ให้รันคำสั่งนี้ก่อนครับ
คำสั่งเปลี่ยนบัญชีผู้ใช้ที่กำลังใช้งานไปเป็นผู้ใช้ root หรือ superuser
sudo su -
คำสั่ง Update server ให้เป็นปัจจุบัน
yum update -y
ติดตั้ง PHP 8.2 และ Apache
คำสั่งติดตั้ง PHP 8.2 และ Apache
yum install php8.2 httpd -y
คำสั่งตรวจสอบเวอร์ชัน PHP
php -v
คำสั่งตรวจสอบเวอร์ชัน Apache
httpd -v
Output (example)
root@ip-xx-xx-xx-xx:~
[root@ip-172-31-12-197 ~]# php -v
PHP 8.2.9 (cli) (built: Aug 3 2023 11:39:08) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.9, Copyright (c) Zend Technologies
with Zend OPcache v8.2.9, Copyright (c), by Zend Technologies
[root@ip-172-31-12-197 ~]# httpd -v
Server version: Apache/2.4.56 (Amazon Linux)
Server built: Mar 15 2023 00:00:00
[root@ip-172-31-12-197 ~]#
คำสั่งเริ่มต้นสตาร์ทระบบ Apache
systemctl start httpd
คำสั่งตั้งค่าเปิดใช้งาน Apache เพื่อเริ่มต้นระบบ Apache ในตอนที่รีสตาร์ท Linux
systemctl enable httpd
คำสั่งกำหนดสิทธิ์ (Permissions) สำหรับไฟล์หรือไดเรกทอรี (Directory) บนระบบไฟล์ของคอมพิวเตอร์
chmod 777 /var/www/html/
คำสั่งสร้างไฟล์ทดสอบ PHP (ครั้งนี้ตั้งชื่อไฟล์ว่า test.php
)
echo "<?php phpinfo();" > /var/www/html/test.php
ตั้งค่า Security Group
หลังจากที่ติดตั้ง PHP 8.2 และ Apache แล้ว จะยังไม่สามารถใช้ Public IPv4 address ของ EC2 Instance ในการแสดงผลหน้าเว็บไซต์ได้
เมื่อลองเปิด URL ตามด้านล่างแล้วจะแสดงข้อความ ไม่สามารถเข้าถึงเว็บไซต์นี้/This site can’t be reached
ดังรูปด้านล่างนี้ ดังนั้นเราต้องตั้งค่า Security Group ก่อน จึงจะสามารถแสดงผลหน้าเว็บไซต์ได้
http://[IP Address]/test.php
ขั้นตอนต่อไปนี้จะเป็นการตั้งค่า Security Group เพื่อทำให้สามารถแสดงผลหน้าเว็บไซต์ที่ต้องการได้โดยทำตามขั้นตอนด้านล่างนี้ครับ
ติ๊ก Instance
ของเรา แล้วจะมีรายละเอียดแสดงด้านล่าง
แล้วเลือกแท็บ Security
แล้วคลิก Security groups
แล้วคลิก Edit inbound rules
ในแท็บ Inbound rules
แล้วคลิก Add rule
ก็จะมี rule เพิ่มขึ้นมา ให้เลือก Type: HTTP
และเลือก Source: Anywhere-IPv4
แล้วคลิก Save rules
แล้วดูที่แท็บ Inbound rules อีกครั้ง จะเห็นว่ามี Type: HTTP
เพิ่มถูกเพิ่มมาแล้ว
ทดสอบ URL ของ EC2 Instance
มาที่หน้าจอ EC2 แล้วติ๊ก Instance
ของเรา เลือกแท็บ Details
แล้วคลิก ❐ Public IPv4 address
เพื่อคัดลอกเตรียมไว้ใช้ในขั้นตอนถัดไป
แล้วเปิด URL ใน Browser ที่เราใช้งานโดยใช้ 「Public IPv4 address
+ test.php」 ตามด้านล่างนี้
http://[IP Address]/test.php
จะเห็นว่าสามารถใช้ URL ของ EC2 Instance แสดงผลได้ครับ
สรุป
การติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 นั้นไม่อยาก เพียงแค่เรียกใช้คำสั่งตามขั้นตอนที่ได้เขียนไว้ทั้งหมดนี้ ก็จะสามารถใช้งาน PHP 8.2 และ Apache ใน Amazon Linux 2023 ได้อย่างง่ายดายครับ
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
POP (Tinnakorn Maneewong) จากบริษัท Classmethod (Thailand) ครับ !
บทความที่เกี่ยวข้อง
- วิธีติดตั้ง Amazon Linux 2023 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY
- 【Update】วิธีติดตั้ง Amazon Linux 2 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY
- วิธีแก้ปัญหาการเชื่อมต่อ Security Group
- วิธีเชื่อมโยง Elastic IP (EIP) ไปยัง EC2 Instance
- วิธีตั้งค่า Time Zone ใน Amazon Linux 2 ของ EC2
- วิธีสร้าง Swap Memory ใน Amazon Linux 2 ของ EC2