perl で書かれた Web ベースのオープン ソース アプリケーションを実行している場合は、Apache を CGI として実行するのではなく、mod_perl を使用する必要があります。 mod_perl は、CGI を使用して Web アプリケーションを実行するよりもはるかに高速です。
この記事では、mod_perl を Apache 2 にインストールする方法について説明します。
Apache 2 をまだインストールしていない場合は、最初にインストールします。
1. mod_perl をダウンロード
以下に示すように、perl.apache.org から mod_perl をダウンロードします。
# cd ~ # wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz # tar xvfz mod_perl-2.0-current.tar.gz # cd mod_perl-2.0.4/
2. Apache2 で mod_perl を構成する
以下に示すように、Apache 2 インストールの場所を mod_perl に指定します。
# perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs Reading Makefile.PL args from @ARGV MP_APXS = /usr/local/apache2/bin/apxs no conflicting prior mod_perl version found - good. Configuring Apache/2.2.15 mod_perl/2.0.4 Perl/v5.8.8 Checking if your kit is complete... Looks good Writing Makefile for ModPerl Writing Makefile for ModPerl::XS Writing Makefile for mod_perl2
注:「libgdbm.so was not found. /usr/lib/libgdbm.so.2.0.0」メッセージにシンボリック リンクするだけで、以下に示すように gdbm-devel パッケージをインストールできます。
# rpm -ivh gdbm-devel-1.8.0-26.2.1.i386.rpm # rpm -qa | grep gdbm gdbm-devel-1.8.0-26.2.1 gdbm-1.8.0-26.2.1
この段階では、mod_perl はまだインストールされていません。これは、Apache 2 モジュール ディレクトリの内容を確認することで確認できます。
# /usr/local/apache2/bin/apxs -q LIBEXECDIR /usr/local/apache2/modules # ls -l /usr/local/apache2/modules/ total 16512 -rw-r--r-- 1 root root 9083 May 18 09:59 httpd.exp -rwxr-xr-x 1 root root 16871365 May 19 03:44 libphp5.so
3. mod_perl の作成とインストール
まず、make テストを行って、すべてが適切に見えることを確認します。
# make test t/special_blocks.t ... ok All tests successful. Files=20, Tests=84, 14 wallclock secs ( 0.17 usr 0.06 sys + 9.10 cusr 1.46 csys = 10.79 CPU) Result: PASS
最後に、make install を実行して mod_perl を Apache2 にインストールします。
# make install Installing /usr/share/man/man3/Apache::TestReport.3pm Installing /usr/share/man/man3/ModPerl::Global.3pm Installing /usr/bin/mp2bug Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod +--------------------------------------------------------------+ | | | For details on getting started with mod_perl 2, see: | | | | http://perl.apache.org/docs/2.0/user/intro/start_fast.html | | | | | | Found a bug? File a bug report: | | | | http://perl.apache.org/bugs/ | | | +--------------------------------------------------------------+
4. httpd.conf を変更して Apache を再起動
以下に示すように、httpd.conf を変更して mod_perl.so をロードします
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Apache を再起動します。
# /usr/local/apache2/bin/apachectl restart
5. mod_perl がインストールされていることを確認します
すべてが順調に進むと、Apache モジュール ディレクトリの下に mod_perl.so が表示されます。
# ls -l /usr/local/apache2/modules/ total 17752 -rw-r--r-- 1 root root 9083 May 18 09:59 httpd.exp -rwxr-xr-x 1 root root 16871365 May 19 03:44 libphp5.so -rwxr-xr-x 1 root root 1264743 Jun 21 10:01 mod_perl.so
以下に示すように、Apache error_log にも mod_perl がインストールされていることが示されます。
# tail /usr/local/apache2/logs/error_log [notice] Apache/2.2.15 (Unix) PHP/5.3.2 mod_perl/2.0.4 Perl/v5.8.8 configured