ModPerlEngineContrib
Permits Foswiki to be executed under mod_perl
Overview
This is a runtime engine component from
Foswiki Standalone architecture.
mod_perl is the
Perl API to the
Apache web server. It permits to hook applications
into Apache, providing good performance and great flexibility.
It has better performance than
CGI because it loads
and compile apps at apache initialization and apps are kept in memory as long
as apache itself, so there is no need to fork+load+compile all the code for
each request.
Installation Instructions
Install
ModPerlEngineContrib
either manually (download the package and extract its contents over your
foswiki directory) or using
configure script
(under
Extensions
section, push the
Find More Extensions
button).
Visit the
apache config generator
and fill the fields according to your environment. Select
mod_perl as your
Runtime Engine and choose your apache version. Push the
Update config file
button and you'll get your config file.
When installed for the first time, foswiki must be configured. Run
configure script before enabling this contrib
or else Apache will not start, reporting an error about missing
lib/LocalSite.cfg
In the web server configuration you will need to load mod_perl but it is also recommended to load the
Apache HTTP Request Library (module apreq).
If apreq is not loaded the following error may be encountered in certain situations e.g. during login:
apache2: symbol lookup error: /usr/lib/perl5/auto/APR/Request/Apache2/Apache2.so: undefined symbol: apreq_handle_apache2
Foswiki configuration tuning
Fork new processes under
mod_perl
can be very slow, so some configuration
changes are recommended.
Access the
configure script and click the
Yes, I've read all the documentation
button to show the expert settings.
Go to
Store Settings
:
Known Issues
- Apache must be restarted in order to configuration changes take effect.
- The
bin/configure
script is an exception and should be run as a plain CGI script. If you are using some extension that adds files to bin/
directory you should configure them to be run as plain CGI scripts: since they were not designed to be executed under mod_perl you may face problems. You can replace Files
directive by FilesMatch and list all the exceptions.
List of Files
File |
Description |
data/System/ModPerlEngineContrib.txt |
Documentation |
lib/Foswiki/Contrib/ModPerlEngineContrib.pm |
Perl module |
lib/Foswiki/Engine/Apache.pm |
Perl module |
lib/Foswiki/Engine/Apache/MP13.pm |
Perl module |
lib/Foswiki/Engine/Apache2.pm |
Perl module |
lib/Foswiki/Engine/Apache2/MP20.pm |
Perl module |
tools/mod_perl_startup.pl |
Perl script |
Info
Author(s): |
Foswiki:Main.GilmarSantosJr |
Copyright: |
© 2009 Gilmar Santos Jr and Foswiki Contributors |
License: |
GPL (Gnu General Public License) |
Version: |
5366 (2009-10-23) |
Release: |
0.9.2 |
Change History: |
|
03 Sep 2009 (0.9.2) |
Improved documentation regarding module apreq |
12 Apr 2009 (0.9.1) |
Improved documentation |
12 Jan 2009 (0.9.0) |
Initial Release |
Dependencies: |
Name | Version | Description |
---|
mod_perl | >=1.24 | Required if you're using Apache 1.3 | mod_perl2 | >=2.0 | Required if you're using Apache 2.x | Apache::Request | >=1.30 | Recommended if you're using Apache 1.3 | Apache2::Request | >=2.0 | Recommended if you're using Apache 2.x | CGI | >=3.11 | Required if you don't have Apache::Request or Apache2::Request. Otherwise not needed. | |
Home page: |
http://foswiki.org/Extensions/ModPerlEngineContrib |