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
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 AuthenGSS cdpf Generic Security Service (RFC 2078) DOUGM AuthenDBI bmpO Authenticate via Perl's DBI SKANE Authen bmpf Perl Apache authentication utilities SKANE AuthenDBIConnectbdpf Authenticate to backend database JGROV BasicCookieAuth cdpf Accept cookie or basic auth creds PMKANE AuthCookie cdpf Authen + Authz via cookies EBARTLEY * PerlAuthzHandler's AuthCookie cdpf Authen + Authz via cookies EBARTLEY 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 Session cmpf Maintain client <-> httpd session/state APML
APML The Apache/Perl Mailing List <modperl@listproc.itribe.net> BMILLETT Brian Millett <bpm@techapp.com> DOUGM Doug MacEachern <dougm@osf.org> EBARTLEY Eric Bartley <bartley@pdn.cc.purdue.edu> 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>