phpMyAdmin 安裝及設定

本工作室採用的環境是 Centos7 搭配 Nginx 及 PHP 7.3 一起使用,可以直接使用 yum 方式來安裝使用,因系統預設的版本是比較老舊,官方版其實一直都在更新版本,本工作室會建議盡量採用官方新的版本來使用,此方法跟之前的做法不一樣,要使用「作曲家」套件來配合安裝版,請參考以下方式

 

作曲家安裝


預設是沒有安裝「作曲家」套件,所以要先安裝如有安裝過可以跳過直接看下一個步驟來操作。

cd /usr/local/bin   # 將dirs更改為我們希望將composer安裝到的位置
curl -sS https://getcomposer.org/installer | php   # 安裝 composer
mv composer.phar composer   # 重新命名 composer

 

phpMyAdmin安裝


首先到 web 服務所指定的目錄下去安裝

composer create-project phpmyadmin/phpmyadmin
輸入執行會開始進行下載服務完成之後再將該目錄的權限設定成給 web 服務使用
chown -R nginx:nginx phpmyadmin

phpmyadmin 設定檔

複製預設的範例來製作設定檔
cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

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

修改登入方式
修改前
$cfg['Servers'][$i]['auth_type'] = 'cookie';
修改後
$cfg['Servers'][$i]['auth_type'] = 'http';

登入之後如果出現以下此畫面的話,還要再去「www.conf 」

phpmyadmin-login-error-session-start-open-failed-permission-denied-1.png

vim /etc/php-fpm.d/www.conf
搜尋  session.save_path

修改前
php_value[session.save_path] = /var/lib/php/fpm/session
修改後,路徑可以自行修改,並且給予該目錄只能給 web 服務使用
php_value[session.save_path] = /var/www/html/session

chown -R nginx:nginx /var/www/html/session

這樣子就安裝完成,並且可以正常登入使用。

 

Nginx 設定檔


服務器的設定檔

    location /phpmyadmin {
#        allow 192.168.1.0/24;
#        deny all;
        root /usr/share/nginx/html;
        index index.php index.html index.htm;
        location ~ ^/phpmyadmin/(.+\.php)$ {
            try_files $uri =404;
            root /usr/share/nginx/html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
            include fastcgi_params;
        }
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
            root /usr/share/nginx/html;
        }
    }
    location /phpMyAdmin {
        rewrite ^/* /phpmyadmin last;
    }

代理設定檔

    location ~ ^/(phpmyadmin\.php)$ {
        proxy_pass https://192.168.10.34;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
        proxy_set_header Host $host;
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_pass_header Authorization;
    }

 location ~* ^/(phpmyadmin\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        proxy_pass https://192.168.10.34/phpmyadmin;
    }

設定完成重啟 web 服務

nginx -t

systemctl restart nginx 重啟
or
systemctl reload nginx 立即生效

 

 

參考相關網頁: