[前言]
因為在Ubuntu 上面安裝很多次的PHPMyAdmin 了。因此想要統一紀錄安裝的過程。
以及所需要注意的事項與設定。
[安裝過程]
[前置條件]
- 已經有一台VPS 並上面搭載Ubuntu 14.04/16.04 的版本
- 已經初始化過Ubuntu 作業系統,請參照此篇文章
- 已經安裝好LAMP server
- 該升級的套件都已經升級(可選選項,可做或可不做)參考文章
[安裝步驟]
sudo apt-get update sudo apt-get install phpmyadmin
在安裝的過程中會詢問是要設定哪一種 HTTP server ,選擇Apache 即可
[安全性設定]
- Change Default PhpMyAdmin Login URL 改變預設的登入網址
預設是:domain.com/phpmyadmin
要更改的話,只需要去:/etc/phpmyadmin/apache.conf 更改即可。
更改的地方如下圖所示。改成 Alias /customadminname /usr/share/phpmyadmin
- Enable HTTPS on PhpMyAdmin 在PHPMyAdmin 下啟用HTTPS
通常HTTP/HTTPS 下拜訪 PHPMyAdmin都是允許的。
為了防止密碼被有心人士監聽看光光,所以啟動HTTPS 是有必要的。
主要是有兩種方式可以啟用HTTPS。
使用 Let’sencrypt, 自行簽章, 購買有效的憑證以及使用DNS 代管(Cloudflare 的中介 HTTPS)。
本章節主要是使用Cloudflare 的 HTTPS。因此只需要改動 /etc/phpmyadmin/config.inc.php 檔。
更改的方式如下圖,加入 $cfg[‘ForceSSL’] = true;
- Password Protect on PhpMyAdmin 使用http-basic auth 保護 PHPMyAdmin
這裡需要用到:htpasswd 這個指令,需要用到 apache2-utils。
需要額外安裝,使用 sudo apt-get install apache2-utils 來安裝。
在/etc/apache2/sites-available/000-default.conf 加入使用HTTP-Basic-Auth 的設定<Directory /usr/share/phpmyadmin> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
接著設定帳號, 密碼以及相關檔案的權限
sudo htpasswd -c /etc/apache2/.htpasswd yourusername # specify user/group permissions sudo chmod 640 /etc/apache2/.htpasswd sudo chgrp www-data /etc/apache2/.htpasswd</pre> <pre>
- Disable root Login to PhpMyAdmin 停用使用者 root 方式登入 PHPMyAdmin
修改 /etc/phpmyadmin/config.inc.php 檔案在如下圖的位置中加入:
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
$cfg[‘Servers’][$i][‘AllowRoot’] = false;
這兩行。
設定完之後,都需要記得將Apache 服務重啟:sudo service apache2 restart
安全性設定——Apache VirtualHost 的搭配使用
這是我參考的資料中所沒有提到的,算是自己額外加上去的。
使用VirtualHost 目的是可以使用子網域方式存取。
除了比較好記住之外,也多一層防護。
[參考資料]