一、 准備工作:
1. 如果mysql的root賬號為空,需要設置root密碼
CentOS下默認安裝的mysql服務器,裡面的root賬號默認密碼為空,首先為root設置一個密碼
#mysqladmin -u root password yourpassword
*注: 雖然通過一些特殊配置,可以使phpmyadmin允許空密碼登錄,但是不推薦這樣做,尤其是公網的服務器。
2. 設置php.ini正確配置session.save_path
1). 首先檢查php.ini配置文件
#grep session.save_path /etc/php.ini
如果不存在以下設置,增加該配置。如果被注釋了話,去掉注釋
session.save_path = “/var/lib/php/session”
2). 查看該目錄是否存在:
#ls /var/lib/php/session如果不存在,則手工創建
#mkdir /var/lib/php/session
# 修改目錄屬主為nginx
chown nginx:nginx session/ -R
# 重啟啟動php-fpm
service php-fpm restart
二、安裝配置phpmyadmin
1. 下載並解壓到phpmyadmin
官方下載頁面:http://www.phpmyadmin.net/home_page/downloads.php
(中文用戶應該選擇下載all-languages版本)
下載完成後,解壓:
unzip phpMyAdmin-4.1.12-all-languages.zip
移動到相應的目錄位置,並改成容易訪問的名稱:
mv phpMyAdmin-4.1.12-all-languages /www/phpmyadmin
2. 配置phpmyadmin
復制一份配置文件:
#cd /www/phpmyadmin #cp config.sample.inc.php config.inc.php配置config.inc.php
#vi config.inc.php
設置一個內部使用的秘鑰(和內部加密有關,與頁面登錄沒有直接關系)
$cfg['blowfish_secret'] = ‘www.tudaxia.com';
三、配置Nignx下的站點
vi /etc/nginx/conf.d/phpmyadmin.conf
server { listen 8081; server_name localhost; access_log /var/log/nginx/phpmyadmin-access.log main; location / { root /www/phpmyadmin; index index.php; } location ~ \.php$ { root /www/phpmyadmin; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
重啟nginx:
#service nginx restart
完成安裝,訪問http://yourserver:8081/,測試phpmyadmin。
四、phpmyadmin加載緩慢的解決方法
phpmyadmin4.0系列通通加載緩慢的最終原因是最近phpmyadmin的官網經常打不開,而phpmyadmin頁面會自動檢查官網上的程序 版本更新,所以當你進入phpmyadmin管理頁面點擊數據庫的時候phpmyadmin一直在嘗試連接官網從而把整個打開過程拖得很慢。
最終的解決辦法是不讓phpmyadmin檢查更新,找到phpmyadmin目錄下version_check.php文件,具體修改如下:
if (isset($_SESSION['cache']['version_check']) && time() < $_SESSION['cache']['version_check']['timestamp'] + 3600 * 6 ) { $save = false; $response = $_SESSION['cache']['version_check']['response']; } else { // $save = true; // $file = 'http://www.phpmyadmin.net/home_page/version.json'; // if (ini_get('allow_url_fopen')) { // $response = file_get_contents($file); // } else if (function_exists('curl_init')) { // $curl_handle = curl_init($file); // curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); // $response = curl_exec($curl_handle); // } }
上面代碼是通過注釋掉else{......}中間這段來取消phpmyadmin連接官網version.json來檢查更新
修改完後phpmyadmin馬上又回到秒開了。