วิธีติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 บน EC2

บทความนี้จะมาแนะนำการติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 รวมถึงขั้นตอนการทำและอธิบายเนื้อหาต่างๆ ไปพร้อมกับการใช้งานจริงครับ

สวัสดีครับ 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 เพื่อทำให้สามารถแสดงผลหน้าเว็บไซต์ที่ต้องการได้โดยทำตามขั้นตอนด้านล่างนี้ครับ

คลิก Instances

ติ๊ก 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) ครับ !

บทความที่เกี่ยวข้อง