在RHEL、CentOS、Rocky和AlmaLinux上安裝LAMP服務器:

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地址進行網絡配置。

步驟1:安裝Apache Web服務器

1. 執行最小系統安裝後,將您的伺服器網路介面配置為靜態IP地址,然後使用以下yum命令從官方倉庫安裝Apache(httpd)服務二進制包。

# yum install httpd
Install Apache on Linux

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

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd
Manage Apache in Linux

3. 接下來,確保允許Apache訪問,通過使用firewall-cmd在防火牆上打開端口80443,這是通過守護進程管理Firewalld的默認命令。

# firewall-cmd --add-service=http
# firewall-cmd --add-service=https
# systemctl restart firewalld
NOTE: Make notice that using this rule will lose its effect after a system reboot or firewalld service restart because it opens on-fly rules, which are not applied permanently.

為了在防火牆上應用一致的iptables規則,使用--permanent選項並重新啟動firewalld服務以生效。

# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
# systemctl restart firewalld
Open Apache Ports in 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
Verify Apache in Linux

5. 目前,Apache的DocumentRoot路徑設置為/var/www/html系統路徑,該路徑默認不提供任何索引文件。如果您想要查看您的DocumentRoot路徑的目錄列表。

打開Apache的welcome配置文件,並將Indexes語句從更改為+LocationMatch指令上,使用下面的截圖作為示例。

# vi /etc/httpd/conf.d/welcome.conf
Configure Apache Welcome Page

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

# systemctl restart httpd
Apache Directory Listing

步驟2:為Apache安裝PHP支持

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

# yum search php
List PHP Modules

8. 根據您想要使用的應用程序類型,從上述列表中安裝所需的PHP模塊,但對於基本的MySQL/MariaDB支持在PHPPhpMyAdmin中,您需要安裝以下模塊。

# yum install php php-mysql php-pdo php-gd php-mbstring
Install PHP Modules

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

# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# systemctl restart httpd
List PHP Information

10. 如果在 PHP 日期和時區上出現錯誤,請打開 php.ini 配置文件,搜索並取消註釋 date.timezone 陳述,附加您的物理位置,並重新啟動 Apache 守護程序。

# vi /etc/php.ini

找到並更改 date.timezone 行,使其看起來像這樣,使用 PHP 支持的時區 列表。

date.timezone = Continent/City
Set PHP Timezone

步驟 3:安裝和配置 MariaDB 數據庫

11. RHEL 發行版從 MySQL 切換到 MariaDB 作為其默認的數據庫管理系統。要安裝 MariaDB 數據庫,請使用以下命令。

# yum install mariadb-server mariadb
Install MariaDB on Linux

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

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb
# mysql_secure_installation
Manage MariaDB Service
Secure MariaDB in Linux

13. 要測試數據庫功能,請使用其根帳戶登錄到 MariaDB,並使用 quit 陳述退出。

mysql -u root -p
MariaDB > show databases;
MariaDB > quit
Connect MariaDB to Linux

步驟 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
Install PhpMyAdmin on Linux

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>
Allow Remote PhpMyAdmin Access

16. 要能夠登入 PhpMyAdmin Web 介面,請重新啟動 Apache Web 服務,並將您的瀏覽器導向到 URL 地址。

# systemctl restart httpd

http://server_IP/phpmyadmin/
PhpMyAdmin Dashboard

步驟 5:在 Linux 中系統範圍內啟用 LAMP

17. 如果您需要在重新啟動後自動啟動 MariaDBApache 服務,請發出以下命令來在系統範圍內啟用它們。

# systemctl enable mariadb
# systemctl enable httpd

這就是在基於 RHEL 的發行版上進行基本 LAMP 安裝所需的一切。接下來關於 LAMP 堆疊的一系列文章將討論如何建立虛擬主機、生成 SSL 憑證和金鑰,以及為 Apache HTTP 伺服器添加 SSL 交易支援。

Source:
https://www.tecmint.com/install-lamp-server-linux/