phpmyadminの設定

①wgetでphpMyAdmin3.4.5のモジュールをダウンロードし、公開ディレクトリに配置する。
# wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.4.5/phpMyAdmin-3.4.5-all-languages.tar.gz/download
# tar zxvf phpMyAdmin-3.4.5-all-languages.tar.xz
# mv phpMyAdmin-3.4.5 /var/www/html/phpMyAdmin

②config.sample.inc.phpを元にconfig.inc.phpを作成
# cp -p config.sample.inc.php config.inc.php
③config.inc.phpファイルを以下に修正
# vi config.inc.php

/* Server parameters */
$cfg['Servers'][$i]['host'] = ‘localhost’;

$cfg['Servers'][$i]['host'] = ‘<IPアドレス>’;

④phpMyAdmin.confファイルを作成し、アクセス制限する。
# vi /etc/httpd/conf.d/phpMyAdmin.conf
⑤phpMyAdmin.confファイルを以下に修正
Alias /phpmyadmin /var/www/html/phpMyAdmin

<Location /phpmyadmin>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from <IPアドレス>
</Location>

⑥ユーザを作成し、ログイン確認
# mysql -h <IPアドレス> -u root -p

mysql> CREATE USER ‘test’@’%’ IDENTIFIED BY ‘***’;
mysql> GRANT ALL PRIVILEGES ON * . * TO ‘test’@’%’ IDENTIFIED BY ‘***’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
# mysql -h <IPアドレス> -u test -p
→ OK:ユーザに対して全てのホストに対する権限を付与したところログインが出来た。

⑦web上からphpmyadminにアクセス

http://<IPアドレス>/phpMyAdmin

http://<IPアドレス>/phpMyAdmin/ 接続 –> mcryptがない、文字化け

# wget ftp://rpmfind.net/linux/epel/5/i386/mcrypt-2.6.8-1.el5.i386.rpm –> OK
エラー:mcrypt 拡張がありません。PHP の設定をチェックしてみてください。

# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-mcrypt-5.3.8-5.fc6.remi.i386.rpm
# yum install php-mcrypt-5.3.8-5.fc6.remi.i386.rpm –> OK

エラー:phpMyAdmin の設定保存場所が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
・phpmyadmin配下のscript/create_table.sqlを実行
・config.inc.phpの/* Storage database and tables */配下のコメントアウトをはずす。
→ OK

エラー:PHP の mbstring 拡張が見つかりませんでした。マルチバイト文字セットを使用しているようですが、mbstring 拡張がないと phpMyAdmin は文字列を正しく分割できないため予期しない結果になることがあります

# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-mbstring-5.3.8-5.fc6.remi.i386.rpm
# php-mbstring-5.3.8-5.fc6.remi.i386.rpm –> OK

お使いになっている PHP の MySQL ライブラリのバージョン 5.0.95 が MySQL サーバのバージョン 5.5.27 と異なります。これは予期しない不具合を起こす可能性があります。

mysqlのインストール自体はできたが、mysqlクライアントとサーバのバージョンの違いによりエラーが発生。
php-mysqlのアップデートを実行したが、依存関係の問題により適切なバージョンのphp-mysqlをインストールすることが出来ない。
→ NG

最新バージョンのmysqlをインストール(mysqlの公式サイトに常に最新のバージョンは配布されている)

wgetで公式サイトからダウンロード

# wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.27-1.rhel5.i386.rpm
# wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.27-1.rhel5.i386.rpm
# wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.27-1.rhel5.i386.rpm

yumコマンドによりパッケージのインストール

# yum install MySQL-server-5.5.27-1.rhel5.i386.rpm –> OK
# yum install MySQL-client-5.5.27-1.rhel5.i386.rpm –> OK
# yum install MySQL-devel-5.5.27-1.rhel5.i386.rpm –> OK

linuxのmysqlバージョンアップ(ソースからのバージョンアップ)

# wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.16.tar.gz
# service mysqld stop
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
→ cmakeがない
# yum install cmake –>OK
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
→ cのコンパイラ(gcc gcc-c++)がない
# yum -y install gcc gcc-c++
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
→ cmakeのエラー(調査したところ、cmakeのバグによりcmakeをビルドする必要があるため危険なのでこの方法はNG)

yumコマンドによるrpmパッケージインストール(手動)

必要なパッケージをインストール

# wget http://rpm.pbone.net/index.php3/stat/4/idpl/18447297/dir/redhat_el_5/com/php-mysql-5.4.6-1.el5.remi.i386.rpm
# yum install php-mysql-5.4.6-1.el5.remi.i386.rpm –> libmysqlclient.so.18が必要
# wget ftp://ftp.pbone.net/mirror/repo.webtatic.com/yum/centos/5/i386/mysql55-libs-5.5.27-1.w5.i386.rpm
# yum install compat-mysql55-5.5.11-1.el5.remi.i386.rpm –> php-pdoが必要(compat-mysqlにlibmysqlclient.so.18が含まれている)
# wget ftp://rpmfind.net/linux/remi/enterprise/5/test/i386/php-pdo-5.4.6-1.el5.remi.i386.rpm
# yum install php-pdo-5.4.6-1.el5.remi.i386.rpm –> php-commonが必要
# wget ftp://rpmfind.net/linux/remi/enterprise/5/test/i386/php-common-5.4.6-1.el5.remi.i386.rpm
# yum install php-common-5.4.6-1.el5.remi.i386.rpm –> libcurl.so.4が必要
# wget ftp://rpmfind.net/linux/remi/enterprise/5/test/i386/libcurl-7.21.7-5.el5.remi.2.i386.rpm
# yum install libcurl-7.21.7-5.el5.remi.2.i386.rpm –> libssh2が必要
# wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/libssh2-1.2.9-1.el5.rf.i386.rpm
# yum install libssh2-1.2.9-1.el5.rf.i386.rpm –> エラー
# yum install libssh2 –> バージョンが低い
# wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/libssh2-1.2.7-1.el5.rf.i386.rpm
# yum install libssh2-1.2.7-1.el5.rf.i386.rpm –> OK
# yum install libcurl-7.21.7-5.el5.remi.2.i386.rpm –> OK
# yum install php-common-5.4.6-1.el5.remi.i386.rpm –> php53-commonと競合してる
# yum remove php53-common –> OK (php系はほぼ消える。

# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-common-5.3.8-5.fc6.remi.i386.rpm
# yum install php-common-5.3.8-5.fc6.remi.i386.rpm –> OK
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-pdo-5.3.8-5.fc6.remi.i386.rpm
# yum install php-pdo-5.3.8-5.fc6.remi.i386.rpm –> OK
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-5.3.8-1.fc6.remi.i386.rpm
# yum install php-5.3.8-1.fc6.remi.i386.rpm –> NG (php-cli、php-commonのコンフリクト(バージョン間違えた))
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-5.3.8-5.fc6.remi.i386.rpm
# yum install php-5.3.8-5.fc6.remi.i386.rpm –> NG (php-cliがない)
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/php-cli-5.3.8-5.fc6.remi.i386.rpm
# yum install php-cli-5.3.8-5.fc6.remi.i386.rpm –> OK
# yum install php-5.3.8-5.fc6.remi.i386.rpm –> OK
# service httpd restart –> ここでバージョンが5.3.8にUPした事を確認。(web上で確認)
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/compat-mysql51-5.1.54-1.fc6.remi.i386.rpm
# yum install compat-mysql51-5.1.54-1.fc6.remi.i386.rpm –> OK
# yum install php-mysql-5.3.8-5.fc6.remi.i386.rpm –>OK
・以下3つはmysqlに接続するためのクライアントのパッケージインストール。
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/mysql-5.5.16-1.fc6.remi.i386.rpm
# yum install mysql-5.5.16-1.fc6.remi.i386.rpm → mysql-libsが必要
# wget ftp://rpmfind.net/linux/remi/fedora/6/remi/i386/mysql-libs-5.5.16-1.fc6.remi.i386.rpm
# yum install mysql-libs-5.5.16-1.fc6.remi.i386.rpm –> OK
# yum install mysql-5.5.16-1.fc6.remi.i386.rpm –> OK

yumパッケージ管理コマンドによるバージョンアップ

1yumリポジトリから既存のphpパッケージを削除
# yum remove php php-*

2yumリポジトリからphp5.3.3のパッケージをインストール
# yum install php53 php53-mbstring php53-mysql
# yum install php53-bcmath.i386
# yum install php53-dba.i386
# yum install php53-gd.i386
# yum install php53-imap.i386
# yum install php53-ldap.i386
# yum install php53-soap.i386
# yum install php53-xml.i386
# yum install php53-xmlrpc.i386
# yum install php53-mcrypt.i386

3確認
<?php phpinfo(); ?>からのバージョンと、# php -v からのバージョン確認で、両方5.3.3にあがっていることを確認。

wgetコマンドでPHP(php5.3.8)のソースをダウンロードし、インストールする。

1. モジュールのダウンロードとインストール
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# ./configure –build=i386-redhat-linux-gnu –host=i386-redhat-linux-gnu –target=i386-redhat-linux-gnu –program-prefix= –prefix=/usr –exec-prefix=/usr –bindir=/usr/bin –sbindir=/usr/sbin –sysconfdir=/etc –datadir=/usr/share –includedir=/usr/include –libdir=/usr/lib –libexecdir=/usr/libexec –localstatedir=/var –sharedstatedir=/usr/com –mandir=/usr/share/man –infodir=/usr/share/info –cache-file=../config.cache –with-libdir=lib –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –disable-debug –with-pic –disable-rpath –without-pear –with-exec-dir=/usr/bin –with-freetype-dir=/usr –with-png-dir=/usr –enable-gd-native-ttf –without-gdbm –with-gettext –with-iconv –with-jpeg-dir=/usr –with-zlib –with-layout=GNU –enable-exif –enable-ftp –enable-magic-quotes –enable-sockets –enable-sysvsem –enable-sysvshm –enable-sysvmsg –enable-wddx –with-kerberos –enable-ucd-snmp-hack –with-unixODBC=shared,/usr –enable-shmop –enable-calendar –without-sqlite –with-libxml-dir=/usr –without-mysql –without-gd –disable-dom –disable-dba –without-unixODBC –disable-pdo –disable-xmlreader –disable-xmlwriter
エラー:configure: error: no acceptable cc found in $PATH
# yum install gcc
→ OK
エラー:configure: error: xml2-config not found. Please check your libxml2 installation.
# yum install libxml2-devel
→ OK
以後、不必要なオプション指定をはずし、configureの繰り返し、エラーがなくなったところでmakeする。
# make
# make install

2確認
/var/www/html/info.php に <?php phpinfo(); ?>からバージョンと、# php -v からのバージョンを確認、
Web上(<?php phpinfo(); ?>)からだとバージョンが正しくあがっていない事を確認。
# php -i でphpinfo()の内容と同じ内容をテキストでも取れる。
→ この方法はNG、何かやり方が必要ぽい。
apacheから見たときにバージョンがあがっていないのでapachを再インストールしたがだめだった。
後日検討します・・・orz