2010年6月1日火曜日

CentOS 5.5でPHP 5.2.13のRPMパッケージを作成・インストール

CentOS5.5(5.4でも大丈夫かも)で、PHP5.2.13のRPMパッケージを作成してインストールする手順です。

※ 注意事項

  • インストールできることまでは確認してますが、自己責任で。
  • RPMパッケージのビルド用にいろいろインストールするので、パッケージ作成環境と運用環境を分けるのがおすすめ。
  • 対象は64bit版です。32bit環境の場合は、x86_64の箇所を適宜読み替えて下さい。



依存パッケージのインストール
# yum install libXaw-devel
# wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/development/source/SRPMS/t1lib-5.1.2-5.fc12.src.rpm
# rpm -ivh  --nomd5 t1lib-5.1.2-5.fc12.src.rpm
# rpmbuild -ba --target=x86_64 --clean /usr/src/redhat/SPECS/t1lib.spec
# rpm -ivh /usr/src/redhat/RPMS/x86_64/t1lib-5.1.2-5.x86_64.rpm
# rpm -ivh /usr/src/redhat/RPMS/x86_64/t1lib-devel-5.1.2-5.x86_64.rpm
ビルド用の開発パッケージのインストール
# yum install bzip2-devel curl-devel db4-devel httpd-devel pam-devel
# yum install openssl-devel sqlite-devel readline-devel krb5-devel libc-client-devel cyrus-sasl-devel
# yum install openldap-devel mysql-devel postgresql-devel unixODBC-devel libxml2-devel net-snmp-devel
# yum install libxslt-devel libxml2-devel ncurses-devel libXpm-devel libjpeg-devel libpng-devel freetype-devel
# yum install t1lib-devel libmcrypt-devel mhash-devel libtidy-devel freetds-devel aspell-devel recode-devel
# yum install pcre-devel
PHPのリビルド
# wget http://jp.php.net/distributions/php-5.2.13.tar.gz   ← php5.2.13 ソースの取得
# wget http://archive.kernel.org/fedora-archive/releases/10/Fedora/source/SRPMS/php-5.2.6-5.src.rpm  ← fc10 のphp5.2.6-5.src.rpm の取得
# rpm -ivh --nomd5 php-5.2.6-5.src.rpm    ← RPMパッケージ作成の準備 (fc10の src.rpm利用)
# vi /usr/src/redhat/SPECS/php.spec    ← php.spec の編集
/usr/src/redhat/SPECS/php.specの編集
Name: php
Version: 5.2.6
Release: 5
  ↓ 変更
Version: 5.2.13   作成するバージョン番号5.2.13
Release: 2        適当にリリース番号をせ

--
%patch32 -p1 -b .systzdata

#%patch50 -p1 -b .tests-dashn    ← 先頭 # で無効化
%patch51 -p1 -b .tests-wddx
ソースをRPMビルド用のディレクトリに移動してリビルド
# mv php-5.2.13.tar.gz  /usr/src/redhat/SOURCES/
# rpmbuild -bb /usr/src/SPECS/php.spec
完成したRPMパッケージのインストール
# rpm -ivh /usr/src/redhat/RPMS/x86_64/php*.rpm
※ PostgreSQLとかMySQLとか入ってないとインストールできないものもあるので、そのあたりは必要なパッケージを選択してインストールする。

参考にしたサイト