package Catalyst::Engine::Apache2::MP20; BEGIN { $Catalyst::Engine::Apache2::MP20::AUTHORITY = 'cpan:BOBTFISH'; } BEGIN { $Catalyst::Engine::Apache2::MP20::VERSION = '1.16'; } # ABSTRACT: Catalyst Apache2 mod_perl 2.x Engine use strict; use warnings; use base 'Catalyst::Engine::Apache2'; use Apache2::Connection (); use Apache2::Const -compile => qw(OK); use Apache2::RequestIO (); use Apache2::RequestRec (); use Apache2::RequestUtil (); use Apache2::Response (); use Apache2::URI (); use APR::Table (); # We can use Apache2::ModSSL to better detect if we're running in SSL mode eval { require Apache2::ModSSL }; sub ok_constant { Apache2::Const::OK } sub unescape_uri { my ( $self, $str ) = @_; $str =~ s/\+/ /g; return Apache2::URI::unescape_url($str); } 1; __END__ =pod =encoding utf-8 =head1 NAME Catalyst::Engine::Apache2::MP20 - Catalyst Apache2 mod_perl 2.x Engine =head1 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 ServerName myapp.hostname.com DocumentRoot /var/www/MyApp/root SetHandler modperl PerlResponseHandler MyApp # you can also run your app in any non-root location SetHandler perl-script PerlResponseHandler MyApp # 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) SetHandler default-handler # 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 allow from all SetHandler default-handler =head1 DESCRIPTION This is the Catalyst engine specialized for Apache2 mod_perl version 2.x. =head1 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/ Options +ExecCGI SetHandler perl-script PerlResponseHandler ModPerl::Registry 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 ); =head1 METHODS =head2 ok_constant =head1 OVERLOADED METHODS This class overloads some methods from C. =over 4 =item unescape_uri =back =head1 OVERLOADED METHODS This class overloads some methods from C. =over 4 =item unescape_uri =back =head1 SEE ALSO L, L, L. =head1 AUTHORS =over 4 =item * Sebastian Riedel =item * Christian Hansen =item * Andy Grundman =item * Tomas Doran =back =head1 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. =cut