The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Catalyst::Engine::Apache2::MP20 - Catalyst Apache2 mod_perl 2.x Engine

SYNOPSIS

# Set up your Catalyst app as a mod_perl 2.x application in httpd.conf
PerlSwitches -I/var/www/MyApp/lib

# Preload your entire application
PerlModule MyApp

<VirtualHost *>
    ServerName    myapp.hostname.com
    DocumentRoot  /var/www/MyApp/root

    <Location />
        SetHandler          modperl
        PerlResponseHandler MyApp
    </Location>

    # you can also run your app in any non-root location
    <Location /some/other/path>
        SetHandler          perl-script
        PerlResponseHandler MyApp
    </Location>

    # Make sure to let Apache handle your static files
    # (It is not necessary to remove the Static::Simple plugin
    # in production; Apache will bypass Static::Simple if
    # configured in this way)

    <Location /static>
        SetHandler          default-handler
    </Location>

    # If not running at a root location in a VirtualHost,
    # you'll probably need to set an Alias to the location
    # of your static files, and allow access to this location:

    Alias /myapp/static /filesystem/path/to/MyApp/root/static
    <Directory /filesystem/path/to/MyApp/root/static>
        allow from all
    </Directory>
    <Location /myapp/static>
        SetHandler default-handler
    </Location>

</VirtualHost>

DESCRIPTION

This is the Catalyst engine specialized for Apache2 mod_perl version 2.x.

ModPerl::Registry

While this method is not recommended, you can also run your Catalyst application via a ModPerl::Registry script.

httpd.conf:

PerlModule ModPerl::Registry
Alias / /var/www/MyApp/script/myapp_registry.pl/

<Directory /var/www/MyApp/script>
    Options +ExecCGI
</Directory>

<Location />
    SetHandler          perl-script
    PerlResponseHandler ModPerl::Registry
</Location>

script/myapp_registry.pl (you will need to create this):

#!/usr/bin/perl

use strict;
use warnings;
use MyApp;

MyApp->handle_request( Apache2::RequestUtil->request );

METHODS

ok_constant

OVERLOADED METHODS

This class overloads some methods from Catalyst::Engine.

unescape_uri

OVERLOADED METHODS

This class overloads some methods from Catalyst::Engine.

unescape_uri

SEE ALSO

Catalyst, Catalyst::Engine, Catalyst::Engine::Apache2.

AUTHORS

  • Sebastian Riedel <sri@cpan.org>

  • Christian Hansen <ch@ngmedia.com>

  • Andy Grundman <andy@hybridized.org>

  • Tomas Doran <bobtfish@bobtfish.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by The "AUTHORS".

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.