ในบทความต่อไปนี้เราจะมาดูวิธีการติดตั้ง LAMP บน Ubuntu 20.04 LTS เป็นชุดเครื่องมือซอฟต์แวร์ที่มาพร้อมกัน LAMP ย่อมาจาก Linux, Apache, MariaDB / MySQL และ PHPซึ่งทั้งหมดนี้เป็นโอเพ่นซอร์สและใช้งานได้ฟรี เป็นสแต็กซอฟต์แวร์ที่พบบ่อยที่สุดที่ขับเคลื่อนเว็บไซต์และแอปพลิเคชันเว็บ
Linux เป็นระบบปฏิบัติการ Apache เป็นเว็บเซิร์ฟเวอร์ MariaDB / MySQL เป็นเซิร์ฟเวอร์ฐานข้อมูลและ PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่รับผิดชอบในการสร้างเว็บเพจแบบไดนามิก ในการปฏิบัติตามบรรทัดต่อไปนี้จำเป็นต้องมีระบบปฏิบัติการ Ubuntu 20.04 ทำงานบนเครื่องท้องถิ่นหรือบนเซิร์ฟเวอร์ระยะไกล.
ติดตั้ง LAMP บน Ubuntu 20.04
ก่อนที่จะติดตั้ง LAMP stack เป็นความคิดที่ดี อัพเดตที่เก็บและแพ็คเกจซอฟต์แวร์ที่มี. เราจะทำสิ่งนี้โดยดำเนินการในเทอร์มินัล (Ctrl + Alt + T):
sudo apt update; sudo apt upgrade
ติดตั้งเว็บเซิร์ฟเวอร์ Apache
พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล (Ctrl + Alt + T) ถึง ติดตั้งเว็บเซิร์ฟเวอร์ Apache:
sudo apt install -y apache2 apache2-utils
เมื่อติดตั้งแล้ว Apache ควรเริ่มโดยอัตโนมัติ. เราสามารถตรวจสอบได้โดยเขียน:
systemctl status apache2
นอกจากนี้เรายังสามารถ ตรวจสอบเวอร์ชัน Apache:
apache2 -v
ตอนนี้ พิมพ์ที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Ubuntu 20.04 ในแถบที่อยู่ของเบราว์เซอร์. คุณควรเห็นหน้าเว็บเริ่มต้นซึ่งหมายความว่าเว็บเซิร์ฟเวอร์ Apache ทำงานได้อย่างถูกต้อง หากคุณกำลังติดตั้ง LAMP บนเครื่อง Ubuntu 20.04 ในเครื่องให้พิมพ์ 127.0.0.1 หรือ localhost ในแถบที่อยู่ เบราว์เซอร์.
หากการเชื่อมต่อถูกปฏิเสธหรือไม่เสร็จสมบูรณ์เราอาจมีไฟร์วอลล์ป้องกันการร้องขอที่เข้ามาในพอร์ต TCP 80 หากคุณใช้ไฟร์วอลล์ iptablesคุณต้องรันคำสั่งต่อไปนี้เพื่อเปิดพอร์ต TCP 80:
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
หากคุณกำลังใช้ไฟร์วอลล์ UFWดำเนินการคำสั่งเพื่อเปิดพอร์ต TCP 80:
sudo ufw allow http
ตอนนี้เราต้องการ ตั้งค่า www-data (ผู้ใช้ Apache) ในฐานะเจ้าของเว็บรูท. เราจะบรรลุสิ่งนี้โดยการเขียน:
sudo chown www-data:www-data /var/www/html/ -R
ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MariaDB
MariaDB เป็นการแทนที่โดยตรงสำหรับ MySQL เขียนคำสั่งต่อไปนี้เพื่อ ติดตั้ง MariaDB บน Ubuntu 20.04:
sudo apt install mariadb-server mariadb-client
หลังจากติดตั้งแล้วเซิร์ฟเวอร์ MariaDB ควรทำงานโดยอัตโนมัติ เราจะทำได้ ตรวจสอบสถานะของคุณ ด้วยคำสั่ง:
systemctl status mariadb
ถ้ามันไม่ทำงาน เราจะเริ่มต้นด้วยการเขียน:
sudo systemctl start mariadb
ไปยัง อนุญาตให้ MariaDB เริ่มต้นโดยอัตโนมัติในเวลาบูตเราต้องดำเนินการ:
sudo systemctl enable mariadb
ตรวจสอบไฟล์ เวอร์ชันเซิร์ฟเวอร์ MariaDB:
mariadb --version
ตอนนี้ รันสคริปต์ความปลอดภัยหลังการติดตั้ง:
sudo mysql_secure_installation
เมื่อคุณขอให้เราป้อนรหัสผ่านรูท MariaDB ชีพจร แนะนำ เนื่องจากยังไม่ได้ตั้งรหัสผ่านรูท. จากนั้นป้อนรหัสผ่านรูทของคุณสำหรับเซิร์ฟเวอร์ MariaDB
แล้วก็ เราสามารถกด แนะนำ เพื่อตอบคำถามที่เหลือทั้งหมด. การดำเนินการนี้จะลบผู้ใช้ที่ไม่ระบุชื่อปิดใช้งานการล็อกอินรูทระยะไกลและลบฐานข้อมูลทดสอบ
ค่าเริ่มต้น, แพ็คเกจ MaraiDB ใน Ubuntu ใช้ unix_socket เพื่อตรวจสอบการเข้าสู่ระบบของผู้ใช้.
ติดตั้ง PHP7.4
ในขณะที่เขียน PHP7.4 เป็นเวอร์ชันเสถียรล่าสุดของ PHP สำหรับสิ่งนี้เราจะเขียนคำสั่งต่อไปนี้ ติดตั้ง PHP7.4 และโมดูล PHP ทั่วไป:
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
ตอนนี้เราจะต้อง เปิดใช้งานโมดูล Apache php7.4 และรีสตาร์ทเว็บเซิร์ฟเวอร์ Apache.
sudo a2enmod php7.4 sudo systemctl restart apache2
เราทำได้ ตรวจสอบเวอร์ชัน PHP ด้วยคำสั่ง:
php --version
ในการทดสอบสคริปต์ PHP กับเซิร์ฟเวอร์ Apache เราจำเป็นต้องสร้างไฟล์ info.php ในไดเรกทอรีราก:
sudo vim /var/www/html/info.php
ภายในไฟล์เราจะวางโค้ด PHP ต่อไปนี้:
<?php phpinfo(); ?>
เมื่อบันทึกไฟล์แล้วตอนนี้ในแถบที่อยู่ของเบราว์เซอร์เราจะต้องเขียน ที่อยู่ ip / info.php. แทนที่ที่อยู่ IP ด้วย IP ปัจจุบันของคุณ. หากคุณใช้เครื่องท้องถิ่นให้พิมพ์ 127.0.0.1 / info.php o localhos / info.php. สิ่งนี้ควรแสดงข้อมูล PHP
เรียกใช้ PHP-FPM ด้วย Apache
เราจะหาสองวิธีในการเรียกใช้โค้ด PHP กับเว็บเซิร์ฟเวอร์ Apache ด้วยโมดูล PHP Apache และ PHP-FPM
ในขั้นตอนข้างต้นโมดูล Apache PHP7.4 ใช้เพื่อจัดการโค้ด PHP โดยทั่วไปจะใช้ได้ดี แต่ ในบางกรณีเราต้องรันโค้ด PHP ด้วย PHP-FPM. ที่จะทำมัน เราจะต้องปิดการใช้งานโมดูล Apache PHP7.4:
sudo a2dismod php7.4
ตอนนี้ขอ ติดตั้ง PHP-FPM:
sudo apt install php7.4-fpm
เรายังคง การเปิดใช้งานโมดูล proxy_fcgi และ setenvif:
sudo a2enmod proxy_fcgi setenvif
ขั้นตอนต่อไปจะเป็น เปิดใช้งานไฟล์กำหนดค่า /etc/apache2/conf-avilable/php7.4-fpm.conf:
sudo a2enconf php7.4-fpm
จากนั้นเราจะต้อง รีสตาร์ท apache:
sudo systemctl restart apache2
ตอนนี้ถ้าคุณรีเฟรชหน้า info.php ในเบราว์เซอร์คุณจะพบว่า Server API เปลี่ยนจาก Apache 2.0 Handler เป็น FPM / FastCGIซึ่งหมายความว่าเว็บเซิร์ฟเวอร์ Apache จะส่งคำขอจาก PHP ไปยัง PHP-FPM
สุดท้ายและเพื่อความปลอดภัยของเซิร์ฟเวอร์เราต้อง ลบไฟล์ info.php.
ขอบคุณมากสำหรับคำแนะนำมันช่วยฉันได้มากและทุกอย่างก็โอเค ...
คำแนะนำที่ชัดเจนและรัดกุม
กราเซีย
ดีมากและในที่สุดฉันก็ปิดการใช้งานเซิร์ฟเวอร์ apache เพื่อตีความไฟล์. php เสียเวลา
สวัสดี. คุณจะไม่รีสตาร์ท apache เหรอ?
คำแนะนำที่ "สมบูรณ์แบบ"
ขอบคุณมาก.
ขั้นตอนนั้นถูกต้อง แต่ไม่มีการทดสอบกับผู้ใช้รูท mysql อีกเล็กน้อย ไฟล์ info.php ใช้งานไม่ได้สำหรับฉัน