-
Notifications
You must be signed in to change notification settings - Fork 18
/
apache-modlist.html
251 lines (229 loc) · 10.5 KB
/
apache-modlist.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<html>
<head>
<title>The Apache/Perl Module List</title>
<!-- Changed by: Doug MacEachern, 30-Nov-1997 -->
</head>
<body>
<h1>The Apache/Perl Module List</h1>
Maintained by <a href="mailto:dougm@osf.org">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>
<a name="intro">
<h3>Introduction</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.
<a name="part">
<h3>Playing Your Part</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@listproc.itribe.net"> mailing list </a>
or to <a href="mailto:dougm@osf.org">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@osf.org">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>
<a name="modules">
<h3>The Apache/Perl modules</h3>
<pre>
Apache::
* PerlHandler's
CallHandler cdpf Map filenames to subroutine calls GKNOPS
Dir i OO (subclassable) mod_dir replacement DOUGM
Embperl bdcf Embed Perl in HTML GRICHTER
ePerl Rdpr Fast emulated Embedded Perl (ePerl) RSE
FTP i Full-fledged FTP proxy PMKANE
GzipChain bmpf Compress files on the fly ANDK
JavaScript bdpf Generate JavaScript code ABH
ModuleDoc bdpf Self documentation for Apache C modules DOUGM
OutputChain bmpO Chain output of stacked handlers JANPAZ
PassFile bdpf Send file via OutputChain ANDK
Registry Rmpf Run unaltered CGI scripts APML
RobotRules bdpf Enforce robot rules (robots.txt) PARKER
Sandwich bmpf Layered document (sandwich) maker DOUGM
VhostSandwich bdpf Virtual host layered document maker MARKC
SSI bmpO Implement server-side includes in Perl KWILLIAM
Stage bdpf Manage a document staging directory ANDK
TarGzip c ZENIN
WDB bdpf Database query/edit tool using DBI JROWE
* 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
AuthCookie bdpO Authen + Authz via cookies EBARTLEY
AuthenDBI bmpO Authenticate via Perl's DBI MERGL
AuthExpire cmpO Expire Basic auth credentials DOUGM
AuthenGSS cdpf Generic Security Service (RFC 2078) DOUGM
AuthenLDAP i LDAP authentication module MARKK
AuthNIS bdpf NIS authentication and authorization DOUGM
AuthenNT bdpf Authenticate against NT server PARKER
BasicCookieAuth cdpf Accept cookie or basic auth creds PMKANE
DBILogin bdpf Authenticate to backend database JGROENVEL
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
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
* PerlFixupHandler's
HttpEquiv bdpf HTML HTTP-EQUIV tags to HTTP headers ROBH
Timeit bmpf Benchmark PerlHandlers APML
* PerlLogHandler's
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 cmcO Interface to configuration API DOUGM
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
Mysql bdpO Persistent connection mgmt. for Mysql NJENSEN
* Interfaces and integration with various Apache C modules
Constants Rmcf Constants defined in httpd.h APML
Include Rmpf mod_include + Apache::Registry handler APML
Global cmcO Access to server global variables APML
LogError c aplog_error interface FLETCH
LogFile cmcO Interface to Apache's piped logs, etc. DOUGM
Mime bmcf Interface to mod_mime functionality MDORMAN
Module cmcO 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
* 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
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
Mmap bdcf Share data via Mmap module FLETCH
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
Safe ampO Adaptation of "safecgiperl" APML
Session cmpf Maintain client <-> httpd session/state APML
SIG amoO Signal handlers for mod_perl APML
State i Powerful state engine RSE
</pre>
<a name="where">
<h3>Where Are The Modules Kept?</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.
<a name="contacts">
<h3>Contacts</h3>
<pre>
ABH Ask Bjørn Hansen <ask@netcetera.dk>
ANDK Andreas König <a.koenig@franz.ww.TU-Berlin.DE>
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>
FLETCH Mike Fletcher <lemur1@mindspring.com>
GKNOPS Gerd Knops <gerti@BITart.com>
GRICHTER Gerald Richter <richter@ecos.de>
HMUELLER Hanno Mueller <hmueller@mail.kabel.de>
IKLUFT Ian Kluft <ikluft@cisco.com>
JANPAZ 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>
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>
MDORMAN Michael Alan Dorman <mdorman@calder.med.miami.edu>
MERGL Edmund Mergl <E.Mergl@bawue.de>
MJS Michael Smith <mjs@iii.co.uk>
NJENSEN Neil Jensen <njensen@habaneros.com>
PARKER Michael Parker <parker@austx.tandem.com>
PLISTER Peter Lister <p.lister@cranfield.ac.uk>
PMKANE Patrick Michael Kane <modus@enews.com>
RMANGI Rick Mangi <rmangi@tgix.com>
ROBH Rob Hartill <robh@imdb.com>
RSE Ralf S. Engelschall <rse@engelschall.com>
SKANE Stephen E Kane <sek112@elvis.arl.psu.edu>
SORTIZ Salvador Ortiz Garcia <sortiz@cfe.gob.mx>
ZENIN Byron Brummer <zenin@archive.rhps.org>
</pre>
<a name="info">
<h3>More Info</h3>
See the Apache/Perl <a href="http://perl.apache.org/">homepage</a>.
</body>
</html>