MySQLとphpMyAdminをインストールする。
サーバのホスト名がwww.example.comとした場合にhttp://www.example.com/phpMyAdmin/
というURLでphpMyAdminへアクセスできるように設定する。
MySQLをインストールしてmysql_secure_installation
コマンドで不要な匿名ユーザやテストデータベースを削除し、rootのパスワードをMkWBmX25rPYk
として設定する。
yum -y install mysql-server
chkconfig mysqld on
chkconfig --list mysqld
----------------------------------------------------------------------
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
----------------------------------------------------------------------
/etc/rc.d/init.d/mysqld start
mysql_secure_installation
----------------------------------------------------------------------
Enter current password for root (enter for none): (まだパスワードを設定していないのでEnterキーを押す)
Set root password? [Y/n] y
New password: MkWBmX25rPYk (パスワード入力)
Re-enter new password: MkWBmX25rPYk (パスワード入力)
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
----------------------------------------------------------------------
あとの設定はCentOS5と6の場合で内容が異なる。
CentOS 6の場合
使用する文字コードをUTF-8に設定する。
vi /etc/my.cnf
--------------------------------------------------------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
skip-character-set-client-handshake
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
--------------------------------------------------------------
/etc/rc.d/init.d/mysqld restart
文字コードがUTF-8になっているか確認する。
mysql -u root -p
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql> exit
Bye
phpMyAdminをダウンロードおよび設置とApacheの設定を行う。Apacheは既にインストール済みであると想定している。
最新版のphpMyAdminは本家サイトで確認する。
phpMyAdmin ダウンロードページ
CentOS6でインストールされるMySQLのバージョンは5.1系ですが、phpMyAdmin4.2系以降はMySQL5.5移行のバージョンを対象としているため利用できません。phpMyAdmin4.0系の最新版の利用を検討して下さい。
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.10.9/phpMyAdmin-4.0.10.9-all-languages.tar.gz
tar zxvf phpMyAdmin-4.0.10.9-all-languages.tar.gz
mv phpMyAdmin-4.0.10.9-all-languages /var/www/phpMyAdmin
chown -R root:apache /var/www/phpMyAdmin/
vi /etc/httpd/conf.d/phpmyadmin.conf
------------------------------------------------------
Alias /phpMyAdmin "/var/www/phpMyAdmin"
<Directory "/var/www/phpMyAdmin">
Order allow,deny
Allow from all
</Directory>
------------------------------------------------------
apachectl -t
Syntax OK
/etc/rc.d/init.d/httpd reload
MySQL5.1ではdefault-character-set
ではなくcharacter-set-server
を使用する。
MySQL5.1ではログに警告がでるくらいだが、MySQL5.5くらいのバージョンになると完全に使えなくなるので、念のためcharacter-set-server
を使用した方がよいだろう。
また、phpMyAdminは2系とは異なり、特に設定ファイルを作成しなくてもファイルを展開するだけである程度は利用できるようになっている。
CentOS 5の場合
文字コードがlatin1になっているのをUTF-8に変更する。EUCの場合はutf8をujisと置き換えてください。
追記: 2008/11/22
以前は”init-connect=SET NAMES utf8″を設定していました。しかし、どんな場合でもUTF-8として扱う強制的な設定なため、他の文字コードも混在する場合には不具合の原因となる場合があります。現在はコメントアウトにしています。プログラム側で文字コードの修正ができない場合など有用な場合もあります。
cp /etc/my.cnf /etc/my.cnf.org
vi /etc/my.cnf
--------------------------------------------------------------
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
skip-character-set-client-handshake
#init-connect=SET NAMES utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8
[mysql]
default-character-set=utf8
--------------------------------------------------------------
/etc/rc.d/init.d/mysqld restart
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | ujis |
| character_set_filesystem | binary |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>exit
PHPとPHPのモジュールインストール
PHPのインストールをしていない場合はインストールしてください。
yum -y install php php-mysql php-mbstring php-pear php-gd
phpMyAdminのインストール
最新版は本家からダウンロードしてください。phpMyAdmin ダウンロードページ/
CentOS5.2のPHPのバージョンが5.1系なので、PHP5.2以上が必要なphpMyAdmin3系はデフォルトでは利用できません。phpMyAdmin2系の最新版をご検討ください。
cd /usr/local/src/
wget http://jaist.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.9.3-all-languages.tar.gz
tar zxvf phpMyAdmin-2.11.9.3-all-languages.tar.gz
mv phpMyAdmin-2.11.9.3-all-languages /var/www/phpMyAdmin
chown -R root:apache /var/www/phpMyAdmin/
vi /etc/httpd/conf.d/phpmyadmin.conf
------------------------------------------------------
Alias /phpMyAdmin "/var/www/phpMyAdmin"
<Directory "/var/www/phpMyAdmin">
Order allow,deny
Allow from all
</Directory>
------------------------------------------------------
/etc/rc.d/init.d/httpd reload
mkdir /var/www/phpMyAdmin/config
chmod 777 /var/www/phpMyAdmin/config
http://www.example.com/phpMyAdmin/scripts/setup.php にアクセス
--------------------------------------------------------------------------------
Load ボタン
Servers Add ボタン
Authentication type = http
Add ボタン
Save ボタン
--------------------------------------------------------------------------------
mv /var/www/phpMyAdmin/config/config.inc.php /var/www/phpMyAdmin/config.inc.php
http://www.example.com/phpMyAdmin/ にアクセスしてログイン確認
ID: root
PW: MySQL root パスワード
rm -rf /var/www/phpMyAdmin/config
chmod 444 /var/www/phpMyAdmin/config.inc.php
chmod 000 /var/www/phpMyAdmin/scripts