วิธีการติดตั้งเซิร์ฟเวอร์ LEMP บน CentOS 8
LEMP คือชุดซอฟต์แวร์ที่ประกอบด้วยชุดเครื่องมือโอเพ่นซอร์สฟรีที่ใช้เพื่อเพิ่มอัตราการเข้าชมสูงและเว็บไซต์แบบไดนามิก LEMP เป็นตัวย่อสำหรับ Linux, Nginx (ออกเสียงว่า Engine X), MariaDB/MySQL< และ PHP
Nginx เป็นเว็บเซิร์ฟเวอร์แบบโอเพ่นซอร์ส แข็งแกร่ง และมีประสิทธิภาพสูงที่สามารถเพิ่มเป็นสองเท่าของพร็อกซีย้อนกลับได้ MariaDB คือระบบฐานข้อมูลที่ใช้สำหรับจัดเก็บข้อมูลผู้ใช้ และ PHP คือภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ใช้สำหรับการพัฒนาและสนับสนุนหน้าเว็บแบบไดนามิก
บทความที่เกี่ยวข้อง: วิธีติดตั้ง LAMP Server บน CentOS 8
ในบทความนี้ คุณจะได้เรียนรู้วิธีการติดตั้งเซิร์ฟเวอร์ LEMP บนระบบปฏิบัติการ CentOS 8 Linux
ขั้นตอนที่ 1: อัปเดตแพ็คเกจซอฟต์แวร์บน CentOS 8
ในการเริ่มต้น ให้อัปเดตทั้งที่เก็บและแพ็คเกจซอฟต์แวร์บน CentOS 8 Linux โดยเรียกใช้คำสั่ง dnf ต่อไปนี้
sudo dnf update
ขั้นตอนที่ 2: ติดตั้งเว็บเซิร์ฟเวอร์ Nginx บน CentOS 8
เมื่ออัปเดตแพ็คเกจเสร็จแล้ว ให้ติดตั้ง Nginx โดยใช้คำสั่งง่ายๆ
sudo dnf install nginx
ตัวอย่างแสดงให้เห็นว่าการติดตั้ง Nginx ดำเนินไปด้วยดีโดยไม่มีสะดุด
เมื่อการติดตั้งเสร็จสมบูรณ์ ให้กำหนดค่า Nginx ให้เริ่มต้นขณะบูต และตรวจสอบว่า Nginx ทำงานอยู่โดยดำเนินการคำสั่ง
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx
หากต้องการตรวจสอบเวอร์ชัน Nginx ที่ติดตั้ง ให้รันคำสั่ง
nginx -v
หากความอยากรู้อยากเห็นทำให้คุณสนใจมากขึ้น และคุณต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ Nginx ให้รันคำสั่ง rpm ต่อไปนี้
rpm -qi nginx
เพื่อยืนยันว่าเซิร์ฟเวอร์ Nginx ของคุณทำงานโดยใช้เบราว์เซอร์ เพียงพิมพ์ที่อยู่ IP ของระบบของคุณในแถบ URL แล้วกด ENTER
http://server-IP
คุณควรจะเห็นหน้าเว็บ “ยินดีต้อนรับสู่ Nginx ” ซึ่งเป็นตัวบ่งชี้ว่าเว็บเซิร์ฟเวอร์ Nginx ของคุณเปิดใช้งานแล้ว
ขั้นตอนที่ 3: ติดตั้ง MariaDB บน CentOS 8
MariaDB เป็นทางแยกของ MySQL แบบโอเพ่นซอร์สฟรี และมาพร้อมกับคุณลักษณะล่าสุดซึ่งทำให้สามารถทดแทน MySQL ได้ดียิ่งขึ้น หากต้องการติดตั้ง MariaDB ให้รันคำสั่ง
sudo dnf install mariadb-server mariadb
หากต้องการเปิดใช้งาน MariaDB ให้เริ่มต้นในเวลาบูตโดยอัตโนมัติ ให้เรียกใช้
sudo systemctl enable mariadb
หากต้องการเริ่มต้นเซิร์ฟเวอร์ MariaDB ให้รันคำสั่ง
sudo systemctl start mariadb
หลังจากติดตั้งแล้ว ให้ใช้คำสั่งด้านล่างเพื่อตรวจสอบสถานะ
sudo systemctl status mariadb
โปรแกรมฐานข้อมูล MariaDB ไม่ปลอดภัย และใครๆ ก็สามารถเข้าสู่ระบบได้โดยไม่ต้องใช้ข้อมูลประจำตัว หากต้องการทำให้ MariaDB แข็งแกร่งขึ้นและรักษาความปลอดภัยให้เหลือน้อยที่สุด ให้เรียกใช้คำสั่ง
sudo mysql_secure_installation
ต่อไปนี้เป็นชุดของพร้อมท์ อันแรกต้องการให้คุณตั้งรหัสผ่านรูท กด ENTER และพิมพ์ Y
สำหรับ ใช่ เพื่อระบุรหัสผ่านรูท
หลังจากตั้งรหัสผ่านแล้ว ให้ตอบคำถามที่เหลือเพื่อลบผู้ใช้ที่ไม่ระบุชื่อ ลบฐานข้อมูลทดสอบ และปิดใช้งานการล็อกอินรูทระยะไกล
เมื่อคุณทำตามขั้นตอนทั้งหมดเสร็จแล้ว คุณสามารถเข้าสู่ระบบเซิร์ฟเวอร์ MariaDB และตรวจสอบข้อมูลเวอร์ชันของเซิร์ฟเวอร์ MariaDB (ระบุรหัสผ่านที่คุณระบุเมื่อรักษาความปลอดภัยของเซิร์ฟเวอร์)
mysql -u root -p
ขั้นตอนที่ 4: ติดตั้ง PHP 7 บน CentOS 8
สุดท้ายนี้ เราจะติดตั้งคอมโพเนนต์ LEMP สแต็กสุดท้ายซึ่งก็คือ PHP ซึ่งเป็นภาษาการเขียนโปรแกรมเว็บแบบสคริปต์ที่ใช้กันทั่วไปสำหรับการพัฒนาหน้าเว็บแบบไดนามิก
ในขณะที่เขียนคู่มือนี้ เวอร์ชันล่าสุดคือ PHP 7.4 เราจะติดตั้งสิ่งนี้โดยใช้พื้นที่เก็บข้อมูล Remi พื้นที่เก็บข้อมูล Remi เป็นพื้นที่เก็บข้อมูลฟรีที่มาพร้อมกับซอฟต์แวร์เวอร์ชันล้ำสมัยล่าสุดซึ่งไม่สามารถใช้งานได้ตามค่าเริ่มต้นบน CentOS
เรียกใช้คำสั่งด้านล่างเพื่อติดตั้งพื้นที่เก็บข้อมูล EPEL
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
หลังจากนั้นให้ดำเนินการและติดตั้ง yum-utils และเปิดใช้งาน remi-repository โดยใช้คำสั่งด้านล่าง
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
จากนั้น ค้นหาโมดูล PHP ที่พร้อมสำหรับการติดตั้ง
sudo dnf module list php
ดังที่แสดงไว้ ผลลัพธ์จะแสดงโมดูล PHP สตรีม และโปรไฟล์การติดตั้งที่มีอยู่ จากผลลัพธ์ด้านล่าง เราจะเห็นว่าเวอร์ชันที่ติดตั้งอยู่ในปัจจุบันคือ PHP 7.2 ระบุด้วยตัวอักษร d
อยู่ในวงเล็บเหลี่ยม
จากผลลัพธ์ เรายังเห็นได้ว่าโมดูล PHP ล่าสุดคือ PHP 7.4 ซึ่งเราจะติดตั้ง แต่ก่อนอื่น เราต้องรีเซ็ตโมดูล PHP ก่อน ดังนั้นให้รันคำสั่ง
sudo dnf module reset php
ถัดไป เปิดใช้งานโมดูล PHP 7.4 โดยเรียกใช้
sudo dnf module enable php:remi-7.4
เมื่อเปิดใช้งานโมดูล PHP 7.4 ในที่สุดก็จะติดตั้ง PHP, PHP-FPM (FastCGI Process Manager) และโมดูล PHP ที่เกี่ยวข้อง โดยใช้คำสั่ง
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
ตอนนี้ ตรวจสอบเวอร์ชันที่ติดตั้ง
php -v
ถัดไป เปิดใช้งานและเริ่ม php-fpm
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
หากต้องการตรวจสอบสถานะให้รันคำสั่ง
sudo systemctl status php-fpm
อีกประการหนึ่งคือ โดยค่าเริ่มต้น PHP-FPM ได้รับการกำหนดค่าให้ทำงานในฐานะผู้ใช้ Apache แต่เนื่องจากเราใช้เว็บเซิร์ฟเวอร์ Nginx เราจึงต้องเปลี่ยนสิ่งนี้เป็นผู้ใช้ Nginx
ดังนั้นให้เปิดไฟล์ /etc/php-fpm.d/www.conf
vi /etc/php-fpm.d/www.conf
ค้นหาสองบรรทัดนี้
user = apache
group = apache
ตอนนี้เปลี่ยนทั้งสองค่าเป็น Nginx
user = nginx
group = nginx
บันทึกและออกจากไฟล์การกำหนดค่า
จากนั้นรีสตาร์ท Nginx และ PHP-FPM เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl restart nginx
sudo systemctl restart php-fpm
ขั้นตอนที่ 5: การทดสอบข้อมูล PHP
ตามค่าเริ่มต้น โฟลเดอร์ไดเรกทอรีเว็บสำหรับ Nginx จะอยู่ในเส้นทาง /usr/share/nginx/html/ ในการทดสอบ PHP-FPM เราจะสร้างไฟล์ PHP info.php และวางบรรทัดด้านล่าง
<?php
phpinfo();
?>
บันทึกและออกจากไฟล์.
เปิดเบราว์เซอร์ของคุณและในแถบ URL ให้พิมพ์ที่อยู่ IP ของเว็บเซิร์ฟเวอร์ของคุณดังที่แสดง
http://server-ip-address/info.php
หากทุกอย่างเป็นไปด้วยดี คุณจะเห็นข้อมูลเกี่ยวกับเวอร์ชันของ PHP ที่คุณใช้งานอยู่ และหน่วยวัดอื่นๆ จะปรากฏขึ้น
และนั่นก็คือเพื่อน ๆ ! คุณติดตั้งสแต็กเซิร์ฟเวอร์ LEMP บน CentOS 8 สำเร็จแล้ว เพื่อเป็นการป้องกันความปลอดภัย คุณอาจต้องการลบไฟล์ info.php เพื่อป้องกันไม่ให้แฮกเกอร์รับข้อมูลจากเซิร์ฟเวอร์ Nginx ของคุณ