読者です 読者をやめる 読者になる 読者になる

Fedora Core 5 上でのmod_perlのセットアップ

Perl Apache

オリジナルは、naoyaの「10分で完了、mod_perl 2.0 で Hello, World!」d:id:naoya:20060108:1136692447

/etc/httpd/conf.d/naoya.conf という名前で以下を作成

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName fc5:80

    PerlModule mod_perl
    PerlRequire /var/www/mod_perl/startup.pl
    PerlModule Sandbox::Hello
    <Location />
        SetHandler perl-script
        PerlResponseHandler Sandbox::Hello
    </Location>
</VirtualHost>

/var/www/mod_perl/startup.pl を以下の内容で作成。

#!/usr/local/bin/perl
use strict;
use warnings;
use lib qw (/var/www/mod_perl/lib);

1;

/var/www/mod_perl/lib/Sandbox/Hello.pm を以下の内容で作成。

package Sandbox::Hello;
use strict;
use warnings;
use Apache2::RequestRec;
use Apache2::RequestIO;
use Apache2::Const -compile => 'OK';

sub handler : method {
    my ($class, $r) = @_;
    $r->content_type('text/plain');
    $r->print('Hello, World');
    return Apache2::Const::OK;
}

1;

apache を再起動して、http://localhost/で動作確認。

Apache2::Request を使いたくなったら

$ sudo perl -MCPAN -e shell
cpan> install ExtUtils::XSBuilder
yum install perl-libapreq2

/etc/httpd/conf/naoya.conf に以下を追加

LoadModule apreq_module modules/mod_apreq2.so

/var/www/mod_perl/lib/Sandbox/Hello.pm を以下の内容で作成。

package Sandbox::Hello;
use strict;
use warnings;

use Apache2::RequestRec();
use Apache2::RequestIO();
use Apache2::Const -compile => 'OK';

sub handler : method {
    my ($class, $r) = @_;
    $r->content_type('text/plain');
    $r->print('Hello, World!');
    return Apache2::Const::OK;
}

1;

apache を再起動。