ブラウザから簡単にデータベースを操作することができるphpMyAdminのインストールと設定をします。
環境
CentOS 6.10
Apache 2.2.15
CentOS 7はこちら
1.phpMyAdminのインストール
root権限でコンソールに下記のコマンドを入力し、Enterキーを押します。
phpMyAdminのインストールが始まり、Complete!という文字が表示されれば完了です。
[root@ ~]# yum --enablerepo=epel install -y phpMyAdmin
2.phpMyAdminの設定ファイル編集
phpMyAdminの設定ファイル /etc/httpd/conf.d/phpMyAdmin.conf を編集します。
下記コマンドで編集を始めます。
[root@ ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf
下記のハイライト箇所に「Allow from All」を追記します。
この設定で外部からphpMyAdminにアクセスできるようになります。
※Apache2.4系の場合は、設定箇所が異なります。
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Allow from All
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
Apacheを再起動して設定を反映します。
[root@ ~]# service httpd restart
ブラウザから http://ドメイン名/phpmyadmin にアクセスしてログイン画面が表示されるか確認します。
下記のログイン画面が表示されれば初期設定は完了です。

3.phpMyAdminのセキュリティ対策
初期状態の設定では、不正アクセスに対して脆弱なため、下記のセキュリティ対策を実施してください。
第三者に推測されにくいURLに変更
初期状態のログインURL http://ドメイン名/phpmyadmin では、不正アクセスを受ける可能性が高いため、第三者に推測されにくいURLに変更します。
phpMyAdminの設定ファイル /etc/httpd/conf.d/phpMyAdmin.conf を再び編集します。
下記コマンドで編集を始めます。
[root@ ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf
既に記述されているAliasに関する2行の行頭に#を追加し、無効にします。
その下に「Alias /phpmyadmin任意の英数字 /usr/share/phpMyAdmin」を追加します。
※任意の英数字部分は推測されにくいものを入力してください。
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL #Alias /phpMyAdmin /usr/share/phpMyAdmin #Alias /phpmyadmin /usr/share/phpMyAdmin Alias /phpmyadmin任意の英数字 /usr/share/phpMyAdmin
この設定で http://ドメイン名/phpMyAdmin や
http://ドメイン名/phpmyadmin のURLからアクセスできなくなり、
http://ドメイン名/phpmyadmin任意の英数字 のURLでアクセスできるようになります。
SSLによる暗号化通信
SSLを導入している場合には、phpMyAdminへの接続はSSL通信のみ許可する設定をしてください。
phpMyAdminの設定ファイル /etc/httpd/conf.d/phpMyAdmin.conf の下記ハイライト部分に「SSLRequireSSL」を追加します。
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL #Alias /phpMyAdmin /usr/share/phpMyAdmin #Alias /phpmyadmin /usr/share/phpMyAdmin Alias /phpmyadmin任意の英数字 /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 SSLRequireSSL
Apacheを再起動して設定を反映します。
[root@ ~]# service httpd restart
phpMyAdminの設定は以上です。
定期的にバージョンをチェックして、最新のバージョンを使うようにしてください。
