masalibの日記

システム開発、運用と猫の写真ブログです

CentOS6にphp5.1にインストール

CentOS6にphp5.1を入れたいという「ワケガワカラナイヨ」のお仕事のメモです
何が「ワケガワカラナイヨ」なのかというとCentOS6は標準がphp5.3なのです
それを無理矢理に5.1に下げるという所が「ワケガワカラナイヨ」のです

結論的にはJSONのモジュールが入れれずに諦めてもらいました
なおphp5.1はセキュリティ的にはNGですが、社内のシステムなので突っ込まないでください

OSのインストールとネットワークの設定が終わってからの作業になります。

# yumアップデート
yum -y update

# ntpアップデート
yum install -y ntp*

# wgetのインストール
yum install -y wget

# iptablesのストップ
chkconfig iptables off
service iptables stop

# ライブラリー系のインストール
yum install libmcrypt* automake vim-enhanced libpng-devel libxml2-devel ncurses-devel libmcrypt-devel curl curl-devel libpng-devel libjpeg-devel gcc* openssl-devel pcre-devel freetype freetype-devel libtool-ltdl libtool-ltdl-devel -y

# phpの削除
yum -y remove php* mysql*

# apacheのインストール
yum install -y httpd

# remiリポジトリの登録
rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

# libcurlをインストール(php5.1インストールに必要)
yum install -y libcrypto.so.6 libssl.so.6 openssl098e-0.9.8e
wget ftp://rpmfind.net/linux/remi/enterprise/5/remi/x86_64/compat-libcurl3-7.15.5-3.el5.remi.x86_64.rpm
rpm -Uvh compat-libcurl3-7.15.5-3.el5.remi.x86_64.rpm

yum install -y libpcap
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/mysqlclient15-5.0.92-3.ius.centos5.x86_64.rpm
rpm -Uvh mysqlclient15-5.0.92-3.ius.centos5.x86_64.rpm

# mysql5.0のインストール(php5.1インストールに必要)
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/mysqlclient15-5.0.92-3.ius.centos5.x86_64.rpm
rpm -Uvh mysqlclient15-5.0.92-3.ius.centos5.x86_64.rpm

# php5.1関連ファイルをダウンロード
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-cli-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-common-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-gd-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-mbstring-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-xml-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-pdo-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-devel-5.1.6-45.el5_11.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5/updates/x86_64/RPMS/php-mysql-5.1.6-45.el5_11.x86_64.rpm

# php5.1のインストール
yum localinstall -y php-5.1.6-45.el5_11.x86_64.rpm php-devel-5.1.6-45.el5_11.x86_64.rpm php-cli-5.1.6-45.el5_11.x86_64.rpm php-common-5.1.6-45.el5_11.x86_64.rpm php-pdo-5.1.6-45.el5_11.x86_64.rpm
yum localinstall -y php-xml-5.1.6-45.el5_11.x86_64.rpm php-gd-5.1.6-45.el5_11.x86_64.rpm php-mbstring-5.1.6-45.el5_11.x86_64.rpm php-mysql-5.1.6-45.el5_11.x86_64.rpm

# php5.1のmssql関連ファイル
wget ftp://195.220.108.108/linux/epel/5/x86_64/php-mssql-5.1.6-6.el5.x86_64.rpm
yum localinstall -y php-mssql-5.1.6-6.el5.x86_64.rpm

php5.1のpearのインストールは依存関係が解消できなかった
VMでcentos5をインストールし、PHP5.1のpearをインストールして
そのファイルをコピーするというこれでいいのかと思うような対応で逃げました
/usr/share/pear/の内容と/usr/pearのファイルをコピーしました
コピー後にパーミッションを変更する


依存関係ができなかった内容(失敗したのでコメントにしています)

#perlをいれる
#wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/perl-base-2.14-1.el6.rf.noarch.rpm
#yum localinstall -y perl-base-2.14-1.el6.rf.noarch.rpm
#wget ftp://rpmfind.net/linux/mageia/distrib/1/i586/media/core/release/php-pear-1.9.2-3.mga1.noarch.rpm
#yum localinstall -y php-pear-1.9.2-3.mga1.noarch.rpm

# php5.1のjsonのモジュールをインストール
#wget ftp://195.220.108.108/linux/Mandriva/official/2007.1/x86_64/media/main/release/php-json-1.2.1-3mdv2007.1.x86_64.rpm
#yum localinstall php-json-1.2.1-3mdv2007.1.x86_64.rpm
#↑上のコマンドやるとPHP5.3になってしまった
#wget ftp://195.220.108.108/linux/epel/5/x86_64/php-pecl-json-1.2.1-4.el5.x86_64.rpm
#rpm -qlp php-pecl-json-1.2.1-4.el5.x86_64.rpm
#yum localinstall php-pecl-json-1.2.1-4.el5.x86_64.rpm

いれる事ができなかったモジュール
JSON、bcmath,dba,imap,ldap,mcrypt,memcache

今回思った事は「rpm」でのインストールは「依存チェック」を自分でしないといけないので「yum」は偉大だなと思った
次回は「php7」 or 「php5.6」のインストールをやるそうです
定期的にバージョンアップする体制を作らないと駄目みたいです

参考にしたサイト
qiita.com