The Apache/Perl Module List

Maintained by Doug MacEachern,
$Revision: 1.17 $ $Date: 1997/04/01 04:15:11 $

Contents

Introduction
Playing Your Part
The Apache/Perl Modules
Where Are The Modules Kept?
Contacts
More Info

Introduction

The Apache/Perl module list is here for the same reason as the main Perl module list, to change duplication of effort into cooperation and help to save the world! Apache/Perl modules are somewhat different from the many others found on CPAN. Most Perl modules are "building blocks", developers use them to build applications or even more building blocks. It just so happens that Apache/Perl modules are encapsulted inside a namespace and .pm file. However, this does not make them all building blocks, many are just like apache modules written in C, you install, edit the server configuration files and you're done. Before you start a new module, consider this: Apache/Perl modules are useless outside of mod_perl and Apache. Do your best to design such that your Apache::* module will make good use of the building blocks found on CPAN, putting together new building blocks where appropriate and simply glue them together with the Apache API, keeping the Apache::* modules very small.

These modules will also serve as good examples, showing you where modules can step in during a stage of a request with Perl*Handler callbacks. You'll also see how and when to use the Apache API methods.

Playing Your Part

Apache and Perl are world-wide collaborative efforts, naturally, the Apache/Perl integration project is the same.
You've started on the right foot simply by reading this document, thanks!
Please be sure you've read the main
Perl module list, all that is said there is relevant here!

If you have any additions or changes for the list, please send them to the Apache/Perl mailing list or to me.

If you wish to share you module(s) the Perl way, by putting them on CPAN, send a request to me or modules@perl.com to get set up with a PAUSE user id and directory.

HINT: For a nice set of template files try this:

% h2xs -AX -n Apache::YourPackageName

The Apache/Perl modules

Apache::

* PerlHandler's
Registry	Rmpf	Run unaltered CGI scripts 		APML
Status		Rmpf	Embedded interpreter runtime status	APML
SSI		bmpO	Implement server-side includes in Perl	APML
Embperl		bdcf	Embed Perl in HTML			GRICHTER
ePerl		bdpf	Adaptation of 'ePerl' for mod_perl	MARKIM
FTP		i	Full-fledged FTP proxy			PMKANE
WDB		cdpf	Database query/edit tool using DBI	JROWE

* PerlHeaderParserHandler's
AgentDeny	bdpf	Deny abusive User-Agents		ROBH

* PerlAuthenHandler's
DCELogin	bdpf	Obtain a DCE login context		DOUGM
AuthenDBI	bmpO	Authenticate via Perl's DBI		SKANE
Authen		bmpf	Perl Apache authentication utilities	SKANE
AuthenDBIConnectbdpf	Authenticate to backend database 	JGROV

* PerlAuthzHandler's
AuthzAge	bmpf	Authorize based on age			APML
AuthzDCE	cdpf	DFS/DCE ACL based access control	DOUGM
RoleAuthz	i	Role-based authorization		DOUGM

* PerlAccessHandler's
AccessLimitNum	bmpf	Limit user access by number of requests	APML

* PerlTypeHandler's
AcceptLanguage	bdpf	Send file type based on language pref	ROBH
 
* PerlTransHandler's    (May also include a PerlHandler)
DynaRPC		i	Dynamically translate URIs into RPCs	DOUGM
MsqlProxy	bmpf	Translate URI's into mSQL queries	APML
ProxyPassThru	bdpO	Skeleton for vanilla proxy		DOUGM
ProxyCache	i	Caching proxy				DOUGM
Junction	i	Mount remote webserver namespace	DOUGM

* PerlFixupHandler's
HttpEquiv	bdpf	HTML HTTP-EQUIV tags to HTTP headers	ROBH

* PerlLogHandler's
DumpHeaders	bdpf	Watch HTTP transaction via headers	DOUGM

* Misc
DBI		bmpO	Persistent database connection mgmt.	MERGL
Sybase::DBlib   bmpO    Persistent DBlib connection mgmt.	BMILLET
Constants	Rmcf	Constants defined in httpd.h		APML
Options		Rmpf	Import Apache::Constants 'options'	APML
Debug		Rmpf	mod_perl debugging utilities		APML
Scoreboard	cmcO	Interface to scoreboard API		DOUGM
ModuleConfig	cmcO	Interface to configuration API		DOUGM

Where Are The Modules Kept?

Modules listed with the APML as is contact are part of the mod_perl distribution package. Other modules can be found on CPAN the
modules/by-module/Apache/ directory. If they have not made it to CPAN yet, they might be found in the mod_perl contrib directory, otherwise feel free to ask the contact author or the list how you can go about getting your hands on a copy.

Contacts

APML	 The Apache/Perl Mailing List <modperl@listproc.itribe.net>
BMILLETT Brian Millett 
DOUGM	 Doug MacEachern <dougm@osf.org>
GRICHTER Gerald Richter <richter@ecos.de>
JGROV	 John D Groenveld <groenvel@cse.psu.edu>
JROWE	 Jeff Rowe <beowulf@cscsun4.larc.nasa.gov>
MARKIM	 Mark A. Imbriaco <mark@itribe.net>
MERGL	 Edmund Mergl <E.Mergl@bawue.de>
PMKANE	 Patrick Michael Kane <modus@enews.com>
ROBH	 Rob Hartill <robh@imdb.com>
SKANE    Stephen E Kane <sek112@ELVIS.ARL.PSU.EDU>

More Info

See the Apache/Perl
homepage.