logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Authors

       •   Sebastian Riedel <sri@cpan.org>

       •   Christian Hansen <ch@ngmedia.com>

       •   Andy Grundman <andy@hybridized.org>

       •   Tomas Doran <bobtfish@bobtfish.net>

Description

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

Methods

ok_constant

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 );

Name

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

Overloaded Methods

       This class overloads some methods from "Catalyst::Engine".

       unescape_uri

See Also

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

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>

See Also