1999/1/21
バージョン mod_perl 1.17
OS Slackware 3.6 (Linux 2.0.35)
ホームページ http://perl.apache.org/ (公式ページ)
ダウンロード ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/modules/by-module/Apache/
備考 Apache 1.3.3

PerlをApacheモジュールとして動かしてしまうものです。CGIで動かしていたスクリプトが、これを導入するだけでオーバーヘッドが解消し、かなり高速になります。

00/2/19
・ libwww-perlをインストールするときsuに-を付けないとうまくインストールできない場合がある
・ DSOでインストールする方法を追加 

準備(libwww-perlのインストール)

libwww-perlが必要ですので先ずインストールします。今回はCPANモジュールを使ってダウンロード&インストールしてしまいました。CPANモジュール初回実行時は、ダウンロード先など色々聞かれるので、適当に答える必要があります。

$ su -

# perl -MCPAN -e shell

cpan> install Bundle::LWP

いろいろ聞かれますが、とりあえずリターン連打でインストール。

準備

今回はmod_perl本体はCPANモジュールを使わず手でダウンロードしてインストールしました。

$ tar xvfz mod_perl-1.16.tar.gz

$ cd mod_perl-1.16

Apacheのソースディレクトリに書き込んだり、Perlモジュールの追加が行われるので、rootになってからインストールします。

$ su

# perl Makefile.PL USE_APACI=1 APACHE_PREFIX=/usr/local/apache/

Will configure via APACI
Configure mod_perl with ../apache_1.3.3/src ? [y]
Shall I build httpd in ../apache_1.3.3/src for you? [y]

ちなみに、DSOでインストールする時は、以下のようにします。

# perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1

コンパイル

# make

これでApacheの再構築まで自動的に行われます。

インストール

# make test

# make install

この手順でインストールした場合、以前APACIでインストールした他のモジュールがインストールされていない状態になってしまうので、そういう場合は、もう一度再構築します。

# cd /usr/local/src/apache_1.3.3
# ./configure --activate-module=src/modules/perl/libperl.a --activate-module=src/modules/php3/libphp3.a

# make

# make install

設定

とりあえずCGI互換で動作させるには、.htaccesssrm.confに以下のように書きます。この例では、拡張子.cgiのファイルのみ、mod_perlを使って処理します。

<Files *.cgi>
SetHandler perl-script
PerlHandler Apache::Registry
PerlSendHeader On
</Files>