前回、Perl5.8系をインストール完了しましたので、今回はmod_perlのインストールを行います。

mod_perlはこちらのmodperlからダウンロードが可能です。
※前提条件としてapache2が/usr/local/apache2にインストールされているとします。

インストールは下記のようになります。

wget http://perl.apache.org/dist/mod_perl-2.0.5.tar.gz

perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
make test
make install

perlのインストール時に下記のオプションを指定しないと、make時に次のようなエラーとなります。

-de -Accflags=’-fPIC’

/usr/bin/ld: /usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32 against ’.rodata.str1.1’ can not be used when making a shared object; recompile with -fPIC
/usr/local/perl-5.8/lib/5.8.9/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[1]: *** [mod_perl.so] エラー 1

そして、インストールが完了すると下記にmod_perl.soが生成されます。

/usr/local/apache2/modules/

また、httpd.confには下記を追加します。

LoadModule perl_module modules/mod_perl.so

Files *.cgi
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
/Files

mod_perlの確認としては、cgi-bin以下のprintenvをprintenv.cgiに変更して、ブラウザよりアクセスすると、下記のように表示され、mod_perlとperlの確認ができます。

SERVER_SOFTWARE=”Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_perl/2.0.5 Perl/v5.8.9″

こちらの記事はなかの人(be_hase)監修のもと掲載しています。
元記事は、こちら