如何在RHEL系统中使用Apache安装PhpMyAdmin

在本文中,我們將引導您逐步完成在RHEL基礎的發行版上安裝最新版本的PhpMyAdmin,例如CentOS StreamFedoraRocky LinuxAlma Linux,並使用Apache網頁伺服器。

什麼是PhpMyAdmin?

PhpMyAdmin 是一個受歡迎且功能強大的基於網絡的資料庫管理工具,擁有最新版本確保您可以使用最新的功能和安全增強。在本指南結束時,您將能夠輕鬆管理您的MySQL或MariaDB數據庫使用PhpMyAdmin.

先決條件

在開始之前,請確保您具備以下條件:

  • 訪問RHEL、CentOS Stream、Fedora、Rocky Linux或AlmaLinux系統。
  • 請確保您可以以root用戶身份登錄或具有安裝軟件的sudo權限。
  • 現有的一個LAMP堆疊,包括Apache、MySQL/MariaDB和PHP。如果沒有LAMP,可以按照以下步驟進行設置。

第一步:更新系統

在安裝任何軟件之前,確保您的系統是最新的非常重要,可以通過運行以下dnf命令來實現。

sudo dnf update
Update Linux System

這將把系統上的所有包更新到最新版本。

第二步:安裝Apache網頁伺服器

PhpMyAdmin是一個基於網頁的工具,要使用它,您需要通過以下命令安裝Apache網頁伺服器。

sudo dnf install httpd
Install Apache in Linux

安裝完成後,啟動Apache服務並將其設置為開機啟動。

sudo systemctl start httpd
sudo systemctl enable httpd

第三步:安裝MariaDB或MySQL

您還需要一個資料庫伺服器。您可以選擇安裝MariaDBMySQL,但在本例中,我們將選擇MariaDB

sudo dnf install mariadb-server
Install MariaDB in Linux

安裝完成後,啟動MariaDB服務並將其設置為開機啟動。

sudo systemctl start mariadb
sudo systemctl enable mariadb

接下來,運行腳本以確保您的MariaDB安裝安全,該腳本將提示您為root用戶輸入密碼,禁止遠程root登錄,並移除匿名用戶。它還將移除測試數據庫,該數據庫默認情況下可以被匿名用戶訪問。

sudo mysql_secure_installation
Secure MariaDB in Linux

第4步:安裝PHP

PhpMyAdmin是使用PHP構建的,因此我們需要使用以下命令安裝PHP和一些必需的擴展。

sudo dnf install php php-mysqlnd php-json php-mbstring
Install PHP in Linux

第5步:安裝PhpMyAdmin

現在,讓我們繼續在我們的Linux系統上安裝PhpMyAdmin,方法是導航到Web服務器的文檔根目錄/var/www/html,如下所示。

cd /var/www/html

接下來,使用以下wget命令下載PhpMyAdmin的最新版本,如下所示。

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

下載完成後,提取下載的歸檔文件並重命名目錄以便於使用。

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

為PhpMyAdmin創建配置文件。

sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

編輯配置文件:

sudo nano /var/www/html/phpmyadmin/config.inc.php

找到以下行並設置您自己的blowfish_secret:

$cfg['blowfish_secret'] = 'your_secret';

保存並退出文件。

第6步:在firewalld中打開Apache端口

預設情況下,Apache通常使用80443埠分別用於HTTPHTTPS。要開啟Apache埠並允許訪問PhpMyAdmin到您的伺服器,請運行:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

這些命令添加一個規則以允許在指定埠上的傳入流量,並重新加載防火牆以應用更改。

第7步:重新啟動Apache Web伺服器

最後,重新啟動Apache以應用更改:

sudo systemctl restart httpd

第8步:訪問PhpMyAdmin

您現在可以通過在瀏覽器中導航到您的伺服器的IP地址或域名,後面跟著“/phpmyadmin”在URL中訪問PhpMyAdmin

http://your_server_ip/phpmyadmin

使用您的MySQL或MariaDB憑據登錄。

PHPMyAdmin Login
PHPMyAdmin Dashboard

第9步:允許在PhpMyAdmin中外部訪問

打開PhpMyAdmin配置文件。

sudo vi /etc/httpd/conf/httpd.conf

找到<Directory "/var/www/html">部分或您的PhpMyAdmin配置的部分,並將Require指令更新為允許所有IP地址訪問PhpMyAdmin

<Directory "/var/www/html/phpmyadmin">
    ...
    Require all granted
    ...
</Directory>

上述配置允許來自任何IP地址的訪問,但如果您想限制到特定IP的訪問,請將Require all granted替換為Require ip your_ip

重新啟動Apache以應用更改。

sudo systemctl restart httpd

現在,您應該能夠使用服務器的IP地址或域名從外部世界訪問PhpMyAdmin

http://your_server_ip/phpmyadmin

請記住,從外部世界開放對PhpMyAdmin的訪問可能會帶來安全風險。確保您有一個強大的身份驗證機制,並考慮使用HTTPS進行加密通信。此外,如果可能的話,僅限制對受信任IP地址的訪問或保護PhpMyAdmin登錄URL

更改phpMyAdmin登錄URL

預設的phpMyAdmin登錄URL是可預測的,並且經常被試圖利用漏洞的惡意行為者作為目標。更改登錄URL增加了額外的安全層,使未經授權的用戶更難訪問您的數據庫管理界面。

為此,創建一個/etc/httpd/conf.d/phpMyAdmin.conf配置文件。

vi /etc/httpd/conf.d/phpMyAdmin.conf

接下來,添加以下配置。

#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin

<Directory /var/www/htm/lphpmyadmin>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
            # Additional IP or hostname-based access control can be added here
        </RequireAny>
    </IfModule>

    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from All
        Allow from 127.0.0.1
        Allow from ::1
        # Additional IP or hostname-based access control can be added here
    </IfModule>

</Directory>

/my替換為您希望的定制登錄URL。保存更改並退出文本編輯器。

在對配置文件進行更改後,重新啟動Apache以應用修改:

systemctl restart httpd

打開您的網絡瀏覽器並導航到新的phpMyAdmin登錄URL。

http://yourdomain.com/my/
phpMyAdmin Login URL

為phpMyAdmin設置SSL

保護Apache網絡服務器和phpMyAdmin之間的通信至關重要,以保護敏感信息,如登錄憑證和數據庫內容。實現這一點的有效方法是在Apache網絡服務器上為phpMyAdmin配置SSL安全套接字層)。

為此,首先在您的服務器上安裝mod_ssl模塊。

yum install httpd mod_ssl openssl

接下來,創建一個目錄來存儲證書並生成如圖所示的自簽名SSL證書和私鑰。

mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
Create SSL Certificate for PhpMyAdmin

創建SSL證書和密鑰後,打開Apache SSL配置文件。

vi /etc/httpd/conf.d/ssl.conf

接下來,將以下行添加到配置文件中。

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

保存更改並重新啟動Apache網絡服務器。

systemctl restart httpd

現在,打開phpMyAdmin配置文件。

vi /var/www/html/phpmyadmin/config.inc.php

添加以下行以強制phpMyAdmin使用SSL。

$cfg['ForceSSL'] = true;

保存更改並退出文本編輯器。

最後,在您的網絡瀏覽器中導航到以下URL,以通過安全的SSL連接訪問phpMyAdmin。

https://yourdomain.com/my/

請注意,顯示不安全連接的消息僅僅是因為使用了自簽名證書。要繼續,請點擊“高級”並確認安全例外。

SSL Warning
Secure phpMyAdmin Login
結論

恭喜!您已經成功在您的RHEL、CentOS Stream、Rocky Linux或AlmaLinux系統上安裝了PhpMyAdmin與Apache。這個基於網頁的工具簡化了您的資料庫管理,使得資料庫的建立、查詢和資料管理變得輕而易舉。

Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/