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 KWILLIAM Embperl bdcf Embed Perl in HTML GRICHTER ePerl bdpf Adaptation of 'ePerl' for mod_perl HMUELLER 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 AuthenGSS cdpf Generic Security Service (RFC 2078) DOUGM AuthenDBI bmpO Authenticate via Perl's DBI SKANE AuthenLDAP i LDAP authentication module MARKK Authen bmpf Perl Apache authentication utilities SKANE DBILogin bdpf Authenticate to backend database JGROENVEL AuthCookie bdpO Authen + Authz via cookies EBARTLEY BasicCookieAuth cdpf Accept cookie or basic auth creds PMKANE DCELogin bdpf Obtain a DCE login context DOUGM * 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 * Server Configuration ConfigLDAP i Config via LDAP and <Perl> MARKK ConfigDBI i Config via DBI and <Perl> MARKIM ModuleConfig cmcO Interface to configuration API DOUGM * Database DBI bmpO Persistent DBI connection mgmt. MERGL Sybase::DBlib bmpO Persistent DBlib connection mgmt. BMILLET Mysql cdpO Persistent connection mgmt. for Mysql NJENSEN * Misc Byterun i Run Perl bytecode modules DOUGM Constants Rmcf Constants defined in httpd.h APML Debug Rmpf mod_perl debugging utilities APML Include Rmpf mod_include + Apache::Registry handler APML OutputChain cmpO Chain output of stacked handlers HONZAP Options Rmpf Import Apache::Constants 'options' APML PUT cdpf HTTP PUT method handler module PLISTER Safe cmpO Adaptation of "safecgiperl" APML Scoreboard cmcO Interface to scoreboard API DOUGM Session cmpf Maintain client <-> httpd session/state APML SFIO i Interface to r->connection->client->sf* DOUGM State i Powerful state engine RSE
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> HMUELLER Hanno Mueller <hmueller@mail.kabel.de> HONZAP Honza Pazdziora <adelton@INFORMATICS.MUNI.CZ> JGROV John D Groenveld <groenvel@cse.psu.edu> JROWE Jeff Rowe <beowulf@cscsun4.larc.nasa.gov> KWILLIAM Ken Williams <ken@forum.swarthmore.edu> MARKIM Mark A. Imbriaco <mark@itribe.net> MARKK Mark Kennedy <mtk@ny.ubs.com> MERGL Edmund Mergl <E.Mergl@bawue.de> NJENSEN Neil Jensen <njensen@habaneros.com> PLISTER Peter Lister <p.lister@cranfield.ac.uk> PMKANE Patrick Michael Kane <modus@enews.com> ROBH Rob Hartill <robh@imdb.com> RSE Ralf S. Engelschall <rse@engelschall.com> SKANE Stephen E Kane <sek112@ELVIS.ARL.PSU.EDU>