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

วิธีติดตั้ง LEMP Stack ด้วย PhpMyAdmin ใน Ubuntu 20.04


สำหรับผู้ที่ไม่รู้ว่า LEMP คืออะไร นี่คือการรวมกันของชุดซอฟต์แวร์ – Linux, Nginx (อ่านว่า < แข็งแกร่ง>EngineX), MariaDB และ PHP

คุณสามารถใช้ LEMP เพื่อวัตถุประสงค์ในการทดสอบหรือในสภาพแวดล้อมการใช้งานจริงเพื่อปรับใช้เว็บแอปพลิเคชันโดยใช้เฟรมเวิร์ก PHP เช่น Laravel หรือ Yii หรือระบบการจัดการเนื้อหา เช่น WordPress, Drupal หรือจูมล่า

คุณอาจสงสัยว่า LAMP และ LEMP แตกต่างกันอย่างไร ข้อแตกต่างเพียงอย่างเดียวคือเว็บเซิร์ฟเวอร์ที่รวมไว้ – Apache (ใน LAMP) และ Nginx (ใน LEMP >) เว็บเซิร์ฟเวอร์ทั้งสองค่อนข้างดี และถึงแม้ Apache จะเป็นเซิร์ฟเวอร์ที่ใช้บ่อยที่สุด แต่ Nginx จะไม่ถอยกลับแต่อย่างใด

แอปพลิเคชันที่ใช้กันอย่างแพร่หลายอีกตัวหนึ่งซึ่งปกติจะติดตั้งควบคู่ไปกับสแต็ก LEMP คือ PhpMyAdmin – เป็นเครื่องมือบนเว็บ PHP สำหรับการจัดการเซิร์ฟเวอร์ฐานข้อมูล MySQL/MariaDB จากเว็บเบราว์เซอร์

หากคุณกำลังมองหาการตั้งค่า LAMP สำหรับ Ubuntu 20.04 คุณควรอ่านคู่มือการตั้งค่า LAMP ของเราบน Ubuntu 20.04

ข้อกำหนดเบื้องต้น:

  1. คู่มือการติดตั้งเซิร์ฟเวอร์ Ubuntu 20.04

ในบทความนี้ คุณจะได้เรียนรู้วิธีการติดตั้งและกำหนดค่าสแต็ก LEMP ด้วย PhpMyAdmin ในเซิร์ฟเวอร์ Ubuntu 20.04

ขั้นตอนที่ 1: การติดตั้ง Nginx บน Ubuntu 20.04

1. Nginx เป็นเว็บเซิร์ฟเวอร์สมัยใหม่ที่รวดเร็ว ออกแบบมาเพื่อเซิร์ฟเวอร์การเชื่อมต่อพร้อมกันจำนวนมากโดยไม่ต้องใช้ทรัพยากรเซิร์ฟเวอร์มากเกินไป ด้วยเหตุนี้จึงมักเป็นตัวเลือกที่ต้องการในสภาพแวดล้อมขององค์กร

โดยทั่วไปแล้ว NGINX ยังใช้เป็นตัวโหลดบาลานเซอร์และแคชเนื้อหาเว็บอีกด้วย รองรับเซิร์ฟเวอร์เสมือนตามชื่อและตาม IP (คล้ายกับโฮสต์เสมือนใน Apache)

คุณสามารถติดตั้ง Nginx บนเดสก์ท็อปหรือเซิร์ฟเวอร์ Ubuntu 20.04 ได้โดยการเรียกใช้คำสั่งต่อไปนี้

sudo apt update
sudo apt install nginx

ไฟล์การกำหนดค่า Nginx จะถูกจัดเก็บไว้ในไดเร็กทอรี /etc/nginx และไฟล์การกำหนดค่าหลักคือ /etc/nginx/nginx.conf ที่สำคัญ รูทเอกสารเริ่มต้นสำหรับจัดเก็บไฟล์เว็บของคุณคือ /usr/share/nginx/html/ แต่คุณสามารถใช้ /var/www/html มาตรฐานได้ ซึ่งควรกำหนดค่าไว้ในไฟล์การกำหนดค่าบล็อกเซิร์ฟเวอร์ของเว็บไซต์หรือแอปพลิเคชันของคุณ

2. โปรแกรมติดตั้งแพ็คเกจ Ubuntu จะทริกเกอร์ systemd เพื่อเริ่มบริการ Nginx และเปิดใช้งานให้เริ่มโดยอัตโนมัติทุกครั้งที่รีบูตเซิร์ฟเวอร์ ใช้คำสั่ง systemctl ต่อไปนี้เพื่อยืนยันว่าบริการกำลังทำงานและเปิดใช้งานอยู่

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. ตอนนี้ถึงเวลาตรวจสอบว่าการติดตั้ง Nginx สำเร็จหรือไม่โดยการเรียกหน้า Nginx ผ่านเบราว์เซอร์โดยใช้ที่อยู่ IP ของเซิร์ฟเวอร์

http://SERVER_IP

หากคุณไม่ทราบที่อยู่ IP ของเซิร์ฟเวอร์ คุณสามารถค้นหาได้โดยใช้คำสั่ง IP ดังที่แสดง

ip addr show

หน้าเว็บเริ่มต้นของ NGINX ควรโหลดตามที่แสดงในภาพหน้าจอต่อไปนี้ เพื่อยืนยันการติดตั้งและการทำงานที่ถูกต้อง

ขั้นตอนที่ 2: การติดตั้งฐานข้อมูล MariaDB บน Ubuntu 20.04

4. MariaDB คือระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่ค่อนข้างใหม่ซึ่งได้รับการออกแบบให้เป็นทางแยกชุมชนของ MySQL หลังจากที่ได้มาซึ่ง Oracle

การติดตั้ง MariaDB นั้นง่ายดายและสามารถเริ่มต้นด้วยคำสั่งดังนี้:

sudo apt install mariadb-server mariadb-client

5. บริการ MariaDB จะเริ่มทำงานโดยอัตโนมัติและเปิดใช้งานเพื่อเริ่มต้นเมื่อบูตระบบเสมอ และคุณสามารถยืนยันได้โดยใช้คำสั่งต่อไปนี้

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. หากคุณต้องการปรับปรุงการรักษาความปลอดภัย MariaDB คุณสามารถเรียกใช้คำสั่ง mysql_secure_installation ซึ่งจะมีตัวเลือกพื้นฐานที่สำคัญในการกำหนดค่า : :

sudo mysql_secure_installation

จากนั้นเลือกตัวเลือกเพื่อตั้งรหัสผ่านผู้ใช้รูทฐานข้อมูล (หรือผู้ดูแลระบบ) แล้วปฏิบัติตามคำแนะนำและอ่านคำถามอย่างละเอียด เพื่อรักษาความปลอดภัยเซิร์ฟเวอร์ฐานข้อมูลของคุณ ให้ตอบคำถามตามที่แสดงในภาพหน้าจอ

  • ป้อนรหัสผ่านปัจจุบันสำหรับรูท (ป้อนโดยไม่ต้องใส่): ป้อน
  • ตั้งรหัสผ่านรูท? [ใช่/n] <รหัส>y
  • ลบผู้ใช้ที่ไม่ระบุชื่อออกใช่ไหม [ใช่/n] <รหัส>y
  • ไม่อนุญาตให้ล็อกอินรูทจากระยะไกลใช่ไหม [ใช่/n] <รหัส>y
  • ลบฐานข้อมูลทดสอบและเข้าถึงได้หรือไม่ [ใช่/n] <รหัส>y
  • โหลดตารางสิทธิพิเศษตอนนี้เลยไหม [ใช่/n] <รหัส>y

7. ในการสร้าง จัดการ และดำเนินการฐานข้อมูล คุณต้องใช้คำสั่งเชลล์ mysql พร้อมด้วยแฟล็ก -u เพื่อระบุชื่อผู้ใช้ฐานข้อมูลและ -p เพื่อระบุรหัสผ่านของผู้ใช้

หากต้องการเชื่อมต่อในฐานะผู้ใช้ root ให้ใช้คำสั่ง sudo (แม้ว่าจะไม่มีแฟล็ก -p ก็ตาม) มิฉะนั้นคุณจะได้รับข้อผิดพลาดที่ไฮไลต์ไว้ในภาพหน้าจอต่อไปนี้

mysql -u root -p
sudo mysql -u root

ขั้นตอนที่ 3: การติดตั้ง PHP ใน Ubuntu 20.04

8. PHP เป็นภาษาสคริปต์โอเพ่นซอร์ส ยืดหยุ่น และไดนามิกยอดนิยมสำหรับการสร้างเว็บไซต์และเว็บแอปพลิเคชัน รองรับเทคนิคการเขียนโปรแกรมที่หลากหลาย ที่สำคัญ ชุมชน PHP มีขนาดใหญ่และหลากหลาย ประกอบด้วยไลบรารี เฟรมเวิร์ก และส่วนประกอบที่มีประโยชน์อื่นๆ จำนวนนับไม่ถ้วน

NGINX ใช้ FPM (FastCGI Process Manager) หรือ PHP-FPM ในการประมวลผลสคริปต์ PHP PHP-FPM คือการใช้งาน PHP FastCGI ทางเลือกที่ใช้กันอย่างแพร่หลาย ซึ่งมาพร้อมกับคุณลักษณะเพิ่มเติมมากมาย และใช้สำหรับขับเคลื่อนไซต์/เว็บแอปพลิเคชันที่มีการเข้าชมสูง

หากต้องการติดตั้ง PHP และ PHP-FPM ให้รันคำสั่งต่อไปนี้ซึ่งจะติดตั้งแพ็คเกจเพิ่มเติมที่จำเป็นบางส่วนด้วย

sudo apt install php php-mysql php-fpm

เนื่องจาก PHP 7.4 เป็นเวอร์ชันเริ่มต้นของ PHP ใน Ubuntu 20.04 ไฟล์การกำหนดค่า PHP จึงอยู่ใน /etc/php/7.4 / และไฟล์การกำหนดค่า PHP-FPM จะถูกเก็บไว้ภายใต้ /etc/php/7.4/fpm

9. ต่อไป ตรวจสอบว่าบริการ php7.4-fpm ทำงานอยู่หรือไม่ และเปิดใช้งานด้วยคำสั่งต่อไปนี้หรือไม่

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

ขั้นตอนที่ 4: การกำหนดค่า Nginx ให้ทำงานกับ PHP-FPM

10. ตอนนี้ คุณต้องกำหนดค่า NGINX ให้กับคำขอพร็อกซีไคลเอ็นต์ไปยัง PHP-FPM ซึ่งตามค่าเริ่มต้นจะได้รับการกำหนดค่าให้ฟังบน ซ็อกเก็ต UNIX ตามที่กำหนดโดยพารามิเตอร์ Listen ในไฟล์การกำหนดค่าพูลเริ่มต้น /etc/php/7.4/fpm/pool.d/www.conf

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. ในไฟล์การกำหนดค่าบล็อกเซิร์ฟเวอร์เริ่มต้น (/etc/nginx/sites-available/default) ให้ยกเลิกการใส่หมายเหตุตำแหน่ง คำสั่ง สำหรับการประมวลผล PHP ขอให้มีลักษณะเหมือนกับที่แสดงในภาพหน้าจอต่อไปนี้

sudo vi /etc/nginx/sites-available/default

บันทึกไฟล์และออก

12. จากนั้นทดสอบไวยากรณ์การกำหนดค่า NGINX เพื่อความถูกต้อง หากทำได้ ให้รีสตาร์ทบริการ Nginx เพื่อใช้การเปลี่ยนแปลงใหม่

sudo nginx -t
sudo systemctl restart nginx

13. ตอนนี้ให้ทดสอบว่า NGINX สามารถทำงานร่วมกับ PHP-FPM เพื่อประมวลผลคำขอ PHP ได้หรือไม่ สร้างหน้า info.php แบบง่ายๆ ใต้ไดเรกทอรีรากของเอกสาร

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. ในเบราว์เซอร์ของคุณ นำทางโดยใช้ที่อยู่ต่อไปนี้ หน้าการกำหนดค่า PHP ควรโหลดแสดงดังที่แสดงในภาพหน้าจอต่อไปนี้

http://SERVER_IP/info.php

ขั้นตอนที่ 5: การติดตั้ง PhpMyAdmin ใน Ubuntu 20.04

15. PhpMyAdmin เป็นแอปพลิเคชัน PHP บนเว็บแบบโอเพ่นซอร์สฟรี สร้างขึ้นโดยเฉพาะสำหรับการจัดการเซิร์ฟเวอร์ฐานข้อมูล MySQL/MariaDB ผ่านทางเว็บเบราว์เซอร์ มีอินเทอร์เฟซแบบกราฟิกที่ใช้งานง่ายและรองรับคุณสมบัติทั่วไปที่หลากหลายสำหรับงานการดูแลฐานข้อมูล

sudo apt install phpmyadmin

16. ในระหว่างการติดตั้งแพ็คเกจ คุณจะถูกขอให้กำหนดค่าคุณสมบัติหลายประการของแพ็คเกจ PhpMyAdmin ขั้นแรก จะได้รับแจ้งให้เลือกเว็บเซิร์ฟเวอร์เริ่มต้นสำหรับใช้งาน กด Esc เนื่องจาก NGINX ไม่อยู่ในรายการที่ให้ไว้

17. ถัดไป PhpMyAdmin จำเป็นต้องมีฐานข้อมูลเพื่อใช้งาน ในข้อความแจ้งการกำหนดค่าแพ็คเกจนี้ ให้เลือก ใช่ เพื่อกำหนดค่าฐานข้อมูลสำหรับ PhpMyAdmin ด้วย แพ็คเกจ dbconfig-common

18. ในข้อความแจ้งถัดไป คุณต้องระบุรหัสผ่านสำหรับ PhpMyAdmin เพื่อลงทะเบียนกับฐานข้อมูล MariaDB ป้อนรหัสผ่านที่ปลอดภัยแล้วคลิก Enter

ขั้นตอนที่ 6: การกำหนดค่า NGINX เพื่อให้บริการไซต์ PhpMyAdmin

19. หากต้องการเปิดใช้งาน NGINX เพื่อให้บริการไซต์ PhpMyAdmin ซึ่งอยู่ที่ /usr/share/phpmyadmin ให้สร้างลิงก์สัญลักษณ์ สำหรับไดเร็กทอรีนี้ภายใต้รูทเอกสาร จากนั้นตั้งค่าการอนุญาตและความเป็นเจ้าของที่ถูกต้องในไดเร็กทอรี PHPMyAdmin ดังนี้

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. นอกจากนี้ ตรวจสอบให้แน่ใจว่าคำสั่ง ดัชนี ในการกำหนดค่าบล็อกเซิร์ฟเวอร์เริ่มต้น (/etc/nginx/sites-available/default) ประกอบด้วย index.php ดังที่แสดงในภาพหน้าจอต่อไปนี้

21. ต่อไป ให้รีสตาร์ทบริการ Nginx อีกครั้งเพื่อใช้การเปลี่ยนแปลงข้างต้น

sudo systemctl restart nginx

22. ตอนนี้เข้าถึงไซต์ PhpMyAdmin จากเบราว์เซอร์โดยใช้ที่อยู่ต่อไปนี้

http://SERVER_IP/phpmyadmin

ที่หน้าเข้าสู่ระบบ ตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้และรหัสผ่าน PHPMyAdmin โปรดจำไว้ว่าการเข้าสู่ระบบของผู้ใช้รูทระยะไกลจะถูกปิดใช้งาน เว้นแต่คุณจะเข้าถึง PHPMyAdmin บนโลคัลโฮสต์ที่ติดตั้งฐานข้อมูล MariaDB ไว้ การเข้าถึงรูทจะไม่ทำงาน

สุดท้ายแต่ไม่ท้ายสุด รักษาความปลอดภัยการติดตั้ง PhpMyAdmin โดยใช้คำแนะนำของเรา: 4 เคล็ดลับที่เป็นประโยชน์ในการรักษาความปลอดภัยอินเทอร์เฟซเว็บ PhpMyAdmin

บทสรุป

การตั้งค่า LEMP ของคุณเสร็จสมบูรณ์แล้ว และคุณสามารถเริ่มสร้างเว็บแอปพลิเคชันของคุณ หรือเพียงแค่เล่นกับบริการ Nginx และ MariaDB ที่คุณเพิ่งติดตั้ง สิ่งเหล่านี้มีการใช้กันอย่างแพร่หลายและได้รับความรู้เพิ่มเติมขอแนะนำสำหรับผู้ดูแลระบบ