A LAMP stack is a collection of four different software (Linux, Apache, MySQL, and PHP) that programmers or web developers use to create and deploy websites or applications.
這篇教程將專注於如何在最新的RHEL發行版和基於RHEL的發行版(如CentOS、Oracle Linux、Rocky和AlmaLinux)上安裝和配置著名的LAMP堆疊以及PhpMyAdmin。
目錄
需求
根據所使用的發行版,使用以下鏈接進行最小系統安裝,並使用靜態IP地址進行網絡配置。
- 如何免費下載和安裝RHEL 9
- 如何免費下載和安裝RHEL 8
- 安裝CentOS Stream 9 Linux
- 安裝CentOS 7 Linux
- 如何逐步安裝Rocky Linux 9
- 如何逐步安裝AlmaLinux 9
步驟1:安裝Apache Web服務器
1. 執行最小系統安裝後,將您的伺服器網路介面配置為靜態IP地址,然後使用以下yum命令從官方倉庫安裝Apache(httpd)服務二進制包。
# yum install httpd

2. 完成Apache安裝後,使用以下命令管理Apache守護進程,因為RHEL和CentOS都將其init腳本從SysV遷移到了Systemd – 為什麼Linux中init被Systemd取代?。
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. 接下來,確保允許Apache訪問,通過使用firewall-cmd在防火牆上打開端口80和443,這是通過守護進程管理Firewalld的默認命令。
# firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld
為了在防火牆上應用一致的iptables規則,使用--permanent
選項並重新啟動firewalld服務以生效。
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld

以下是一些管理防火牆的重要Firewalld命令:
# firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp
4. 要驗證Apache功能,請在遠端瀏覽器中輸入您的伺服器IP地址,使用HTTP協議在URL中,並且應該出現如下面截圖所示的默認頁面。
http://server_IP

5. 目前,Apache的DocumentRoot路徑設置為/var/www/html系統路徑,該路徑默認不提供任何索引文件。如果您想要查看您的DocumentRoot路徑的目錄列表。
打開Apache的welcome配置文件,並將Indexes語句從–
更改為+
在LocationMatch指令上,使用下面的截圖作為示例。
# vi /etc/httpd/conf.d/welcome.conf

6. 更改後,關閉文件,重新啟動Apache服務以反映更改,並重新加載瀏覽器頁面以查看最終結果。
# systemctl restart httpd

步驟2:為Apache安裝PHP支持
7. 在為Apache安裝PHP動態語言支持之前,使用以下命令獲取可用PHP模塊和擴展的完整列表。
# yum search php

8. 根據您想要使用的應用程序類型,從上述列表中安裝所需的PHP模塊,但對於基本的MySQL/MariaDB支持在PHP和PhpMyAdmin中,您需要安裝以下模塊。
# yum install php php-mysql php-pdo php-gd php-mbstring

9. 要從您的瀏覽器獲得有關 PHP 的完整信息列表,請使用以下命令在 Apache 文檔根目錄上創建一個 info.php 文件,重新啟動 httpd 服務,並將您的瀏覽器指向 http://server_IP/info.php 地址。
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. 如果在 PHP 日期和時區上出現錯誤,請打開 php.ini 配置文件,搜索並取消註釋 date.timezone 陳述,附加您的物理位置,並重新啟動 Apache 守護程序。
# vi /etc/php.ini
找到並更改 date.timezone 行,使其看起來像這樣,使用 PHP 支持的時區 列表。
date.timezone = Continent/City

步驟 3:安裝和配置 MariaDB 數據庫
11. RHEL 發行版從 MySQL 切換到 MariaDB 作為其默認的數據庫管理系統。要安裝 MariaDB 數據庫,請使用以下命令。
# yum install mariadb-server mariadb

12. 安裝完 MariaDB 套件後,啟動數據庫守護程序並使用 mysql_secure_installation 腳本來保護數據庫(設置根密碼、禁用從根登錄的遠程登錄、刪除測試數據庫和刪除匿名用戶)。
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb # mysql_secure_installation


13. 要測試數據庫功能,請使用其根帳戶登錄到 MariaDB,並使用 quit 陳述退出。
mysql -u root -p MariaDB > show databases; MariaDB > quit

步驟 4:安裝 PhpMyAdmin 來管理 MySQL
14. 預設官方檔案庫不提供任何 PhpMyAdmin Web 介面的二進制套件。如果您不喜歡使用 MySQL 命令列來管理您的資料庫,您可以通過啟用以下命令來安裝 PhpMyAdmin 套件。
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [On CentOS/RHEL 7]
啟用 remi 檔案庫後,接著安裝 PhpMyAdmin。
# yum install phpmyadmin

15. 接著,編輯位於 Apache conf.d 目錄中的 phpmyadmin.conf 檔案,設定 PhpMyAdmin 允許從遠端主機連線,並將以下行註解掉。
# vi /etc/httpd/conf.d/phpMyAdmin.conf
在「Require local」行下面添加「Require all granted」行,如下所示。
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require local Require all granted </Directory>

16. 要能夠登入 PhpMyAdmin Web 介面,請重新啟動 Apache Web 服務,並將您的瀏覽器導向到 URL 地址。
# systemctl restart httpd http://server_IP/phpmyadmin/

步驟 5:在 Linux 中系統範圍內啟用 LAMP
17. 如果您需要在重新啟動後自動啟動 MariaDB 和 Apache 服務,請發出以下命令來在系統範圍內啟用它們。
# systemctl enable mariadb # systemctl enable httpd
這就是在基於 RHEL 的發行版上進行基本 LAMP 安裝所需的一切。接下來關於 LAMP 堆疊的一系列文章將討論如何建立虛擬主機、生成 SSL 憑證和金鑰,以及為 Apache HTTP 伺服器添加 SSL 交易支援。