package Jifty::Script::ModPerl2; use strict; use warnings; use Apache2::Const -compile => qw(OK); use Jifty::Everything; use CGI; # XXX: can we turn it into a command line script and at the same time use it as # as handler? =head1 NAME Jifty::Script::ModPerl2 - a ModPerl2 handler for your jifty app. =head1 SYNOPSIS DocumentRoot /path/to/base/dir/of/app SetHandler perl-script PerlHandler Jifty::Script::ModPerl2 Not a command line script. Read --man for more info. =head1 DESCRIPTION This handler should be used with Apache2 and ModPerl2. It requires the DocumentRoot of its VirtualHost to be set to the base directory of your jifty application. Here is the relevant minimal httpd.conf section: DocumentRoot /path/to/base/dir/of/app SetHandler perl-script PerlHandler Jifty::Script::ModPerl2 It would not necessarily need to be a VirtualHost- could be a Directory, and should configure about the same. TODO: This should be set up to serv the static files without mod_perl. =head1 METTHODS =head2 handler The mod_perl handler for the app =cut sub handler { ## # Fire up jifty chdir($ENV{'DOCUMENT_ROOT'}); Jifty->new() unless (Jifty->handler()); ## # Fix the path to work with CGI $ENV{'PATH_INFO'} = $ENV{'REQUEST_URI'}; my $cgi = new CGI; Jifty->handler->handle_request(cgi => $cgi); ## # Oll Korrect return Apache2::Const::OK; } 1;