MySQL 管理ツール phpMyAdmin をインストールする (CentOS 5.4)

2010/02/02 Tomohiro Kumagai

□ phpMyAdmin

データベースシステム MySQL を管理するツールの一つとして phpMyAdmin というものがあります。

これは php でできているため、使用するには php を実行できる環境 (Apache 等) が必要となります。管理対象のデータベース MySQL と、管理ツールを置くための Apache の設定については完了しているものとして話を進めて行きます。

なお、MySQL のインストールについては データベースシステム MySQL をインストールする (CentOS 5.4) にも記してありますので、必要に応じてそちらもご確認ください。

 

それでは phpMyAdmin のインストールを行って行きます。

phpMyAdmin は "dag" リポジトリからの入手となります。リポジトリの追加方法については CentOS 5.4 のシステムアップデート取得先としてリポジトリを追加する に記してありますので、そちらの方も参考にしてみてください。

次のようにして phpMyAdmin のインストールを行います。

yum install --enablerepo=dag phpmyadmin

このようにすると、平成 22 年 2 月 2 日現在、"phpmyadmin 2.11.10-2.el5.rf" がインストールされました。

また、それと併せて "libmcrypt 2.5.8-4.el5.centos" や "php-mcrypt 5.1.6-15.el5.centos.1"、"php-mysql 5.1.6-24.el5_4.5" や "php-pdo 5.1.6-24.el5_4.5" といった 4 つの依存パッケージもインストールされました。

 

インストールが完了したら、続いて phpMyAdmin の設定調整を行います。

まず "/usr/share/phpmyadmin/config.inc.php" 内の $cfg['blowfish_secret'] の値を調整します。

$cfg['blowfish_secret'] = '********';

ここには Cookie 認証のためのパスワードを設定することになるそうです。任意にパスワードを設定できます。このパスワードは人間が入力することはないそうなので、とりあえず何か複雑なものをつけておけば大丈夫でしょう。

 

そして、Apache の設定ファイルを調整して、phpMyAdmin を参照できるようにします。

CentOS 5.4 の場合は "/etc/httpd/conf.d/" ディレクトリ内に例えば "phpmyadmin.conf" を作成するなり、その他の適切な設定ファイル内などに次の内容を記載します。

<Directory /usr/share/phpmyadmin>

Order Deny,Allow

Deny from all

Allow from 127.0.0.1

Allow from 192.168.0

</Directory>

これで、設定したサイトの /phpmyadmin/ へアクセスすれば、MySQL を管理するページへ接続することができるようになります。

なお、上記の例では接続可能な端末として、IP アドレスが 127.0.0.1 と 192.168.0.0 から 192.168.0.255 までに制限がかけられていますので注意しましょう。この制限は、環境に応じて各自調整する必要があります。

仮想ドメインで phpMyAdmin を利用したい場合には、その <VirtualHost> ディレクティブ内で "Include /etc/httpd/conf.d/phpmyadmin.conf" として設定を取り込んであげる形にすると簡単です。

 

phpMyAdmin へ接続できたら、MySQL に登録されているアカウント情報を入力することで、管理ページにログインすることが可能です。

もしこのとき "#2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません)" というエラーが表示されてしまう場合には、PHP 側と MySQL 側とで socket の設定が異なっているかもしれません。

その際は一度、"/etc/my.cnf" 内の "socket" で指定した値と "/etc/php.ini" 内の "mysql.default_socket" で指定した値とが一致することを確認すると良いでしょう。

なお、"mysql.default_socket" が空欄の場合には、それは "/var/lib/mysql/mysql.sock" が指定されたのと同じ意味になるようです。

 

または SELinux によるセキュリティ制御機構が影響している場合もあります。

これについては mysqld_t のみならず httpd_t の方も socket を開く権限がないために発生することがあるので注意が必要です。特に "/etc/my.cnf" の "socket" の値を変更した場合は気をつけましょう。

SELinux の設定方法については Linux のセキュリティ設定 (SELinux) の方に記してありますので、そちらを参考にしてください。

    

 

カスタム検索

copyright © Tomohiro Kumagai @ EasyStyle G.K.
contact me: please from mail-form page.