前言
說到使用 MySQL/MariaDB 就會想到 phpMyAdmin 這個使用者圖像介面,它是用 PHP 寫出來與 MySQL/MariaDB 互動的介面,所以若要使用,必須先安裝網頁伺服器與 PHP。
環境
- CentOS 8.2
安裝 EPEL
安裝由 Fedora 社群打造的第三方源 EPEL (Extra Packages for Enterprise Linux),其中包含比官方 repository 還要新的套件版本
1 | [user@localhost ~]$ sudo dnf -y install epel-release |
安裝 Nginx
詳細安裝與設定過程參考 [Nginx] CentOS 安裝網頁伺服器 Nginx,安裝好後從瀏覽器輸入 http://localhost 確定可看到 Nginx 預設頁面
1 | [user@localhost ~]$ sudo dnf -y install nginx |
安裝 MariaDB
詳細安裝與設定過程參考 [MySQL] CentOS 8 安裝 MySQL 8.0 與更改 root 密碼
1 | [user@localhost ~]$ sudo dnf -y install mariadb-server mariadb |
安裝 php-fpm
這裡安裝預設版本 (目前是7.2版)
1 | [user@localhost ~]$ sudo dnf -y install php php-fpm php-json php-mysqlnd php-mbstring |
修改 www.conf 設定
修改 /etc/php-fpm.d/www.conf
檔案內容
- 改
user = apache
為user = nginx
- 改
group = apache
為group = nginx
- 改
listen = /run/php-fpm/www.sock
為listen = /var/run/php-fpm/php-fpm.sock
- 拿掉
;listen.owner = nobody
的分號,並改為listen.owner = nginx
- 拿掉
;listen.group = nobody
的分號,並改為listen.group = nginx
- 拿掉
;listen.mode = 0660
的分號
啟動 php-fpm 服務
1 | [user@localhost ~]$ sudo systemctl start php-fpm |
修改 php-fpm.conf 設定
修改 /etc/nginx/conf.d/php-fpm.conf
檔案內容
- 改
server unix:/run/php-fpm/www.sock;
為server unix:/var/run/php-fpm/php-fpm.sock;
新增 phpmyadmin.conf 檔案
新增 /etc/nginx/conf.d/phpmyadmin.conf
檔案,內容如下
1 | server { |
重新載入設定
Nginx 重新載入設定檔,要看到 ok
與 /etc/nginx/nginx.conf test is successful
才是對的哦!
1 | [user@localhost ~]$ sudo systemctl reload nginx |
確認 php-fpm 運作
創建 /usr/share/nginx/html/info.php
其內容如下
1 |
|
這時從瀏覽器輸入 http://localhost/info.php 確定可看到 phpinfo
的頁面,若看得到代表 Nginx + php-fpm 有在正常運作囉
安裝 phpMyAdmin
下載 phpMyAdmin 並解壓縮到 /usr/share/nginx/html
目錄
1 | [user@localhost ~]$ unzip Downloads/phpMyAdmin-5.0.2-all-languages.zip |
創建 tmp 目錄
創建 phpMyAdmin/tmp/
目錄並更改擁有者與群組為 nginx:nginx
,同時更改權限為 755
1 | [user@localhost ~]$ sudo mkdir /usr/share/nginx/html/phpMyAdmin/tmp |
設定 blowfish_secret 金鑰
複製一個 config 樣板,並改名為 config.inc.php
,此樣板會被 phpMyAdmin 載入
1 | [user@localhost ~]$ sudo cp /usr/share/nginx/html/phpMyAdmin/config.sample.inc.php /usr/share/nginx/html/phpMyAdmin/config.inc.php |
再從 phpMyAdmin blowfish secret generator 取得安全的金鑰,並複製到 config.inc.php
檔案中,例如
1 | $cfg['blowfish_secret'] = 'Jh448H=tn1sfkb3b3EKwvofq=QVuitPn'; |
權限設定
開啟 php session 權限
設定 Nginx 對 php session 的權限,需將權限開啟,否則無法使用 phpMyAdmin 的登入功能
1 | [user@localhost ~]$ sudo chown nginx:nginx /var/lib/php/session/ |
設定 SELinux
修改 phpMyAdmin 的安全性文本,讓 Nginx 可以有權限可以讀寫,否則 SELinux 會阻檔,然後在瀏覽器出現 403 的錯誤碼
1 | [user@localhost ~]$ sudo chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/phpMyAdmin |
完成
在瀏覽器網址輸入 http://localhost/phpMyAdmin 就可以如同 Windows 上使用 xampp 一般,使用 phpMyAdmin 操作作資料庫啦!