[perl] mod_perl2導入 | 渋谷で働くWeb系営業マン おまるのブログ

[perl] mod_perl2導入

まず、mod_perl2には2つの使い方がある。

・Registryモード
ModPerl::Registryを利用。
1回目の起動でメモリー上にキャッシュされるモード。
起動/実行共に一番速いが、use strictなコードでないと変数の内容も
キャッシュされる。

・PerlRunモード
キャッシュされないけど起動が多少速い
ModPerl::PerlRunを利用。
CGI向けに書いたコードの移植向け。


■インストール方法(ubuntu)
sudo apt-get install libapache2-mod-perl2
cpan からApache::DBIをインストール

■設定
sudo vi /etc/apache2/conf.d/mods-available/perl.conf

# Load Modules
PerlModule Apache::DBI CGI DBD::mysql

# 'Registry' Mode
<Files *.mcgi>
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
</Files>

# 'PerlRun' Mode
<Files *.mpl>
SetHandler perl-script
PerlHandler ModPerl::PerlRun
PerlSendHeader On
Options +ExecCGI
</Files>

sudo ln -s /etc/apache2/conf.d/mods-enabled/perl.conf /etc/apache2/conf.d/mods-available/perl.conf
sudo /etc/init.d/apache2 restart

■動作確認
vi /var/www/html/test.mcgi

#!/usr/bin/perl
use strict;
use warnings;
print "Content-Type: text/html\n\n";
print $ENV{'MOD_PERL'};

ブラウザから実行して

mod_perl/2.04

のように表示されればOK。