お客様のサーバー(CentOS 6)にphpMyAdminをインストールする機会があったので、その時の作業メモ。(かなり久しぶりなので、色々と変わってました&忘れてました(^^;)
最新版(3.5.7)のパッケージを普通にインストールすると、とりあえずはログイン出来るようになるのですが、エラーがいくつか発生しました。
まず1つめ。
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。
とのことなので、設定してみます。
まず、パッケージに含まれている設定ファイルのサンプル「config.sample.inc.php」を「config.inc.php」に複製して、
/* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = 'hoge'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
「hoge」の部分に適当なパスフレーズを設定すればOKです。
次に2つめ。
phpMyAdmin の設定保存場所が完全に設定されていないため、いくつかの拡張機能が無効になっています。
とのことなので、画面の指示通りに設定を行います。
設定保存用のデータベースとユーザーを作ってやる必要があるのですが、データベース作成の為のsqlは用意されているので、それ(/examples/create_tables.sql)を使います。
mysql -u root -p Enter password: [パスワードを入力] mysql> source /var/www/html/phpMyAdmin/examples/create_tables.sql mysql> GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY '適当なパスワード';
これで、「phpmyadmin」データベースと12個のテーブル、「pma」ユーザーが作成されます。
次に、1で作成した設定ファイル「config.inc.php」のコメントアウトされている部分を有効にします。
/* User used to manipulate with storage */ $cfg['Servers'][$i]['controlhost'] = ''; $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = '上で決めた「pma」ユーザーのパスワード'; /* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; $cfg['Servers'][$i]['recent'] = 'pma_recent'; /* Contrib / Swekey authentication */ $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
ここは、コメントを外してパスワードを書き換えるだけです。(素直にユーザー名を「pma」にした場合)
最後に3つめ。
mcrypt 拡張がありません。PHP の設定をチェックしてみてください。
というエラーが出ているので、下記で「php-mcrypt」をインストールします。
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 rpm --import RPM-GPG-KEY-EPEL-6 rpm -i epel-release-6-8.noarch.rpm yum install php-mcrypt -y
これでサーバーを再起動して、あらためてphpMyAdminにログインすると、全てのエラーが解消されました。めでたしめでたし。