ServersMan@VPS(CentOS)に phpMyAdmin をインストールする。

ServersMan@VPSCentOS)に phpMyAdmin をインストールしてみる。

1.CentOSのバージョンを調べる

# cat /etc/redhat-release
CentOS release 6.4 (Final)

2.phpのバージョンを調べる

# php -v
PHP 5.3.3 (cli) (built: Feb 22 2013 02:51:11) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

3.phpの拡張モジュールをインストールする

yum install php-\*

4.phpMyAdminをインストールする

インストールされているCentOS release 6.4 (Final)のPHP バージンが5.3.3なので、phpMyAdmin3系の最新版をインストールする。
http://www.phpmyadmin.net/

wget http://jaist.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.8/phpMyAdmin-3.5.8-all-languages.tar.gz
tar xvzf phpMyAdmin-3.5.8-all-languages.tar.gz
mv phpMyAdmin-3.5.8-all-languages /var/www/phpMyAdmin
chown -R root:admin /var/www/phpMyAdmin/
chown root:admin /var/lib/php/session/ 
↑phpのsession管理用のテンポラリーをapacheのオナーに合わせておく
 apacheのオナーを変えてな相場合は、通常root:apache

5.php-mcryptのインストール

ダウンロードは以下から
http://dl.fedoraproject.org/pub/epel/6/x86_64/

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm 

rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm
rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
rpm -ivh php-mcrypt-5.3.3-1.el6.x86_64.rpm

6.phpMyAdminの設定

サンプル初期設定ファイルをコピーして

cp /var/www/phpMyAdmin/config.sample.inc.php /var/www/phpMyAdmin/config.inc.php

vi /var/www/phpMyAdmin/config.inc.php で以下に変更

【以下を変更】
$cfg['blowfish_secret'] = '';
↓
$cfg['blowfish_secret'] = '適当なパスフレーズ';

なお、上のパスフレーズはcookie認証でパスワードを暗号化する際に使用する為のもので、
64文字以内の適当パスフレーズ設定してくださいとのことなので、
以下のようなmkpasswdコマンドでも使って適当な文字列でも設定しておく。

# mkpasswd -l 46
2diejAtrAxommpzzfmuixtesufnwrrt&aikmz0rjjtqpfb

【以下を追加】
$cfg['DefaultLang'] = 'ja-utf-8';
$cfg['Lang'] = 'ja-utf-8';
$cfg['DefaultCharset'] = 'utf-8';

7.apacheの設定

vi /etc/httpd/conf.d/phpmyadmin.conf  で phpmyadmin.conf を作成
(内部と特定の外部IPからのみアクセスできるように設定する)

Alias /phpMyAdmin /var/www/phpMyAdmin

<Directory /var/www/phpMyAdmin>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 ← サーバー自身からのアクセスを許可
    Allow from 183.181.10.26 ← 内部ネットワークからのアクセスを許可
    Allow from 186.15.110.0/24← 特定の外部IP(186.15.110.0から186.15.110.0.255)からのアクセスを許可
</Directory>

/etc/rc.d/init.d/httpd reload でapacheをリスタート

8.phpMyAdminへのアクセス制限

上のapacheの設定で、自ネットワークぐらいからしphpMyAdminにアクセス出来ないようにはなっていますが、一応、Basic認証による、パスワードによるアクセス制限もかけておく。

(1) パスワードファイルの作成

htpasswd -c /var/www/phpMyAdmin/.htpasswd ユーザー名
New password: ←パスワード入力
Re-type new password: ←パスワード再入力

(2) .htaccessファイルの作成

vi /var/www/phpMyAdmin/.htaccess

AuthUserFile /var/www/phpMyAdmin/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
	deny from all
</Files>

9.ブラウザで確認 (http://www.ドメイン名/phpMyAdmin/ にアクセス)