2006年10月20日金曜日

[Linux] CentOS4 に mod_perl 2.02 をインストールする

先日インストールしたCentOSですが、デフォルト mod_perl のバージョンが 1.99 と
なっており mod_perl2 API は mod_perl 2.00 以上で提供されているため、mod_perl 2.02 を
インストールしました。

環境
CentOS4.4 on VMware
Apache/2.0.52
mod_perl/1.99

��.apxsをインストール
apxs は DSO モジュールを作成するための Apache 拡張コマンドです。
httpd-devel にパッケージされているため、依存関係を含めた次の rpm を入手しインストール。

$ rpm -ivh apr-devel-0.9.4-24.5.c4.2.i386.rpm
$ rpm -ivh apr-util-devel-0.9.4-21.i386.rpm
$ rpm -ivh pcre-devel-4.5-3.2.RHEL4.i386.rpm
$ rpm -ivh httpd-devel-2.0.52-28.ent.centos4.i386.rpm

入手先) RPM Search

��.既存 Apache2 API を削除
$ find /usr/lib/perl5 -name 'Apache2*' -exec rm -rf {} \;
$ find /usr/lib/perl5 -name 'Apache2*' -exec ls -lR {} \;
→ 何も出力されなければおけ。

参考) mod_perl 2.0 renaming

��.mod_perl 2.02 インストール
$ tar zxvf mod_perl-2.0.2.tar.gz
$ cd mod_perl-2.0.2
$ perl Makefile.PL MP_APXS=/usr/sbin/apxs
$ make
$ make test ※多少エラーが出ますが無視
$ make install
$ cp -f src/modules/perl/mod_perl.so /usr/lib/httpd/modules/

入手先) http://perl.apache.org/download/index.html
参考)Installing mod_perl 2.0

��.動作確認
次の cgi を実行し、MOD_PERL = mod_perl/2.0.2 となっていればおけ。

#!/usr/bin/perl -w
use strict;
use Apache2::RequestRec();
my $r = shift;
$r->content_type('text/html');
foreach my $key (keys(%ENV)) {
$r->print("$key = $ENV{$key}\r\n");
}
return Apache2::Const::OK;

※注意事項
CGI.pm を利用する場合 version が 3.08 以上である必要があります。
入手先) http://search.cpan.org/~lds/CGI.pm-3.25/CGI.pm

参考)
mod_perl 2.0.2 へのマイグレーション
10分で完了、mod_perl 2.0 で Hello, World!

0 件のコメント: