fedora9のphpMyAdminインストール&詳細設定

DB

DBサーバにはpostgresqlとmysqlをインストールしてあるので、Webで管理できるphpPgAdminとphpMyAdminをインストールする。

phpPgAdminはインストールしてあるので、phpMyAdminをインストール。

phpMyAdminのインストール

# yum install phpMyAdmin

phpMyAdminの詳細設定

# vi /etc/phpMyAdmin/config.inc.php
$cfg['Servers'][$i]['auth_type''] = 'cookie'

で、一度httpdサービスの再起動。

# service httpd restart

ブラウザから「http://localhost/phpMyAdmin/」へ接続してみる。すると

エラー:設定ファイルが秘密のパスフレーズ(blowfish_secret)を必要とするようになりました

と表示されるので「blowfish_secret」の設定をする。

# vi /etc/phpMyAdmin/config.inc.php
$cfg['blowfish_secret'] = 'xxxxxx'  (任意のパスフレーズを入力)

で、再びブラウザから接続。文字コードはUTF-8に統一するので、

$cfg['DefaultLang'] = 'ja-utf-8'
$cfg['DefaultCharset'] = 'utf-8'

として、再度ブラウザから接続。デフォルトでは、ログインユーザ名が「root」パスワードなしで、ログインできてしまう。とりあえずセキュリティは後にして、設定を進める。

「root」でログインすると、下部に

お使いの設定ファイルに MySQL のデフォルト特権アカウントに相当する設定 (root ユーザでパスワードなし) が含まれています。お使いの MySQL サーバはこのデフォルト設定で動作しているため不正アクセス可能な状態になっています。このセキュリティホールはかならず閉ざしてください

という文章と、

mcrypt拡張をロードできません。PHPの設定を確認してください

と出ている。

まず、mcryptのエラーを解決しよう。

# yum install php-mcrypt

で、phpMyAdminのログイン後、エラーが消えていればOK.

次は「お使いの設定ファイルに MySQL のデフォルト特権・・・」のエラーを解決する。

mysqlの初期設定を行う。

# mysql_secure_installation
Enter current password for root (enter for none): (エンター)
Set root password? [Y/n] (エンター)
New password: (パスワードを入力してエンター)
Re-enter new password: (再度パスワードを入力してエンター)
Remove anonymous users? [Y/n]  (匿名ユーザを消す。エンター)
Disallow root login remotely? [Y/n] (リモートログイン時のroot接続は拒否。エンター)
Remove test database and access to it? [Y/n] (データベース名:testは削除。エンター)
Reload privilege tables now? [Y/n] (エンター)

で、エラーは消えたのでOK.

phpMyAdminのアクセス制限

phpMyAdminのアクセス制限をかける。

# vi /etc/httpd/conf.d/phpMyAdmin.conf
allow from 192.168.100.51 (wwwサーバのIP)

httpdサービス再起動

# service httpd restart

ところで、サーバーはwww,db,dns,pop&smtpと、別々に一台ずつサービス別に構築しており、テスト環境には上記全てのサービスが導入されている。

phpPgAdmin,phpMyAdminに接続する際は、

  • http://db.ドメイン名/phpPgAdmin/
  • http://db.ドメイン名/phpMyAdmin/

となるようにDNSサーバで名前解決している。

著者:bouya Imamura