在本文中,我們將引導您逐步完成在RHEL基礎的發行版上安裝最新版本的PhpMyAdmin,例如CentOS Stream、Fedora、Rocky Linux和Alma 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

這將把系統上的所有包更新到最新版本。
第二步:安裝Apache網頁伺服器
PhpMyAdmin是一個基於網頁的工具,要使用它,您需要通過以下命令安裝Apache網頁伺服器。
sudo dnf install httpd

安裝完成後,啟動Apache服務並將其設置為開機啟動。
sudo systemctl start httpd sudo systemctl enable httpd
第三步:安裝MariaDB或MySQL
您還需要一個資料庫伺服器。您可以選擇安裝MariaDB或MySQL,但在本例中,我們將選擇MariaDB。
sudo dnf install mariadb-server

安裝完成後,啟動MariaDB服務並將其設置為開機啟動。
sudo systemctl start mariadb sudo systemctl enable mariadb
接下來,運行腳本以確保您的MariaDB安裝安全,該腳本將提示您為root用戶輸入密碼,禁止遠程root登錄,並移除匿名用戶。它還將移除測試數據庫,該數據庫默認情況下可以被匿名用戶訪問。
sudo mysql_secure_installation

第4步:安裝PHP
PhpMyAdmin是使用PHP構建的,因此我們需要使用以下命令安裝PHP和一些必需的擴展。
sudo dnf install php php-mysqlnd php-json php-mbstring

第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通常使用80和443埠分別用於HTTP和HTTPS。要開啟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憑據登錄。


第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設置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

創建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/
請注意,顯示不安全連接的消息僅僅是因為使用了自簽名證書。要繼續,請點擊“高級”並確認安全例外。


結論
恭喜!您已經成功在您的RHEL、CentOS Stream、Rocky Linux或AlmaLinux系統上安裝了PhpMyAdmin與Apache。這個基於網頁的工具簡化了您的資料庫管理,使得資料庫的建立、查詢和資料管理變得輕而易舉。
Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/