Centos 8目前只能採用tarball的安裝法。
OS
CentOS Linux release 8.0.1905 (Core)
PHP 7.2.11 (cli) (built: Oct 9 2018 15:09:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
必要條件
PHP >=7,Mysql/ Mariadb 已安裝,防火牆80埠有開
安裝
安裝php相關組件
# yum install php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd
下載phpmyadmin tarball
下載頁面 https://www.phpmyadmin.net/downloads/
例如到你的安裝目錄下
# wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
解壓
更名
修改 phpMyAdmin 設定檔
需要把 config.sample.inc.php 複製成 config.inc.php,到 phpMyAdmin的目錄下
修改設定檔
填入bluefish的key,不能留空白,請開啟以下網頁取得 Bluefish 的 key,每次開啟得到的key都不同,選自己喜歡的貼上
如果有需要微調的情況,可修改設定檔
安裝完成並登入
限定讀取來源
# vi /var/www/html/phpMyAdmin/.htaccess
#Block users by IP 限定以下ip才能存取
order allow,deny
deny from All
allow from 163.17.X.0/24
allow from 2001:288:5400::/64
allow from 211.75.X.X
#Prevent directory listings 禁止列出目錄
Options All -Indexes
重啟 apache 生效
# systemctl restart httpd
開啟網頁 http://x.x.x.x/phpmyadmin <== 上面設的別名
selinux
# setsebool httpd_can_network_connect_db on
祝您使用愉快
錯誤排除
1. Fatal error: Uncaught Error: Call to a member function getCookie() on null in /var/www/html/phpMyAdm/libraries/classes/Url.php:217
解決方法:上面的getCookie()也許是別的函數,主因是少裝了部分套件,例如 php-pdo php-pecl-zip php-json
2. 畫面一片白沒有錯誤
少裝了什麼套件,請檢查一下 例如 php-json
3. 網頁顯示
Forbidden
You don't have permission to access /phpMyAdm/ on this server.
因為你的.htaccess沒指定能用的ip
參考資料
[1] https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-phpmyadmin-on-rhel-8.html