Permits Foswiki to be executed under mod_perl


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.

ALERT! 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/ 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/ Perl module
lib/Foswiki/Engine/ Perl module
lib/Foswiki/Engine/Apache/ Perl module
lib/Foswiki/Engine/ Perl module
lib/Foswiki/Engine/Apache2/ Perl module
tools/ Perl script


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
mod_perl>=1.24Required if you're using Apache 1.3
mod_perl2>=2.0Required if you're using Apache 2.x
Apache::Request>=1.30Recommended if you're using Apache 1.3
Apache2::Request>=2.0Recommended if you're using Apache 2.x
CGI>=3.11Required if you don't have Apache::Request or Apache2::Request. Otherwise not needed.
Home page:

Topic revision: r1 - 23 Oct 2009, UnknownUser

This site is powered by FoswikiCopyright © 2013-2020 by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback