看板 Knuckles_note
作者 標題 [CentOS] phpMyAdmin 安裝與設定
時間 2013年09月09日 Mon. PM 06:01:52
![[圖]](http://i.imgur.com/FPMEQKz.png)
安裝環境: 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';
$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>
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>
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 連上了<Directory "/var/www/phpMyAdmin">
Options FollowSymLinks
AllowOverride None
# 僅接受特定IP連線
Require ip 106.187.xxx.xxx
Require host xxx.example.com
</Directory>
重載 Apache
(CentOS 6) $ sudo service httpd reload
(CentOS 7) $ sudo systemctl reload httpd
等 DNS 設定生效後,在瀏覽器輸入網址
http://phpmyadmin.example.com
![[圖]](https://i4.disp.cc/u/21/791b2af.png)
輸入可以登入 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 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 (台灣)
※ 同主題文章:
06-25 19:15 □ [CentOS] Apache+PHP+MySQL 安裝與設定 (CentOS6.2)
09-09 11:53 □ [CentOS] Apache 安裝與設定 (CentOS 6.5)
09-09 12:32 □ [CentOS] PHP 安裝與設定 (CentOS 6.5)
09-09 15:19 □ [CentOS] MySQL 安裝與設定 (CentOS 6.5)
● 09-09 18:01 □ [CentOS] phpMyAdmin 安裝與設定
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 2979
回列表(←)
分享