| <html> |
| <head> |
| <title>The Apache/Perl Module List</title> |
| <!-- Changed by: Doug MacEachern, 22-Jul-1998 --> |
| <!-- Changed by: Gerald Richter, 12-Aug-1998 --> |
| </head> |
| <body> |
| <h1>The Apache/Perl Module List</h1> |
| |
| Maintained by <a href="mailto:dougm@pobox.com">Doug MacEachern</a>, |
| <br><i> $Revision$ $Date$</i> |
| |
| <h3>Contents</h3> |
| <a href="#intro">Introduction</a><br> |
| <a href="#part">Playing Your Part</a><br> |
| <a href="#modules">The Apache/Perl Modules</a><br> |
| <a href="#where">Where Are The Modules Kept?</a><br> |
| <a href="#contacts">Contacts</a><br> |
| <a href="#info">More Info</a><br> |
| <p> |
| <h3><a name="intro">Introduction</a></h3> |
| The Apache/Perl module list is here for the same reason as the |
| main <a href="http://www.perl.com/CPAN/modules/00modlist.long.html"> |
| Perl module list</a>, 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 <b>Apache::*</b> 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 <b>Apache::*</b> modules very small. |
| <p> |
| These modules will also serve as good examples, showing you where modules |
| can step in during a stage of a request with <b>Perl*Handler</b> callbacks. |
| You'll also see how and when to use the Apache API methods. |
| |
| <h3><a name="part">Playing Your Part</a></h3> |
| Apache and Perl are world-wide collaborative efforts, naturally, the |
| Apache/Perl integration project is the same.<br> |
| You've started on the right foot simply by reading this document, thanks!<br> |
| Please be sure you've read the |
| main <a href="http://www.perl.com/CPAN/modules/00modlist.long.html"> |
| Perl module list</a>, all that is said there is relevant here! |
| <p> |
| If you have any additions or changes for the list, please send them to |
| the Apache/Perl <a href="mailto:modperl@apache.org"> mailing list </a> |
| or to <a href="mailto:dougm@pobox.com">me</a>. |
| <p> |
| If you wish to share you module(s) the Perl way, by putting them on CPAN, |
| send a request to <a href="mailto:dougm@pobox.com">me</a> or |
| <a href="mailto:modules@perl.com">modules@perl.com</a> to get set up with a |
| PAUSE user id and directory. |
| <p> |
| <b>HINT</b>: For a nice set of template files try this: |
| <pre> |
| % h2xs -AX -n Apache::YourPackageName |
| </pre> |
| |
| <h3><a name="modules">The Apache/Perl modules</a></h3> |
| <pre> |
| Apache:: |
| |
| * PerlHandler's |
| Archive i List archive contents PETERSON |
| ASP bdpO Implement Active Server Pages CHAMAS |
| BBS bdpO BBS like System for Apache MKOSS |
| CallHandler cdpf Map filenames to subroutine calls GKNOPS |
| Cachet i OutputChain with caching MERLYN |
| Dir i OO (subclassable) mod_dir replacement DOUGM |
| <a href="http://perl.apache.org/embperl/">Embperl</a> Rmcf Embed Perl in HTML GRICHTER |
| ePerl Rdpr Fast emulated Embedded Perl (ePerl) RSE |
| FTP i Full-fledged FTP proxy PMKANE |
| Gateway bdpf A multiplexing gateway CCWF |
| GzipChain bmpf Compress files on the fly ANDK |
| IDC_HTX i PTI |
| JavaScript bdpf Generate JavaScript code ABH |
| Layer bdpf Layer content tree over one or more SAM |
| ModuleDoc bdpf Self documentation for Apache C modules DOUGM |
| OutputChain bmpO Chain output of stacked handlers JANPAZ |
| PassFile bdpf Send file via OutputChain ANDK |
| PerlRun bmpf Run unaltered CGI scripts APML |
| PrettyText bdpf Re-format .txt files for client display CHTHORMAN |
| RandomLocation bdpf Random image display MDARWIN |
| Registry Rmpf Run unaltered CGI scripts APML |
| RobotRules bdpf Enforce robot rules (robots.txt) PARKER |
| Sandwich bmpf Layered document (sandwich) maker VKHERA |
| VhostSandwich bdpf Virtual host layered document maker MARKC |
| SSI bmpO Implement server-side includes in Perl KWILLIAM |
| SSIChain bmpO SSI on other modules output JANPAZ |
| Stage bdpf Manage a document staging directory ANDK |
| TarGzip c ZENIN |
| TimedRedirect bdpf Redirect urls for a given time period PETERM |
| UploadSvr bdpO A lightweight publishing system ANDK |
| WDB bdpf Database query/edit tool using DBI JROWE |
| WebSQL cdpO Adaptation of Sybase's WebSQL GUNTHER |
| |
| * PerlHeaderParserHandler's |
| AgentDeny bdpf Deny abusive User-Agents ROBH |
| |
| * PerlAuthenHandler's |
| AuthAny bdpf Authenticate with any username/password DOUGM |
| Authen bmpf Perl Apache authentication utilities SKANE |
| AuthenCache bmpf Cache authentication credentials JBODNAR |
| AuthCookie bdpO Authen + Authz via cookies EBARTLEY |
| AuthenDBI bmpO Authenticate via Perl's DBI MERGL |
| AuthExpire i Expire Basic auth credentials DOUGM |
| AuthenGSS cdpf Generic Security Service (RFC 2078) DOUGM |
| AuthenIMAP bdpf Authentication via an IMAP server MICB |
| AuthenPasswdSrv bdpf External authentication server JEFFH |
| AuthLDAP bdpf LDAP authentication module CDONLEY |
| AuthNIS bdpf NIS authentication and authorization DOUGM |
| AuthNISPlus bdpF NIS Plus authentication/authorizattion VALERIE |
| AuthenRaduis bdpf Authentication via a Radius server DANIEL |
| AuthenSmb bdpf Authenticate against NT server PARKER |
| AuthenURL bdpf Authenticate via another URL JGROENVEL |
| BasicCookieAuth cdpf Accept cookie or basic auth creds PMKANE |
| DBILogin bdpf Authenticate to backend database JGROENVEL |
| DCELogin bdpf Obtain a DCE login context DOUGM |
| PHLogin bdpf Authenticate via a PH database JGROENVEL |
| |
| * 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 |
| AuthzDBI bmpO Group authorization via Perl's DBI MERGL |
| AuthNIS bdpf NIS authentication and authorization DOUGM |
| RoleAuthz i Role-based authorization DOUGM |
| |
| * PerlAccessHandler's |
| AccessLimitNum bmpf Limit user access by number of requests APML |
| DayLimit bmpf Limit access based on day of week APML |
| RobotLimit bdpf Limit access of robots PARKER |
| |
| * 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 |
| Junction i Mount remote webserver namespace DOUGM |
| LowerCaseGETs bdpf Lowercase URI's when needed PLISTER |
| MsqlProxy bmpf Translate URI's into mSQL queries APML |
| ProxyPass bdpf Perl implementation of ProxyPass MJS |
| ProxyPassThru bdpO Skeleton for vanilla proxy RMANGI |
| ProxyCache i Caching proxy DOUGM |
| Throttle bdpf Speed-based content negotiation DONS |
| TransLDAP bdpf Translate URIs to LDAP queries CDONLEY |
| |
| * PerlFixupHandler's |
| HttpEquiv bdpf HTML HTTP-EQUIV tags to HTTP headers ROBH |
| Timeit bmpf Benchmark PerlHandlers APML |
| Usertrack bdpf Perl version of mod_usertrack ABH |
| |
| * PerlLogHandler's |
| DBILogConfig bdpf Custom format logging via DBI JBODNAR |
| DBILogger bdpf Logging via DBI ABH |
| DumpHeaders bdpf Watch HTTP transaction via headers DOUGM |
| Traffic bdpf Logs bytes transferred, per-user basis MAURICE |
| WatchDog c Look for problematic URIs DOUGM |
| |
| * PerlChildInitHandler's |
| Resource bmpf Limit resources used by httpd children APML |
| |
| * Server Configuration |
| ConfigLDAP i Config via LDAP and <Perl> MARKK |
| ConfigDBI i Config via DBI and <Perl> MARKIM |
| ModuleConfig bmcO Interface to configuration API APML |
| PerlSections bmpO Utilities for <Perl> sections APML |
| httpd_conf bmpO Methods to configure and run an httpd APML |
| src ampO Finding and reading bits of source APML |
| |
| * Database |
| DBI bmpO Persistent DBI connection mgmt. MERGL |
| Sybase::DBlib bmpO Persistent DBlib connection mgmt. BMILLET |
| Sybase::CTlib bapO Persistent CTlib connection mgmt. MDOWNING |
| Mysql bdpO Persistent connection mgmt. for Mysql NJENSEN |
| |
| * Interfaces and integration with various Apache C modules |
| Constants Rmcf Constants defined in httpd.h APML |
| ExtUtils bmpO Utils for Apache:C/Perl glue APML |
| Include Rmpf mod_include + Apache::Registry handler APML |
| Global cmcO Access to server global variables APML |
| Log bmcO ap_log_error interface APML |
| LogFile cmcO Interface to Apache's piped logs, etc. DOUGM |
| Mime bmcf Interface to mod_mime functionality MDORMAN |
| Module bmcO Interface to Apache C module structures DOUGM |
| Options Rmpf Import Apache::Constants 'options' APML |
| Scoreboard cmcO Interface to scoreboard API DOUGM |
| Servlet ampO Interface to the Java Servlet engine IKLUFT |
| Sfio cmcO Interface to r->connection->client->sf* DOUGM |
| Tie bmcO Tie interfaces to Apache structures APML |
| URI bmfO URI component parsing and unparsing APML |
| Util bmcf Interface to Apache's util*.c functions APML |
| |
| * Development and Debug tools |
| Debug Rmpf mod_perl debugging utilities APML |
| DProf bmcf Hook Devel::DProf into mod_perl DOUGM |
| FakeRequest ampO Implement Apache methods off-line APML |
| Peek amcf Devel::Peek for mod_perl APML |
| SawAmpersand bmpf Make sure noone is using $&, $' or $` APML |
| SizeLimit bmpf Graceful exit for large children DOUGB |
| SmallProf bmpf Hook Devel::SmallProf into mod_perl DOUGM |
| StatINC bmpf Reload require'd files when updated APML |
| Status Rmpf Embedded interpreter runtime status APML |
| Symbol bmcO Things for symbol things APML |
| test Rmpf Handy routines for 'make test' scripts APML |
| |
| * Misc |
| Byterun i Run Perl bytecode modules DOUGM |
| Icon idcO Access to AddIcon* configuration DOUGM |
| Mmap bdcf Share data via Mmap module FLETCH |
| ParseLog bdpO OO interface to Apache log files AKIRA |
| Persistent bdpO Store data via IPC::, DBI, or disk DOUGM |
| PUT cdpf HTTP PUT method handler module SORTIZ |
| RegistryLoader bmpf Apache::Registry startup script loader APML |
| Request bmpO CGI.pm functionality using API methods LDS |
| Safe ampO Adaptation of "safecgiperl" APML |
| Session bmpO Maintain client <-> httpd session/state JBAKER |
| SIG amoO Signal handlers for mod_perl APML |
| State i Powerful state engine RSE |
| TempFile bdpf Manage temporary files TOMHUGHES |
| |
| </pre> |
| <h3><a name="where">Where Are The Modules Kept?</a></h3> |
| Modules listed with the <b>APML</b> as is contact are part of the |
| mod_perl distribution package. Other modules can be found on CPAN |
| the <a href="http://www.perl.com/CPAN/modules/by-module/Apache/"> |
| modules/by-module/Apache/</A> directory. If they have not made it |
| to CPAN yet, they might be found in the mod_perl |
| <a href="http://perl.apache.org/src/contrib/">contrib</a> |
| directory, which is also tar'd and distributed via CPAN in the |
| <a href="http://www.perl.com/CPAN/modules/by-module/Apache/"> |
| modules/by-module/Apache/</A> directory. |
| Otherwise, feel free to ask the contact author or the list |
| how you can go about getting your hands on a copy. |
| |
| <h3><a name="contacts">Contacts</a></h3> |
| <pre> |
| ABH Ask Bjørn Hansen <ask@netcetera.dk> |
| AKIRA Akira Hangai <akira@discover-net.net> |
| ANDK Andreas König <a.koenig@franz.ww.TU-Berlin.DE> |
| APML The Apache/Perl Mailing List <modperl@apache.org> |
| BMILLETT Brian Millett <bpm@techapp.com> |
| CCWF Charles C. Fu &lt;ccwf@bacchus.com&gt; |
| CDONLEY Clayton Donley <donley@wwa.com> |
| CHAMAS Joshua Chamas <chamas@alumni.stanford.org> |
| CHTHORMAN Chris Thorman <chris@thorman.com> |
| DANIEL Daniel <daniel-authenradius@electricrain.com> |
| DONS Don Schwarz <don@dons.xnet.com> |
| DOUGB Doug Bagley <doug@dejanews.com> |
| DOUGM Doug MacEachern <dougm@pobox.com> |
| EBARTLEY Eric Bartley <bartley@osd.cc.purdue.edu> |
| FLETCH Mike Fletcher <lemur1@mindspring.com> |
| GKNOPS Gerd Knops <gerti@BITart.com> |
| GRICHTER Gerald Richter <richter@ecos.de> |
| GUNTHER Gunther Birznieks <gunther@nhgri.nih.gov> |
| HMUELLER Hanno Mueller <hmueller@mail.kabel.de> |
| IKLUFT Ian Kluft <ikluft@cisco.com> |
| JANPAZ Honza Pazdziora <adelton@informatics.muni.cz> |
| JBAKER Jeffrey Baker <jeff@godzilla.tamu.edu> |
| JBODNAR Jason Bodnar <jcbodnar@mail.utexas.edu> |
| JGROV John D Groenveld <jdg117@elvis.arl.psu.edu> |
| JEFFH Jeffrey Hulten <jeffh@premier1.net> |
| JROWE Jeff Rowe <beowulf@lava.net> |
| KWILLIAM Ken Williams <ken@forum.swarthmore.edu> |
| LDS Lincoln D. Stein <lstein@genome.wi.mit.edu> |
| MARKC Mark Constable <markc@goldcoast.org> |
| MARKIM Mark A. Imbriaco <mark@itribe.net> |
| MARKK Mark Kennedy <mtk@ny.ubs.com> |
| MAURICE Maurice Aubrey <maurice@hevanet.com> |
| MDARWIN Matthew Darwin <matthew@davin.ottawa.on.ca> |
| MDORMAN Michael Alan Dorman <mdorman@calder.med.miami.edu> |
| MDOWNING Mark Downing <mdowning@rdatasys.com> |
| MERGL Edmund Mergl <E.Mergl@bawue.de> |
| MERLYN Randal L. Schwartz <merlyn@stonehenge.com> |
| MJS Michael Smith <mjs@iii.co.uk> |
| MKOSS Max Kossatzmax <kossatz@thing.at> |
| MICB Malcolm Beattie <mbeattie@sable.ox.ac.uk> |
| NJENSEN Neil Jensen <njensen@habaneros.com> |
| PARKER Michael Parker <parker@austx.tandem.com> |
| PETERM Peter Marshall <peterm@pageactive.com> |
| PETERSON Jonathan Peterson <jon@amxstudios.com> |
| PLISTER Peter Lister <p.lister@cranfield.ac.uk> |
| PMKANE Patrick Michael Kane <modus@pr.es.to> |
| PTI Peter Tillemans <pti@pandora.be> |
| RMANGI Rick Mangi <rmangi@tgix.com> |
| ROBH Rob Hartill <robh@imdb.com> |
| RSE Ralf S. Engelschall <rse@engelschall.com> |
| SAM Simon Matthews <sam@peritas.com> |
| SKANE Stephen E Kane <sek112@elvis.arl.psu.edu> |
| SORTIZ Salvador Ortiz <sortiz@sog@msg.com.mx> |
| TOMHUGHES Tom Hughes <tom@compton.demon.co.uk> |
| VALERIE Valerie Delane <valerie@savina.com> |
| VKHERA Vivek Khera <vivek@khera.org> |
| ZENIN Byron Brummer <zenin@archive.rhps.org> |
| </pre> |
| |
| <h3><a name="info">More Info</a></h3> |
| See the Apache/Perl <a href="http://perl.apache.org/">homepage</a>. |
| </body> |
| </html> |