技術

CentOS5.2 x86_64 にApache2::Request(libapreq2)をインストールする方法

必要に駆られてCentOS5.2 x86_64上にApache2::Requestインストールしようとしてたのですが、普通にはインストールできなくてえらく苦労したので、メモっときます。

基本的には、 CentOS5.0にlibapreq2(Apache2::Request)のrpmを入れる の方法と同じなのですが、db-4.5.20.tar.gzからはlibdb-4.5.soが入手できませんでした。
その辺の問題の解決部分を含めて全体的な手順を書いておきます。

まず、Fedora7のlibapreq2-2.09とperl-libapreq2-2.09のRPMを取得します。
ファイルが古くなってきてるようで、手に入れづらくなってますので、RPM Searchあたりで検索した方が早いと思います。
一応今回は以下のようにして取得しました。

wget ftp://ftp.muug.mb.ca/mirror/fedora/archive/releases/7/Everything/x86_64/os/Fedora/libapreq2-2.09-0.rc2.4.fc7.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/7/x86_64/perl-libapreq2-2.09-0.rc2.7.fc7.x86_64.rpm

試しに、そのままインストールしようとしてみると、依存性のエラー(libdb-4.5.soがない)でインストール出来ないはずです。
で、BerkeleyDB4.5.20に含まれるlibdb-4.5.soをゲットしたいところですが、冒頭に上げたリンク先の方法(http://download.oracle.com/berkeley-db/db-4.5.20.tar.gz
を解凍)では手に入らなかったため、別の方法を行います。

Fedora7のdb4-4.5.20のRPMを取得します。こちらも実際にはRPM Searchあたりで検索することをおすすめします。

wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/7/Fedora/x86_64/os/Fedora/db4-4.5.20-5.fc7.x86_64.rpm

これを普通にインストールしても既存のものとコンフリクトしてインストール出来ない(というかしたくない)ので、インストールはせずに中身だけ取り出します。

rpm2cpio db4-4.5.20-5.fc7.x86_64.rpm | cpio -id

これでカレントディレクトリにlib64とusrいうディレクトリができますが、lib64の中にlibdb-4.5.soがぽつんと入ってるはずです。
そいつを /lib64/libdb-4.5.soにコピーします。

cp ./lib64/libdb-4.5.so /lib64/libdb-4.5.so

これで、libapreq2は動くはずですが、BerkeleyDB4.5.20をインストールしたわけじゃなく、依存性のエラーが出るので強制的にインストールします。

rpm -ivh –nodeps libapreq2-2.09-0.rc2.4.fc7.x86_64.rpm

ここまで来れば、perl-libapreq2は普通に入るはずです。

rpm -ivh perl-libapreq2-2.09-0.rc2.7.fc7.x86_64.rpm

これでApacheを再起動すればApache2::Requestが動作するようになってるはずですが、
libapreq2をインストールした段階で、中に

LoadModule apreq_module modules/mod_apreq2.so

と書かれた/etc/httpd/conf.d/apreq.confというファイルが作成されてます。
もし他の設定ファイルでmod_apreq2.soを読み込んでるとApacheの起動時に警告が出ますので、どちらかのLoadModuleの行をコメントアウトしてください。

CentOS5.2にFedora7のrpm入れて大丈夫なの?という不安はありますが、使ってみてる範囲では特に問題は出てないです。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください