顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [CentOS] phpMyAdmin 安裝與設定
時間 2013年09月09日 Mon. PM 06:01:52


[圖]


安裝環境: Linux CentOS/RockyLinux
先安裝好 Apache, PHP, MySQL

# 安裝 phpMyAdmin

https://www.phpmyadmin.net/downloads/ 下載新版的 phpMyAdmin
注意最新版的 5.2.1 要 PHP 7.2 以上才能用
PHP 5.5~7.4 要安裝 phpMyAdmin 4.9.11

選擇 .tar.gz 檔複製下載連結
$ cd /var/www/
$ sudo wget https://files.phpmyadmin.net/phpMyAdmin/x.x.x/phpMyAdmin-x.x.x-all-languages.tar.gz

解壓縮到 /var/www/phpMyAdmin 之下
$ sudo tar -zxvf phpMyAdmin_x.x.x-all-languages.tar.gz
$ sudo mv phpMyAdmin_x.x.x-all-languages phpMyAdmin


修改 phpMyAdmin 設定檔
$ cd /var/www/phpMyAdmin
$ sudo cp config.sample.inc.php config.inc.php

$ sudo vim config.inc.php
// 加密cookie用的,將xxxxxx改為任意32個以上的字串
$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

// 登入有效時間,預設1440秒,覺得太短可以改大一點
$cfg['LoginCookieValidity'] = 3600;


// 若資料庫不是在本機端的話,改成資料庫主機的hostname
$cfg['Servers'][$i]['host'] = 'localhost';


在 DNS 設定新增一個給 phpMyAdmin 用的網址
例如 phpmyadmin.example.com ,指向這台主機的IP位址

修改 Apache 的 VirtualHost 設定
$ sudo vim /etc/httpd/conf.d/vhost.conf
新增一個 VirtualHost

(Apache 2.2)
<VirtualHost *:80>
    ServerName    phpmyadmin.example.com
    DocumentRoot  /var/www/phpMyAdmin

    <Directory "/var/www/phpMyAdmin">
        Options FollowSymLinks
        AllowOverride None
        # 拒絕所有連線,僅接受特定IP連線
        Order deny,allow
        Deny from all
        # 以下IP改成會用來使用phpMyAdmin的位址
        Allow from 106.187.xxx.xxx
        Allow from xxx.xxx.xxx.xxx
    </Directory>
    CustomLog "/var/log/httpd/phpmyadmin.access.log" combined
</VirtualHost>

(Apache 2.4)
<VirtualHost *:80>
    ServerName    phpmyadmin.example.com
    DocumentRoot  /var/www/phpMyAdmin

    <Directory "/var/www/phpMyAdmin">
        Options FollowSymLinks
        AllowOverride None
        # 僅接受特定IP連線
        Require ip 106.187.xxx.xxx
        Require host xxx.example.com
    </Directory>
    CustomLog "/var/log/httpd/phpmyadmin.access.log" combined
</VirtualHost>


不想新增一個 VirtualHost 的話
也可以在本來使用的 VirtualHost 加上
    Alias /phpMyAdmin /var/www/phpMyAdmin
    <Directory "/var/www/phpMyAdmin">
        Options FollowSymLinks
        AllowOverride None
        # 僅接受特定IP連線
        Require ip 106.187.xxx.xxx
        Require host xxx.example.com
    </Directory>
就可以使用 example.com/phpMyAdmin 連上了



重載 Apache
(CentOS 6) $ sudo service httpd reload
(CentOS 7) $ sudo systemctl reload httpd


等 DNS 設定生效後,在瀏覽器輸入網址
http://phpmyadmin.example.com

[圖]



輸入可以登入 MySQL 的帳號與密碼


# 設定儲存空間 

尚未設定 phpMyAdmin 設定儲存空間,部份延伸功能將無法使用。
[圖]
 

在 phpMyAdmin 首頁看到這個訊息,不用管他也沒關係,
只是有些設定沒辦法儲存,重新登入後就會失效了

(舊版的方法)在phpMyAdmin安裝目錄下的 examples 或 sql 資料夾裡有個 create_tables.sql
將裡面的 sql 匯入即可新增 phpmyadmin 資料庫以及裡面一堆 pma__ 開頭的資料表


(新版的方法)新增一個 phpmyadmin 的資料庫,到「操作」,點「了解原因」
[圖]
 

點「建立」
[圖]
 
就會在 phpmyadmin 資料庫新增一堆 pma_ 開頭的資料表

新增一個使用者 pma,設定密碼,然後給予存取資料庫 phpmyadmin 的權限

GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO 'pma'@localhost;

修改 phpMyAdmin 設定檔
$ sudo vim /var/www/phpMyAdmin/config.inc.php
將以下設定的註解拿掉,修改設定的密碼

/*
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
//$cfg['Servers'][$i]['controlhost'] = '';
//$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '設定的密碼';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

登出 phpMyAdmin 後再登入即可


□ 錯誤解決記錄

若出現:「缺少 mcrypt 外掛。請檢查 PHP 設定」

安裝 EPEL repo
再安裝 php-mcrypt 即可
$ sudo yum install php-mcrypt

如果有用 remi repo 的話 要加上 --ebablerepo=remi
$ sudo yum install php-mcrypt --enablerepo=remi


--
※ 作者: Knuckles 時間: 2013-09-09 18:01:52
※ 編輯: Knuckles 時間: 2024-04-19 05:38:53 (台灣)
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 2979 
分享網址: 複製 已複製
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇