ตั้งค่าเซิร์ฟเวอร์ Ubuntu 20.04 ด้วย Lighttpd, MySQL และ PHP-FPM
Lighttpd เป็นเว็บเซิร์ฟเวอร์โอเพ่นซอร์สที่รวดเร็วและยืดหยุ่น ซึ่งเทียบได้กับประสิทธิภาพกับ Nginx สำหรับการโฮสต์แอปพลิเคชัน PHP เช่น WordPress, Magento ฯลฯ บนเซิร์ฟเวอร์ Lighttpd คุณต้องตั้งค่า LLMP stack บนเซิร์ฟเวอร์ของคุณ LLMP ย่อมาจาก Linux, Lighttpd, MySQL และ PHP
ด้วยประสิทธิภาพของ Lighttpd ทำให้ LLMP stack มีประสิทธิภาพเหนือกว่า LAMP (Apache) ที่ตั้งค่าปริมาณการรับส่งข้อมูลที่กำหนด เท่าที่ LLMP กับ LEMP (Nginx) ดำเนินไป ประสิทธิภาพส่วนใหญ่จะคล้ายกัน แต่ Nginx เป็นตัวเลือกยอดนิยมในหมู่คนทั่วไป มีชุมชนสนับสนุนที่ยอดเยี่ยมสำหรับการตั้งค่า LEMP
หากคุณกำลังมองหาเซิร์ฟเวอร์เพื่อรองรับการรับส่งข้อมูลจำนวนมากโดยใช้หน่วยความจำน้อยที่สุด การตั้งค่า LLMP เป็นตัวเลือกที่ดี ในคู่มือนี้ เราจะมาดูวิธีการติดตั้ง LLMP stack บนเครื่อง Ubuntu 20.04 LTS
ข้อกำหนดเบื้องต้น
คุณจะต้องใช้เซิร์ฟเวอร์ Ubuntu 20.04 LTS และเข้าสู่ระบบด้วย a sudo
ผู้ใช้ที่เปิดใช้งาน คุณจะต้องมีความเข้าใจพื้นฐานเกี่ยวกับคำสั่ง Linux
ก่อนที่เราจะเริ่มต้น ให้อัปเดตและอัปเกรดแพ็คเกจบนเซิร์ฟเวอร์ Ubuntu 20.04 ของคุณโดยออกคำสั่งด้านล่าง:
sudo apt-get update && apt-get upgrade
ติดตั้ง Lighttpd เว็บเซิร์ฟเวอร์
ในการติดตั้งเว็บเซิร์ฟเวอร์ Lighttpd บนเครื่อง Ubuntu 20.04 เพียงป้อนคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ
sudo apt-install lighttpd
เมื่อกระบวนการติดตั้งเสร็จสิ้น ให้พิมพ์คำสั่งต่อไปนี้เพื่อเริ่มต้นและเปิดใช้งานเว็บเซิร์ฟเวอร์ Lighttpd
systemctl start lighttpd systemctl เปิดใช้งาน lighttpd
ในการตรวจสอบสถานะของเซิร์ฟเวอร์ Lighttpd ให้พิมพ์คำสั่งที่แสดงด้านล่าง
สถานะ systemctl lighttpd
💡 เคล็ดลับ: หากต้องการลบบรรทัดสุดท้ายที่มี (END) เขียนอยู่ ให้กด ESC
และ q
เพื่อให้สามารถป้อนคำสั่งเพิ่มเติมได้
ตอนนี้เราจะตั้งค่าบริการ HTTP, HTTPS และ SSH ในไฟร์วอลล์ UFW UFW เป็นเครื่องมือกำหนดค่าไฟร์วอลล์เริ่มต้นสำหรับ Ubuntu หรือที่เรียกว่า Uncomplicated Firewall พิมพ์คำสั่งต่อไปนี้แล้วกด Enter ทีละรายการ
sudo ufw อนุญาต ssh sudo ufw อนุญาต http sudo ufw อนุญาต https
เปิดใช้งานไฟร์วอลล์ UFW โดยออกคำสั่งต่อไปนี้:
sudo ufw เปิดใช้งาน
หากคุณได้รับพร้อมท์สำหรับ 'คำสั่งอาจขัดขวางการเชื่อมต่อ ssh ที่มีอยู่" ให้พิมพ์ y
และตี เข้าสู่
.
เพื่อตรวจสอบการติดตั้ง Lighttpd เข้าถึงเซิร์ฟเวอร์โดยใช้ที่อยู่ IP ในเว็บเบราว์เซอร์ ถ้ามันแสดงหน้าจอต่อไปนี้ แสดงว่าเว็บเซิร์ฟเวอร์ Lighttpd ของคุณได้รับการติดตั้งสำเร็จบนเครื่อง Ubuntu 20.04 ของคุณ
ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ MySQL
MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ตามภาษาการสืบค้นที่มีโครงสร้าง ในการติดตั้งเซิร์ฟเวอร์ MySQL และไคลเอนต์บน Ubuntu 20.04 ให้คัดลอก/วางคำสั่งต่อไปนี้แล้วกด เข้าสู่
.
sudo apt-get ติดตั้งเซิร์ฟเวอร์ mysql mysql-client
โดยจะแจ้งข้อความว่าการดำเนินการนี้จะใช้พื้นที่ดิสก์เพิ่มเติม 247 MB หลังการติดตั้ง ดังนั้นพิมพ์ y
และตี เข้าสู่
.
เมื่อกระบวนการติดตั้งเสร็จสิ้น ให้เริ่มต้นและเปิดใช้งานเซิร์ฟเวอร์ MySQL และเพิ่มไปยังการบูตระบบโดยใช้คำสั่งต่อไปนี้ทีละตัว
systemctl start mysql systemctl เปิดใช้งาน mysql
คุณจะเห็นข้อความต่อไปนี้บนหน้าจอของคุณ:
ในการตรวจสอบสถานะของบริการ MySQL ของคุณ ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล ดิ mysql.service
สถานะควรแสดงเป็น "ใช้งานอยู่ (กำลังทำงาน)"
สถานะ systemctl mysql
ในการกำหนดการตั้งค่าความปลอดภัย MySQL เราจะรันสคริปต์ความปลอดภัยที่มาพร้อมกับแพ็คเกจ MySQL พิมพ์คำสั่งต่อไปนี้แล้วกด Enter เพื่อรันสคริปต์
mysql_secure_installation
คำสั่งดังกล่าวจะแจ้งให้คุณมีคำถามสองสามข้อเพื่อกำหนดค่าเซิร์ฟเวอร์ MySQL
มันจะขอให้คุณตั้งรหัสผ่านโดยใช้ ตรวจสอบส่วนประกอบรหัสผ่าน
. ปลั๊กอินนี้จะช่วยคุณตั้งค่ารหัสผ่านที่รัดกุมสำหรับฐานข้อมูล MySQL ของคุณ กด y
และกด Enter เพื่อเปิดใช้งานปลั๊กอินนี้ พิมพ์ 0
, 1
, หรือ 2
เพื่อเลือกนโยบายการตรวจสอบรหัสผ่านซึ่งกำหนดระดับความเข้มงวดของรหัสผ่านของคุณ
ป้อนรหัสผ่านที่รัดกุม ที่ ตรวจสอบรหัสผ่าน
ปลั๊กอินจะบอกคุณเกี่ยวกับความแรงโดยประมาณของรหัสผ่านของคุณ กด y
และตี เข้าสู่
.
หลังจากตั้งค่ารหัสผ่านที่ปลอดภัยแล้ว ให้กำหนดค่าการตั้งค่าที่เหลือตามที่อธิบายไว้ด้านล่าง
- ลบผู้ใช้ที่ไม่ระบุชื่อ - เข้า
y|y
เนื่องจากโดยค่าเริ่มต้น MySQL มีผู้ใช้ที่ไม่ระบุชื่อที่อนุญาตให้ทุกคนเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยไม่ต้องมีบัญชีผู้ใช้ ดังนั้นให้เอาออก
- ไม่อนุญาตการเข้าสู่ระบบรูทจากระยะไกล - เข้า
y|y
เนื่องจากควรอนุญาตการรูทจาก 'localhost' เท่านั้น ทำให้แน่ใจว่าบางคนไม่สามารถเข้าสู่ระบบในฐานะรูทนอกเครือข่ายของคุณได้
- ลบฐานข้อมูลทดสอบและเข้าถึงหรือไม่ - เข้า
y|y
เพราะ MySQL มาพร้อมกับฐานข้อมูลทดสอบที่ทุกคนสามารถเข้าถึงได้ ดังนั้น ให้ลบออกก่อนที่จะย้ายไปยังสภาพแวดล้อมการผลิต
- โหลดตารางสิทธิ์ตอนนี้ใหม่หรือไม่ เข้า
y|y
เพราะสิ่งนี้จะช่วยให้แน่ใจว่าการเปลี่ยนแปลงที่คุณได้ทำไปแล้วจะมีผลทันที
ในการตรวจสอบผู้ใช้ทั้งหมดที่สามารถเข้าถึงเซิร์ฟเวอร์ MySQL ขั้นแรกให้เข้าสู่ระบบ MySQL เป็น root โดยใช้คำสั่งด้านล่าง:
mysql -u root -p
จากนั้นออกคำสั่งต่อไปนี้เพื่อรับรายชื่อผู้ใช้บนเซิร์ฟเวอร์ MySQL ของคุณ:
เลือก User, Host จาก mysql.user;
เมื่อคุณตรวจสอบรายชื่อผู้ใช้แล้ว ให้พิมพ์ ทางออก
เพื่อออกจากระบบเชลล์ MySQL
การติดตั้ง PHP – ตัวจัดการกระบวนการ CGI ที่รวดเร็ว (PHP-FPM)
PHP-FPM ช่วยให้เซิร์ฟเวอร์สามารถรองรับการโหลดจำนวนมากได้แม้ในเซิร์ฟเวอร์ระดับล่าง มันอ้างว่าลดเวลาในการโหลดลง 300 เปอร์เซ็นต์สำหรับแอปพลิเคชัน PHP บางตัว
ในการติดตั้งแพ็คเกจ PHP-FPM ล่าสุด ให้พิมพ์คำสั่งต่อไปนี้แล้วกด Enter
sudo apt-install php-fpm php-cgi php-mysql
ปรับแต่งการกำหนดค่า PHP-FPM อย่างละเอียด โดยทำการเปลี่ยนแปลงบางอย่างใน php.ini
ไฟล์.
หากต้องการทำสิ่งนี้ก่อนอื่นให้ไปที่ไดเร็กทอรี/etc/php/7.4/fpm
ใช้ ซีดี
คำสั่งตามที่แสดงด้านล่าง
cd /etc/php/7.4/fpm
จากนั้นใช้คำสั่งด้านล่างเพื่อเปิด php.ini
ไฟล์ในตัวแก้ไข vim
vim php.ini
Uncomment the cgi.fix_pathinfo=1
ไลน์. ค้นหาบรรทัดที่มี 'cgi.fix_pathinfo=1
'ในบรรณาธิการ เมื่อต้องการทำสิ่งนี้ให้กด 'เอสค
’ และพิมพ์ /cgi.fix_pathinfo=1
และตี เข้าสู่
.
จากนั้นกด ผม
เพื่อเปลี่ยนเป็นโหมดแทรกและถอด ;
(อัฒภาค) สัญลักษณ์หน้าบรรทัดหรือกด x
ปุ่มเพื่อ uncommenty บรรทัดใน php.ini
ไฟล์.
เมื่อเสร็จแล้ว ให้บันทึกการเปลี่ยนแปลงที่คุณทำในไฟล์และออกจากโปรแกรมแก้ไข vim โดยกด เอสค
เพื่อเข้าสู่โหมดคำสั่งแล้วพิมพ์ :wq
และตี เข้าสู่
เพื่อออกจากตัวแก้ไข
เริ่มและเปิดใช้งาน PHP-FPM โดยออกคำสั่งดังนี้
systemctl start php7.4-fpm systemctl เปิดใช้งาน php7.4-fpm
ในการตรวจสอบสถานะของ PHP-FPM ให้รันคำสั่งต่อไปนี้:
สถานะ systemctl php7.4-fpm
การกำหนดค่า Lighttpd และ PHP-FPM
ตอนนี้เราจะทำการเปลี่ยนแปลงบางอย่างใน 15-fastcgi-php.conf
ไฟล์กำหนดค่าเพื่อกำหนดค่า Lighttpd และ PHP-FPM
นำทางไปยังไดเร็กทอรีที่เพียงพอโดยพิมพ์คำสั่งนี้แล้วกด Enter
cd ฯลฯ/lighttpd/conf-available/
หากคุณต้องการเก็บสำเนาของ '15-fastcgi-php.conf
' จากนั้นใช้คำสั่งด้านล่าง
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
ตอนนี้ เราจะเปิดและแก้ไขไฟล์นี้โดยใช้โปรแกรมแก้ไข vim โดยใช้คำสั่งด้านล่าง:
vim 15-fastcgi-php.conf
ในที่นี้ ให้แทนที่เนื้อหาการกำหนดค่าเริ่มต้นของ PHP-CGI ด้วยเนื้อหาที่แสดงด้านล่าง
fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "enable" )) )
โดยทำตามขั้นตอนตามลำดับที่แสดงด้านล่าง
- กด '
เอสค
' และ 'ผม
’ เพื่อเข้าสู่โหมดแทรก - ตอนนี้นำทางไปยังบรรทัดที่เราต้องลบโดยใช้
ขึ้น
หรือลง
ปุ่มลูกศร (ปุ่มลูกศรขึ้นและลงใช้งานได้ในตัวแก้ไข vim ไม่ใช่ในตัวแก้ไข vi) - หากต้องการลบเฉพาะบรรทัดให้กด
dd
. และหากต้องการลบคำเดียวให้กดx
. - ตอนนี้คัดลอก/วางโค้ดด้านบนลงในไฟล์
- จากนั้นบันทึกไฟล์และออกจาก vim โดยกด
เอสค
,:wq
, และเข้าสู่
.
ตอนนี้ Lighttpd จะทำงานอย่างเพียงพอกับ PHP-FPM และได้รับการกำหนดค่าอย่างเหมาะสม
เปิดใช้งานโมดูล FastCGI Lighttpd โดยใช้คำสั่งด้านล่าง:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
สุดท้าย ให้รีสตาร์ทเว็บเซิร์ฟเวอร์ Lighttpd เพื่อใช้การกำหนดค่าและการตั้งค่าใหม่
systemctl รีสตาร์ท lighttpd
ทดสอบ เซิร์ฟเวอร์ LLMP ของคุณ
เพื่อทดสอบเซิร์ฟเวอร์ LLMP ที่สร้างขึ้นใหม่ เราจะสร้างไฟล์ในรูทของไดเร็กทอรีสาธารณะที่ /var/www/html
.
ขั้นแรกให้นำทางไปยังไดเร็กทอรีโดยใช้คำสั่ง ซีดี
คำสั่งตามที่แสดงด้านล่าง
cd /var/www/html/
สร้างไฟล์ใหม่ เอาเป็นว่าfile.php
ดังที่แสดงด้านล่างโดยใช้โปรแกรมแก้ไข vim
vim file.php
ตอนนี้พิมพ์สคริปต์ง่าย ๆ นี้ในตัวแก้ไขโดยเข้าสู่โหมดแทรกโดยกด ผม
.
บันทึกและออกจากไฟล์โดยกด เอสค
และ :wq
.
ดิ phpinfo()
เป็นฟังก์ชันที่เรียกใช้ข้อมูลที่เกี่ยวข้องกับ php สคริปต์นี้ใช้เพื่อทดสอบว่าใช้งานได้หรือไม่ คุณยังสามารถใช้สคริปต์ php อื่นๆ ที่คุณเลือกได้
สุดท้าย เพื่อทดสอบเซิร์ฟเวอร์ของคุณ ให้เปิดเว็บเบราว์เซอร์ เข้าถึงไฟล์ที่เราเพิ่งสร้างขึ้นโดยป้อนที่อยู่ต่อไปนี้ //your-server-ip/file.php
.
หากหน้าเวอร์ชัน PHP ปรากฏขึ้น เราสามารถพูดได้อย่างปลอดภัยว่า LLMP stack ได้รับการติดตั้งสำเร็จบนเครื่อง Ubuntu 20.04 ของคุณ ตอนนี้คุณสามารถติดตั้งแอปพลิเคชัน PHP ที่คุณต้องการเรียกใช้บนเซิร์ฟเวอร์ได้