ในบทช่วยสอนนี้ คุณจะเห็นขั้นตอนที่คุณต้องปฏิบัติตามเพื่อติดตั้งและกำหนดค่า LEMP บน Debian 12 Nginx, MariaDB และ PHP เป็นแพ็คเกจซอฟต์แวร์ที่จำเป็นสำหรับเว็บโฮสติ้งประสิทธิภาพสูง ไม่ว่าจะเป็นสำหรับเว็บไซต์โชว์ผลงาน บล็อก หรือร้านค้าออนไลน์
เนื้อหา
LEMP ย่อมาจาก Linux, Nginx, MySQL/MariaDB, PHP และเป็นพื้นฐานสำหรับโครงการเว็บและเว็บแอปพลิเคชันจำนวนมากทั่วโลก นอกจากนี้ คุณจะไม่สามารถดูบทความนี้ได้หากเบื้องหลัง Stealthsettings.com ไม่มีแพ็คเกจเหล่านี้ทั้งหมดที่รับประกันการทำงานออนไลน์ของเว็บไซต์ของเรา
Debian เป็นระบบปฏิบัติการบน Linux แบบโอเพ่นซอร์สที่มีชื่อเสียงในด้านความเสถียร ความปลอดภัย และความยืดหยุ่น ด้วยประวัติศาสตร์อันยาวนานและชุมชนนักพัฒนาที่กระตือรือร้น Debian นำเสนอแพ็คเกจซอฟต์แวร์และไลบรารีที่หลากหลายเพื่อตอบสนองความต้องการที่หลากหลายของผู้ใช้ ระบบปฏิบัติการนี้มักใช้เพื่อสร้างเซิร์ฟเวอร์ที่เชื่อถือได้และมีประสิทธิภาพสำหรับบริษัทต่างๆ แต่ก็สามารถปรับให้เข้ากับการใช้งานส่วนตัวได้เช่นกัน
วิธีการติดตั้งและกำหนดค่า LEMP บน Debian 12
ขั้นตอนแรกที่คุณต้องทำก่อนติดตั้งและกำหนดค่า LEMP บน Debian 12 คือเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH (หรือจากคอนโซลโดยตรงจากคอนโซลหากคุณมีสิทธิ์เข้าถึงในเครื่อง) ตรวจสอบให้แน่ใจว่าไม่มีแพ็คเกจ LEMP หรือระบบการดูแลระบบ เช่น cPanel, VestaCP หรืออื่นๆ ที่ติดตั้งไว้บนเซิร์ฟเวอร์แล้ว
ชุดคำสั่งในบทช่วยสอนนี้เริ่มต้นด้วย “sudo“แต่ถ้าคุณเชื่อมต่อกับเซิร์ฟเวอร์กับผู้ใช้ “root“มันไม่จำเป็น “sudo” ด้านหน้าบรรทัดคำสั่ง สั่งการ “sudo” ใช้ด้านหน้าบรรทัดคำสั่งเพื่อให้สิทธิ์ superuser แก่ผู้ใช้ทั่วไปเป็นการชั่วคราว โดยอนุญาตให้เรียกใช้คำสั่งที่ต้องใช้สิทธิ์พิเศษหรือการเข้าถึงทรัพยากรที่ได้รับการป้องกัน เช่น การติดตั้งหรือกำหนดค่าซอฟต์แวร์ การดูแลระบบ หรือการดำเนินการที่ละเอียดอ่อนอื่นๆ
อัพเดตซอฟต์แวร์
ก่อนที่จะเริ่มการติดตั้ง LAMP ขอแนะนำให้อัพเดตทั้งระบบปฏิบัติการและแพ็คเกจซอฟต์แวร์ที่ติดตั้งไว้แล้ว
sudo apt update
sudo apt upgrade
หากมีแพ็คเกจให้อัพเดตกด “Y” เมื่อถูกถามว่า:
Do you want to continue? [Y/n] Y
การติดตั้งและกำหนดค่า Nginx Web Server บน Debian 12
Pentru ca serverul web să poată servi paginile web vizitatorilor, Nginx Web Server จะต้องติดตั้งและกำหนดค่าอย่างถูกต้อง
sudo apt install nginx
กำลังพิมพ์ “Y” เพื่อยืนยันการติดตั้ง Nginx Web Server
Do you want to continue? [Y/n] Y

เส้นเมื่อสิ้นสุดกระบวนการติดตั้ง เส้นควรมีลักษณะดังนี้:
Setting up nginx-common (1.22.1-9) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
Setting up nginx (1.22.1-9) ...
Upgrading binary: nginx.
Processing triggers for man-db (2.11.2-2) ...
สุดท้ายนี้ เพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้อง ให้ไปที่ที่อยู่นั้น IP ในเว็บเบราว์เซอร์ http://your_server_ip-

บริการ Nginx เปิดใช้งานและทำงานบนเซิร์ฟเวอร์ของคุณและพร้อมที่จะให้บริการหน้าเว็บ
ที่เกี่ยวข้อง:
การติดตั้งและกำหนดค่าเซิร์ฟเวอร์ MariaDB บน Debian 12
MariaDB นำเสนอประสิทธิภาพที่ได้รับการปรับปรุง ความเร็วการจำลองที่เร็วขึ้น มาตรการรักษาความปลอดภัยที่เพิ่มขึ้น และกลไกการจัดเก็บข้อมูลเพิ่มเติมเมื่อเทียบกับ MySQL
เรียกใช้บรรทัดคำสั่งด้านล่างแล้วพิมพ์ “Y” เพื่อยืนยันการติดตั้ง MariaDB Server-
sudo apt install mariadb-server
หลังการติดตั้ง คุณจะต้องรักษาความปลอดภัยเซิร์ฟเวอร์ MariaDB โดยการรันสคริปต์: mysql_secure_installation- มันจะจำกัดการเข้าถึงเซิร์ฟเวอร์และลบบัญชีที่ไม่ได้ใช้
เรียกใช้บรรทัดคำสั่ง:
sudo mysql_secure_installation
กด “Enter” สำหรับรหัสผ่านปัจจุบันของผู้ใช้ “root“-

Switch to unix_socket authentication [Y/n] Y
ตั้งรหัสผ่านสำหรับ MariaDB-
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
ถัดไป คุณจะลบสิทธิ์และฐานข้อมูลที่ตั้งไว้เป็นค่าเริ่มต้นระหว่างการติดตั้ง MariaDB Server-
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
รหัสผ่านที่ตั้งไว้ด้านบนสำหรับบัญชี “root” จำเป็นเมื่อคุณเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกล ระยะไกล. นี่คือรหัสผ่านสำหรับ MariaDB-
ทดสอบการติดตั้ง SQL Server ของคุณ
root@mars:~# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.11.3-MariaDB-1 Debian 12
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select version();
+-------------------+
| version() |
+-------------------+
| 10.11.3-MariaDB-1 |
+-------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> quit
Bye
root@mars:~#
การติดตั้งและกำหนดค่า PHP / PHP-FPM บน Debian 12
หากทุกอย่างทำงานได้ดีจนถึงขั้นตอนนี้ คุณต้องมีซอฟต์แวร์ PHP ด้วยจึงจะติดตั้งและกำหนดค่า LEMP บน Debian 12 ได้ สำหรับการรองรับ PHP ใน Nginx คุณต้องติดตั้ง PHP-FPM ด้วย
sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml
รอให้กระบวนการติดตั้งเสร็จสิ้น PHP-FPMพร้อมด้วยโมดูล PHP ที่สำคัญที่สุด
ในที่สุดฉันก็สามารถติดตั้งได้ในบทช่วยสอนของฉัน PHP 8.2 บนระบบปฏิบัติการ Debian 12
root@mars:~# php -v
PHP 8.2.7 (cli) (built: Jun 9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies
root@mars:~#
ณ จุดนี้ องค์ประกอบทั้งหมดของ LEMP ได้รับการติดตั้งแล้ว แต่ยังคงมีการกำหนดค่าบางอย่างที่ต้องทำ Nginx เพื่อรันไฟล์ PHP
การกำหนดค่า NGINX เพื่อรันไฟล์ PHP
เพื่อกำหนดค่า Nginx สำหรับเพจ “ค่าเริ่มต้น”, แก้ไข “/etc/nginx/sites-enabled/default“- ฉันชอบ “nano” สำหรับการแก้ไข
เข้ามาแทน. “location /” เส้น:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
ด้วยบรรทัด:
location / {
try_files $uri $uri/ /index.php?$args;
}
จากนั้นเพิ่มบรรทัดด้านล่างลงในบล็อก “server” เพื่อให้ Nginx ประมวลผล PHP
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
}

บันทึกไฟล์และตรวจสอบการกำหนดค่า:
root@mars:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@mars:~#
หากการทดสอบการกำหนดค่าสำเร็จ ให้เริ่มบริการใหม่ nginx-
sudo systemctl restart nginx
ทดสอบว่าคุณติดตั้งและกำหนดค่า LEMP บน Debian 12 สำเร็จหรือไม่
หลังจากที่คุณติดตั้งและกำหนดค่า Nginx, MariaDB และ PHP บน Debian 12 (LEMP) แล้ว ก็ถึงเวลาทดสอบว่าทุกอย่างใช้งานได้หรือไม่ วิธีทดสอบที่ง่ายที่สุดคือสร้างไฟล์ info.php
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
เข้าถึงได้ในเบราว์เซอร์ “https://your_server_ip/info.php“-

หน้า PHP หมายความว่าคุณติดตั้ง LEMP สำหรับ Debian 12 สำเร็จแล้ว
ยินดีด้วย!