Linux の使い方: MySQL 管理ツール phpMyAdmin をインストールする (CentOS 4.6)
phpMyAdmin
CentOS 4.6 上に yum を利用して、MySQL データベース管理ツール "phpMyAdmin" パッケージをインストールしてみようと思います。
なお、今回の環境では、CentOS 4.6 に、既に MySQL 5.0.82 と Apache 2.0.63 + PHP 5.1.6 がインストールされ、起動しているものとします。
ここに phpMyAdmin 2.11.10 をインストールして、Web ブラウザーを利用して MySQL を管理できる環境を作って行く感じになります。
phpMyAdmin のインストールと設定
phpMyAdmin は "rpmforge" リポジトリから入手することが出来るようになっています。
yum リポジトリの追加方法については Linux の使い方: CentOS 5.4 のシステムアップデート取得先としてリポジトリを追加する に記してありますので、そちらを参考にして "rpmforge" リポジトリを追加します。
"rpmforge" リポジトリの準備が出来たら、次のようにして "phpmyadmin" パッケージのインストールを行います。
yum install phpmyadmin
このようにすることで、平成 22 年 6 月 8 日時点では phpMyAdmin 2.11.10 をインストールすることができました。
これで、管理ページプログラムが "/usr/share/phpmyadmin" に格納され、Apache に組み込むための設定ファイルが "/etc/httpd/conf.d/phpmyadmin.conf" に追加されています。
続いて、設定ファイルを調整します。
"/usr/share/phpmyadmin/config.inc.php" ファイルを編集して、この中の $cfg['blowfish_secret'] の値に何かてきとうな文字列を設定しておきます。
$cfg['blowfish_secret'] = 'XXXXXXXXXXXXXXXXXX';
パスワード文字列とのことですが、後で人間が入力することはないので、とにかく難しい文字列を設定しておけば大丈夫な感じです。
また、Apache 用の設定ファイル "/etc/httpd/conf.d/phpmyadmin.conf" も調整しておきます。
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
このようなアクセス制限の設定があります。既定では "127.0.0.1" として、このサーバー上からしかアクセスできないようになっているので、アクセスしたいホストから接続できるように調整しておく必要があります。
また、phpmyadmin を仮想ドメインのサイトに組み込みたい場合には、"/etc/httpd/vhost.d/" の該当する設定ファイルを編集して、<VirtualHost> ディレクティブ内で、次のように phpmyadmin 設定ファイルを読み込んであげます。
Include /etc/httpd/conf.d/phpmyadmin.conf
設定が完了したら、次のようにして Apache を再起動すれば、phpMyAdmin が有効になります。
service httpd restart
そして、"http://xxxx.xxx.xxx.xx/phpmyadmin/" という形で、ブラウザーを用いて phpMyAdmin にアクセスできるかを確認します。
Forbidden と表示されれば、アクセス制限の設定が間違っているか、設定ファイルを正しく読み込めていないことが原因である可能性が高いです。
また、もし管理ページが表示されて、そこに "mcrypt 拡張をロードできません。PHP の設定を確認してください" というメッセージが表示されているような場合には、"php-mcrypt" モジュールがインストールされていないことが原因なので、次のようにして "php-mcrypt" をインストールすることで、解消すると思います。
yum install php-mcrypt
phpMyAdmin が正しく起動したら、MySQL のユーザーアカウントを利用して、管理ページにログインすることが可能です。
なお、既定では MySQL へ "root" アカウントでログインすることが出来るようになっています。このとき、パスワードは空欄のままでログインできるようになっているので、不用意に phpMyAdmin を外部に公開しないように気を付ける必要がありそうです。