phpMyAdmin 2.10.0.2 が出てました。
2.9.1.1 を入れたのいつだっけかな?
FC4のサーバ用にRPMを作ってバージョンアップしました。
まず、phpMyAdminのサイトからアーカイブをダウンロードしてきます。
アーカイブの中にspecファイルがあるので、これを利用してrpmを作成します。
アーカイブ:phpMyAdmin-2.10.0.2-all-languages.tar.bz2
これを解凍してspecファイルを取り出し、rpm作成に必要なファイルを /usr/src/redhat の各ディレクトリへコピーします。
bzip2 -d phpMyAdmin-2.10.0.2-all-languages.tar.bz2
tar xf phpMyAdmin-2.10.0.2-all-languages.tar
cd phpMyAdmin-2.10.0.2-all-languages/contrib/packaging/Fedora/
cp -p phpMyAdmin.spec /usr/src/redhat/SPEC
cp -p phpMyAdmin-http.conf /usr/src/redhat/SOURCES
cd ../../../..
bzip2 phpMyAdmin-2.10.0.2-all-languages.tar
cp -p phpMyAdmin-2.10.0.2-all-languages.tar.bz2 /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPEC
次に、specファイルをバージョンに合わせて編集します。
アーカイブに入っているspecファイルはなぜか古いままで、2.8.0 になっているので 2.10.0.2 に直します。
vi phpMyAdmin.spec
書き換える箇所は以下の行。
%define pkgrelease all-languages
Version: 2.10.0.2
Release: 1
これでrpmを作る準備ができました。
rpmbuildコマンドを使ってビルドします。
rpmbuild -ba phpMyAdmin.spec
エラーにならないで最後まで行ったら、rpmの出来上がり。
あ、ビルドする前に、mysql と php-mysql をインストールしておいた方が良いです。
ビルドが完了すると、/usr/src/redhat/RPMS/noarch にrpmが作成されます。
早速インストール。
初めて入れる場合は、rpm -ivh でよいですが、ボクはバージョンアップなので、rpm -Fvh を使用。
rpm -Fvh /usr/src/redhat/RPMS/noarch/phpMyAdmin-2.10.0.2-1.noarch.rpm
インストールが終わったら、phpMyAdmin の設定を行います。
設定ファイルは、/var/www/myadmin に入っています。
cd /var/www/myadmin
cp -p config.inc.php config.inc.php.orig
vi config.inc.php
URLとシークレットキーを設定し、認証方式を cookie にします。
クッキー認証が嫌な人は、config や http を選択してください。デフォルトは config です。
ボクはクッキー認証がよかったので cookie にしました。
cookie を選んだ場合は、blowfish_secret も設定します。
シークレットは好きな値を46文字以内で自由に設定します。
そして設定した値は秘密にしておいてください。
$cfg['PmaAbsoluteUri'] = 'http://www.hagyroom.com/phpMyAdmin/';
$cfg['blowfish_secret'] = 'www.hagyroom.com';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
次に apache の設定を行います。
cd /etc/httpd/conf.d
cp -p phpMyAdmin.conf phpMyAdmin.conf.orig
vi phpMyAdmin.conf
ボクはアクセス制限を掛けたかったので下記の設定をしました。
アクセス制限とか掛けない人はすることは無いです。
Allow from www.hagyroom.com
Deny from All
設定を更新したら、apache に設定を再読み込みさせます。
/etc/init.d/httpd reload
次に、文字化けしないように MySQL の文字コードの設定を行います。
vi /etc/my.cf
文字コードを EUC-JP (ujis) に設定して、サーバとクライアント間の文字コード調整をしないように設定します。
サーバのDBの文字コードをそのままクライアントでも使うように skip-character-set-client-handshake を設定します。
[mysqld]
old_passwords=1
default-character-set=ujis
skip-character-set-client-handshake
ボクはDBをEUCで使いたかったので default-character-set=ujis も設定しましたが、他の文字コードでも使用できます。
設定を更新したら、mysql を再起動します。
/etc/init.d/mysqld restart
これで準備が整いました。
ブラウザで phpMyAdmin の画面にアクセスします。
http://www.hagyroom.com/phpMyAdmin/
↑このURLは単なる説明用でダミーなのでアクセスしても画面は見られませんよ;-P
ログインして文字化けしなければよし。
データベースを選択してテーブルが見られればOK。
- 文字コードの自動変換を回避するオプション
http://www.mysql.gr.jp/mysqlml/mysql/msg/12306
[2007.05.19 追記]
・4/24にphpMyAdmin-2.10.0.2以前のバージョンにクロスサイト・スクリプティングの脆弱性が見つかっています。
http://secunia.com/advisories/24952/
・4/23にphpMyAdmin-2.10.1がリリースされており、bugfixされているので、バージョンアップすることをお薦めします。
http://www.phpmyadmin.net/home_page/index.php
・phpMyAdmin-2.10.1は、bugfixのみで設定ファイルの変更もありません。
・従って、上記の2.10.0.2と同じ手順でバージョンアップできます。
