SRPMからApacheとPHPをインストールする

yumで手に入らないバージョンをインストールしてくださいと言われたので、SRPMからインストールしますた。
SRPMはソースコード配布なんだけど、普通のrpmでのインストールとほぼ同じようなconfigureパラメータでお手軽インストールできるので、make通らねぇ!!!!とかconfigureオプションちがうじゃねぇかボケ!
とかは避けられます。
ソースから入れてよと最初は言われましたがお断りしました。
(理由は後述)



環境
OS:CentOS 5.8 64bit


使用するApache「httpd-2.2.8-1.el5s2.src.rpm」
下記のURLからダウンロードできるようです。
http://ftp.heanet.ie/mirrors/redhat/linux/enterprise/5Server/en/RHWAS/SRPMS/httpd-2.2.8-1.el5s2.src.rpm
ダウンロードして/rootに保存しておきます。

# cd /usr/src/redhat
# mkdir SOUCES
# mkdir SPECS
# mkdir BUILD
# mkdir SRPMS
# mkdir RPMS
# cp /root/httpd-2.2.8-1.el5s2.src.rpm /usr/src/redhat

必要とされるパッケージのインストール
# yum install rpm-build autoconf db4-devel expat-devel \
zlib-devel libselinux-devel apr-devel apr-util-devel \
pcre-devel openssl-devel distcache-devel

ApacheのRPM作成
# rpm -ivh httpd-2.2.8-1.el5s2.src.rpm
# rpmbuild -ba /usr/src/redhat/SPECS/httpd.spec

# cd RPMS
# rpm -ivh httpd-2.2.8-1.x86_64.rpm
# rpm -ivh httpd-devel-2.2.8-1.x86_64.rpm
# rpm -ivh httpd-manual-2.2.8-1.x86_64.rpm
# rpm -ivh mod_ssl-2.2.8-1.x86_64.rpm
# cd ..

#一時ファイルの掃除
# rm -rf /usr/src/redhat/SOUCES/*
# rm -rf /usr/src/redhat/SPECS/*
# rm -rf /usr/src/redhat/BUILD/*
# rm -rf /usr/src/redhat/SRPMS/*
# rm -rf /usr/src/redhat/RPMS/*

Apacheはこれで終わり。
ちなみにconfファイルはCentOSデフォルトの場所に置かれます。
/etc/httpd/conf/httpd.conf

PHP5.2.9のインストール

使用するファイルはこちら。「php-5.2.9-2.el5s2.src.rpm」
下記のURLからダウンロードできるようです。
http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/RHWAS/SRPMS/php-5.2.9-2.el5s2.src.rpm
ダウンロードして/rootに保存しておきます。

# cp /root/php-5.2.9-2.el5s2.src.rpm /usr/src/redhat

PHPで必要とされるパッケージのインストール
# yum install bzip2-devel curl-devel gmp-devel aspell-devel \
libjpeg-devel libpng-devel pam-devel libstdc++-devel \
sqlite-devel readline-devel libtool gcc-c++ libc-client-devel \
mysql-devel postgresql-devel unixODBC-devel libxml2-devel \
net-snmp-devel libxslt-devel libxml2-devel ncurses-devel \
gd-devel freetype-devel


PHPのRPMの作成
# rpm -ivh php-5.2.9-2.el5s2.src.rpm
# rpmbuild -ba /usr/src/redhat/SPECS/php.spec

# cd /usr/src/redhat/RPMS/x86_64/

# yum remove php php-cli php-common php-ldap

インストール順序を守らないと依存関係問題が起きてインストール出来きませんでした。
# rpm -ivh php-common-5.2.9-2.x86_64.rpm
# rpm -ivh php-cli-5.2.9-2.x86_64.rpm
# rpm -ivh php-5.2.9-2.x86_64.rpm
# rpm -ivh php-devel-5.2.9-2.x86_64.rpm
# rpm -ivh php-imap-5.2.9-2.x86_64.rpm
##rpm -ivh php-pgsql-5.2.9-2.x86_64.rpm #PostgreSQLは使わないのでインストールしない
# rpm -ivh php-bcmath-5.2.9-2.x86_64.rpm
# rpm -ivh php-ldap-5.2.9-2.x86_64.rpm
# rpm -ivh php-snmp-5.2.9-2.x86_64.rpm
# rpm -ivh php-mbstring-5.2.9-2.x86_64.rpm
# rpm -ivh php-soap-5.2.9-2.x86_64.rpm
# rpm -ivh php-pdo-5.2.9-2.x86_64.rpm
# rpm -ivh php-mysql-5.2.9-2.x86_64.rpm
# rpm -ivh php-xml-5.2.9-2.x86_64.rpm
# rpm -ivh php-dba-5.2.9-2.x86_64.rpm
# rpm -ivh php-ncurses-5.2.9-2.x86_64.rpm
# rpm -ivh php-xmlrpc-5.2.9-2.x86_64.rpm
# rpm -ivh php-odbc-5.2.9-2.x86_64.rpm
# rpm -ivh php-gd-5.2.9-2.x86_64.rpm

一時ファイルの掃除

# cd ..
# rm -rf /usr/src/redhat/SOUCES/*
# rm -rf /usr/src/redhat/SPECS/*
# rm -rf /usr/src/redhat/BUILD/*
# rm -rf /usr/src/redhat/SRPMS/*
# rm -rf /usr/src/redhat/RPMS/*

こちらもCentOSのデフォルトパスにphp.iniが保存されます。
/etc/php.ini
SRPMからのインストールの場合はソースコードのコンパイルを実施するため
通常のyumやrpmからのインストールに比べると時間がかかります。
バージョン指定とかなかったらyumのインストールが安全かと思います。

自分だけの使用ならソースコードからのインストールでもいいけど、仕事の場合は
顧客への引渡しや運用工数も考えないとダメなので、手間がかからないyumでのインストールがいいです。

カテゴリー: Linux, コンピュータ パーマリンク

コメントは停止中です。