ค้นหาเว็บไซต์

วิธีการติดตั้งเซิร์ฟเวอร์ 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 ของคุณ