MySQL用GUI設定ツール導入(phpMyAdmin)(CentOS7)

提供:あわ自由帳

phpMyAdminインストール

mkpasswdコマンド

ランダムな文字列を取得するのに必要なコマンドをインストール

[root@host2 ~]# rpm -q expect ← expectインストール確認
パッケージ expect はインストールされていません。

[root@host2 ~]# yum install expect ← expectインストール※インストールされていない場合のみ

その他不足パッケージインストール

「mcrypt 拡張をロードできません。PHP の設定を確認してください」というメッセージが出たばあい。

[root@host2 ~]# yum -y install libmcrypt

[root@host2 ~]# yum -y install php-mcrypt

[root@host2 ~]# vi /etc/php.d/mcrypt.ini
; Enable mcrypt extension module
extension=module.so
↓ 変更
extension=mcrypt.so

phpMyAdminインストール

[root@host2 ~]# svn checkout https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/tags/STABLE/phpMyAdmin phpmyadmin
 ← phpMyAdminダウンロード

[root@host2 ~]# mv phpmyadmin/ /var/www/ ← ダウンロードしたphpMyAdminを所定の場所へ移動

php-mysqlインストール

phpMyAdminはPHPで動作するため、PHPからMySQLデータベースへアクセスするためのパッケージであるphp-mysqlをインストールする

[root@host2 ~]# rpm -q php-mysql ← php-mysqlインストール確認
パッケージ php-mysql はインストールされていません。

[root@host3 ~]# yum -y install php-mysql ← php-mysqlインストール※インストールされていない場合のみ

phpMyAdmin設定

phpMyAdmin設定

[root@host3 ~]# cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
 ← サンプル設定ファイルをコピー

[root@host3 ~]# chmod 660 /var/www/phpmyadmin/config.inc.php ← 設定ファイルのパーミッションを変更

[root@host3 ~]# mkpasswd -l 46 ← mkpasswdコマンドでランダムな46桁の文字列を取得
ojwelolk6gmsswpgqosameeBmtxswelzamM4wdfcfolbz> ← ランダムな46桁の文字列※設定ファイル編集で使用する

[root@host3 ~]# vi /var/www/phpmyadmin/config.inc.php ← 設定ファイル編集
$cfg['blowfish_secret'] = 'ojwelolk6gmsswpgqosameeBmtxswelzamM4wdfcfolbz>'; ← mkpasswdコマンドで取得したランダムな46桁の文字列を指定
※上記はログイン時のパスワード暗号化の際に内部的に利用されるパスフレーズであり、ユーザに入力要求されるものではない

$cfg['Servers'][$i]['auth_type']     = 'cookie'; ← 認証モードを「クッキー」にする

$cfg['Lang']     = 'ja-utf-8'; ← 追加(日本語化)
/*
 * End of servers configuration
 */

[root@host3 ~]# chown -R root.apache /var/www/phpmyadmin/ ← phpMyAdminの所有者を変更

Apache設定

Webページパスワード制限をかけて、SSLによる接続に限定してます。

[root@host3 ~]# cat /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /var/www/phpmyadmin

<Location /phpmyadmin>
# https (SSL) による接続に限定し、http での接続は拒否する
SSLRequireSSL
# パスワード制限
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "secret page"
AuthType Basic
# 認証を許可するユーザー名を指定
require user phpmyadmin
</Location>
 
[root@host3 ~]# systemctl restart httpd ← Apache設定反映