ヘルプ:MySQL用GUI設定ツール導入(phpMyAdmin)(CentOS7)
提供:あわ自由帳
メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(CentOS7) > 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/html/sudachi.jp ← ダウンロードした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/html/sudachi.jp/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による接続に限定してます。
その1
リバースプロクシを設定してる場合、他のサーバーに影響を及ぼした。
[root@host3 ~]# vi /etc/httpd/conf.d/phpmyadmin.conf <Location /phpmyadmin> # https (SSL) による接続に限定し、http での接続は拒否する SSLRequireSSL # パスワード制限 AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "secret page" AuthType Basic # 認証を許可するユーザー名を指定 require user phpmyadmin </Location>
その2
検証中。
[root@host3 ~]# vi /etc/httpd/conf.d/phpmyadmin.conf <Directory /var/www/html/sudachi.jp/phpmyadmin> # https (SSL) による接続に限定し、http での接続は拒否する SSLRequireSSL # パスワード制限 AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "secret page" AuthType Basic # 認証を許可するユーザー名を指定 require user phpmyadmin </Directory>
その3
正常動作している。
[root@host3 ~]# vi /var/www/html/sudachi.jp/phpmyadmin/.htaccess # https (SSL) による接続に限定し、http での接続は拒否する SSLRequireSSL # パスワード制限 AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "secret page" AuthType Basic # 認証を許可するユーザー名を指定 require user phpmyadmin
Apache設定反映
[root@host3 ~]# systemctl restart httpd