Vous êtes sur la page 1sur 78

Sheet1

Page 1
Nr. crtModule Name Description
1 Core
2 mpm_common
3 event
Core Apache HTTP Server features that
are always available
A collection of directives that are
implemented by more than one multi-
processing module (MPM
A variant of the wor!er MPM with the
goal of consuming threads only for
connections with active processing
Sheet1
Page 2
4 mpm_netware
5 mpmt_os2
Multi-Processing Module implementing
an e"clusively threaded web server
optimi#ed for $ovell $et%are
Hybrid multi-process& multi-threaded
MPM for 'S()
Sheet1
Page 3
6 prefork
*mplements a non-threaded& pre-for!ing
web server
Sheet1
Page 4
7 mpm_winnt
Multi-Processing Module optimi#ed for
%indows $T+
Sheet1
Page 5
8 worker
9 mod_access_compat
Multi-Processing Module implementing
a hybrid multi-threaded multi-process
web server
,roup authori#ations based on host
(name or *P address
Sheet1
Page 6
10 mod_actions
11 mod_alias
12 mod_allowmethods
13 mod_asis
14 mod_auth_basic
Basic HTTP authentication
-"ecute C,* scripts based on media
type or re.uest method+
Provides for mapping different parts of
the host filesystem in the document tree
and for /01 redirection
-asily restrict what HTTP methods can
be used on the server
Sends files that contain their own HTTP
headers
Sheet1
Page 7
15 mod_auth_digest
16 mod_auth_form
Form authentication
User authentication using
!5 !igest "uthentication
Sheet1
Page 8
17 mod_authn_anon
18 mod_authn_core
#ore "uthentication
19 mod_authn_dbd
20 mod_authn_dbm
"$$o%s &anon'mous& user
access to authenticate( areas
User authentication using an
S)* (ata+ase
User authentication using
!B ,i$es
Sheet1
Page 9
21 mod_authn_file
22 mod_authn_socach
23 mod_authnz_fcgi
User authentication using te-t
,i$es
anages a cache o,
authentication cre(entia$s to
re$ie.e the $oa( on +ac/en(s
"$$o%s a Fast#01 authori2er
a33$ication to han($e "3ache
htt3( authentication an(
authori2ation
Sheet1
Page 10
24 mod_authnz_ldap
25 mod_authz_core
#ore "uthori2ation
"$$o%s an *!"P (irector' to
+e use( to store the (ata+ase
,or HTTP Basic
authentication4
Sheet1
Page 11
26 mod_authz_dbd
27 mod_authz_dbm
28 mod_authz_groupfi
29 mod_authz_host
0rou3 "uthori2ation an( *ogin
using S)*
0rou3 authori2ation using
!B ,i$es
0rou3 authori2ation using
3$ainte-t ,i$es
0rou3 authori2ations +ase(
on host 5name or 1P a((ress6
Sheet1
Page 12
30 mod_authz_owner
31 mod_authz_user
User "uthori2ation
"uthori2ation +ase( on ,i$e
o%nershi3
Sheet1
Page 13
32 mod_autoindex
0enerates (irector' in(e-es7
automatica$$'7 simi$ar to the
Uni- $s comman( or the
8in32 (ir she$$ comman(
Sheet1
Page 14
33 mod_buffer
Su33ort ,or re9uest +u,,ering
Sheet1
Page 15
34 mod_cache
:F# 2616 com3$iant HTTP
caching ,i$ter4
Sheet1
Page 16
35 mod_cache_disk
36 mod_cache_socach
!is/ +ase( storage mo(u$e
,or the HTTP caching ,i$ter4
Share( o+;ect cache
5socache6 +ase( storage
mo(u$e ,or the HTTP caching
,i$ter4
Sheet1
Page 17
37 mod_cern_meta
38 mod_cgi
<-ecution o, #01 scri3ts
39 mod_cgid
#<:= htt3( meta,i$e
semantics
<-ecution o, #01 scri3ts using
an e-terna$ #01 (aemon
Sheet1
Page 18
40 mod_charset_lite
41 mod_data
42 mod_dav
43 mod_dav_fs
S3eci,' character set
trans$ation or reco(ing
#on.ert res3onse +o(' into
an :F#2397 (ata U:*
!istri+ute( "uthoring an(
>ersioning 58e+!">6
,unctiona$it'
Fi$es'stem 3ro.i(er ,or
mo(?(a.
Sheet1
Page 19
44 mod_dav_lock
45 mod_dbd
46 mod_deflate
47 mod_dialup
0eneric $oc/ing mo(u$e ,or
mo(?(a.
anages S)* (ata+ase
connections
#om3ress content +e,ore it is
(e$i.ere( to the c$ient
Sen( static content at a
+an(%i(th rate $imit7 (e,ine(
+' the .arious o$( mo(em
stan(ar(s
Sheet1
Page 20
48 mod_dir
49 mod_dumpio
50 mod_echo
51 mod_env
52 mod_example
Pro.i(es ,or &trai$ing s$ash&
re(irects an( ser.ing (irector'
in(e- ,i$es
!um3s a$$ 1@A to error $og as
(esire(4
" sim3$e echo ser.er to
i$$ustrate 3rotoco$ mo(u$es
o(i,ies the en.ironment
%hich is 3asse( to #01 scri3ts
an( SS1 3ages
1$$ustrates the "3ache mo(u$e
"P1
Sheet1
Page 21
53 mod_expires
54 mod_ext_filter
0eneration o, <-3ires an(
#acheB#ontro$ HTTP hea(ers
accor(ing to userBs3eci,ie(
criteria
Pass the res3onse +o('
through an e-terna$ 3rogram
+e,ore (e$i.er' to the c$ient
Sheet1
Page 22
55 mod_file_cache
56 mod_filter
57 mod_headers
58 mod_heartbeat
59 mod_heartmonitor
60 mod_ident :F# 1413 i(ent $oo/u3s
61 mod_imagemap
62 mod_include
#aches a static $ist o, ,i$es in
memor'
#onte-tBsensiti.e smart ,i$ter
con,iguration mo(u$e
#ustomi2ation o, HTTP
re9uest an( res3onse
hea(ers
Sen(s messages %ith ser.er
status to ,ronten( 3ro-'
#entra$i2e( monitor ,or
mo(?heart+eat origin ser.ers
Ser.erBsi(e imagema3
3rocessing
Ser.erB3arse( htm$
(ocuments 5Ser.er Si(e
1nc$u(es6
Sheet1
Page 23
63 mod_info
64 mod_isapi
65 mod_lbmethod_byb
66 mod_lbmethod_byr
67 mod_lbmethod_bytr
68 mod_lbmethod_hear
69 mod_ldap
70 mod_log_config
71 mod_log_debug
72 mod_log_forensic
73 mod_logio
74 mod_lua
75 mod_macro
76 mod_mime
Pro.i(es a com3rehensi.e
o.er.ie% o, the ser.er
con,iguration
1S"P1 <-tensions %ithin
"3ache ,or 8in(o%s
Pen(ing :e9uest #ounting
$oa( +a$ancer sche(u$er
a$gorithm ,or
mo(?3ro-'?+a$ancer
:e9uest #ounting $oa(
+a$ancer sche(u$er a$gorithm
,or mo(?3ro-'?+a$ancer
8eighte( Tra,,ic #ounting
$oa( +a$ancer sche(u$er
a$gorithm ,or
mo(?3ro-'?+a$ancer
Heart+eat Tra,,ic #ounting
$oa( +a$ancer sche(u$er
a$gorithm ,or
mo(?3ro-'?+a$ancer
*!"P connection 3oo$ing an(
resu$t caching ser.ices ,or use
+' other *!"P mo(u$es
*ogging o, the re9uests ma(e
to the ser.er
"((itiona$ con,igura+$e (e+ug
$ogging
Forensic *ogging o, the
re9uests ma(e to the ser.er
*ogging o, in3ut an( out3ut
+'tes 3er re9uest
Pro.i(es *ua hoo/s into
.arious 3ortions o, the htt3(
re9uest 3rocessing
Pro.i(es macros %ithin
a3ache htt3( runtime
con,iguration ,i$es
"ssociates the re9ueste(
,i$enameCs e-tensions %ith the
,i$eCs +eha.ior 5han($ers an(
,i$ters6 an( content 5mimeB
t'3e7 $anguage7 character set
an( enco(ing6
Sheet1
Page 24
77 mod_mime_magic
78 mod_negotiation
79 mod_nw_ssl
80 mod_privileges
81 mod_proxy
82 mod_proxy_ap
83 mod_proxy_balance
84 mod_proxy_connec
85 mod_proxy_expres
86 mod_proxy_fcgi
87 mod_proxy_fdpass
88 mod_proxy_ftp
89 mod_proxy_html
90 mod_proxy_http
91 mod_proxy_scgi
92 mod_proxy_wstunn
93 mod_ratelimit
94 mod_reflector
!etermines the 1< t'3e o,
a ,i$e +' $oo/ing at a ,e% +'tes
o, its contents
Pro.i(es ,or content
negotiation
<na+$e SS* encr'3tion ,or
=et8are
Su33ort ,or So$aris 3ri.i$eges
an( ,or running .irtua$ hosts
un(er (i,,erent user 1!s4
u$tiB3rotoco$ 3ro-'@gate%a'
ser.er
"DP su33ort mo(u$e ,or
mo(?3ro-'
mo(?3ro-' e-tension ,or $oa(
+a$ancing
mo(?3ro-' e-tension ,or
#A==<#T re9uest han($ing
!'namic mass re.erse 3ro-'
e-tension ,or mo(?3ro-'
Fast#01 su33ort mo(u$e ,or
mo(?3ro-'
,(3ass e-terna$ 3rocess
su33ort mo(u$e ,or
mo(?3ro-'
FTP su33ort mo(u$e ,or
mo(?3ro-'
:e%rite HT* $in/s in to
ensure the' are a((ressa+$e
,rom #$ientsC net%or/s in a
3ro-' conte-t4
HTTP su33ort mo(u$e ,or
mo(?3ro-'
S#01 gate%a' mo(u$e ,or
mo(?3ro-'
8e+soc/ets su33ort mo(u$e
,or mo(?3ro-'
Ban(%i(th :ate *imiting ,or
#$ients
:e,$ect a re9uest +o(' as a
res3onse .ia the out3ut ,i$ter
stac/4
Sheet1
Page 25
95 mod_remoteip
96 mod_re!timeout
97 mod_re!uest
98 mod_rewrite
99 mod_sed
100 mod_session Session su33ort
101 mod_session_cook
102 mod_session_cryptSession encr'3tion su33ort
103 mod_session_dbd
104 mod_setenvif
105 mod_slotmem_plai
106 mod_slotmem_shm
107 mod_so
108 mod_socache_dbm
109 mod_socache_dc
110 mod_socache_mem
111 mod_socache_shm
:e3$aces the origina$ c$ient 1P
a((ress ,or the connection
%ith the useragent 1P a((ress
$ist 3resente( +' a 3ro-ies or
a $oa( +a$ancer .ia the
re9uest hea(ers4
Set timeout an( minimum
(ata rate ,or recei.ing
re9uests
Fi$ters to han($e an( ma/e
a.ai$a+$e HTTP re9uest
+o(ies
Pro.i(es a ru$eB+ase(
re%riting engine to re%rite
re9ueste( U:*s on the ,$'
Fi$ter 1n3ut 5re9uest6 an(
Aut3ut 5res3onse6 content
using se( s'nta-
#oo/ie +ase( session su33ort
!B!@S)* +ase( session
su33ort
"$$o%s the setting o,
en.ironment .aria+$es +ase(
on characteristics o, the
re9uest
S$otB+ase( share( memor'
3ro.i(er4
S$otB+ase( share( memor'
3ro.i(er4
*oa(ing o, e-ecuta+$e co(e
an( mo(u$es into the ser.er at
startBu3 or restart time
!B +ase( share( o+;ect
cache 3ro.i(er4
!istcache +ase( share(
o+;ect cache 3ro.i(er4
emcache +ase( share(
o+;ect cache 3ro.i(er4
shmc+ +ase( share( o+;ect
cache 3ro.i(er4
Sheet1
Page 26
112 mod_speling
113 mod_ssl
114 mod_status
115 mod_substitute
116 mod_suexec
117 mod_uni!ue_id
118 mod_unixd
119 mod_userdir UserBs3eci,ic (irectories
120 mod_usertrack
121 mod_version
122 mod_vhost_alias
123 mod_watchdog
124 mod_xml"enc
"ttem3ts to correct mista/en
U:*s +' ignoring
ca3ita$i2ation7 or attem3ting to
correct .arious minor
miss3e$$ings4
Strong cr'3togra3h' using the
Secure Soc/ets *a'er 5SS*6
an( Trans3ort *a'er Securit'
5T*S6 3rotoco$s
Pro.i(es in,ormation on
ser.er acti.it' an(
3er,ormance
Per,orm search an( re3$ace
o3erations on res3onse
+o(ies
"$$o%s #01 scri3ts to run as a
s3eci,ie( user an( 0rou3
Pro.i(es an en.ironment
.aria+$e %ith a uni9ue
i(enti,ier ,or each re9uest
Basic 5re9uire(6 securit' ,or
Uni-B,ami$' 3$at,orms4
#$ic/stream $ogging o, user
acti.it' on a site
>ersion (e3en(ent
con,iguration
Pro.i(es ,or ('namica$$'
con,igure( mass .irtua$
hosting
3ro.i(es in,rastructure ,or
other mo(u$es to 3erio(ica$$'
run tas/s
<nhance(
charset@internationa$isation
su33ort ,or $i+-m$2B+ase( ,i$ter
mo(u$es
Sheet1
Page 27
#ummary Directives
"cce3tFi$terE"cce3tPath1
n,oE"ccessFi$e=ameE"((
!e,au$t#harsetE"$$o%<nc
o(e(S$ashesE"$$o%A.erri
(eE"$$o%A.erri(e*istE#01
a3<-tensionE#ontent!i
gestE!e,au$t:untime!irE
!e,au$tT'3eE!e,ineEF!ire
ctor'GEF!irector'atchGE
!ocument:ootEF<$seGEF
<$se1,GE<na+$e"PE<n
a+$eSen(,i$eE<rrorE<rror!
ocumentE<rror*ogE<rror*
ogFormatE<-ten(e(Statu
sEFi$e<TagEFFi$esGEFFi$es
atchGEForceT'3eE03ro,
!irEHostname*oo/u3sEF1
,GEF1,!e,ineGEF1,o(u$eG
E1nc$u(eE1nc$u(eA3tiona$E
Hee3"$i.eEHee3"$i.eTim
eoutEF*imitGEF*imit<-ce3
tGE*imit1nterna$:ecursion
E*imit:e9uestBo('E*imit
:e9uestFie$(sE*imit:e9u
estFie$(Si2eE*imit:e9ues
t*ineE*imitI*:e9uestB
o('EF*ocationGEF*ocatio
natchGE*og*e.e$Ea-H
ee3"$i.e:e9uestsEa-:
angeA.er$a3sEa-:ange
:e.ersa$sEa-:angesE
ute-E=ame>irtua$HostEA3
tionsEProtoco$E:*imit#PU
E:*imit<E:*imit=P:
A#EScri3t1nter3reterSour
ceESee:e9uestTai$ESer.e
r"(minESer.er"$iasESer.
er=ameESer.erPathESer.
er:ootESer.erSignatureE
Ser.erTo/ensESetHan($e
rESet1n3utFi$terESetAut3u
tFi$terETimeAutETrace<na
+$eEUn!e,ineEUse#anoni
ca$=ameEUse#anonica$P
h'sica$PortEF>irtua$HostG
Core2ump2irectory3-nable
-"ceptionHoo!3,racefulSh
utdownTimeout31isten31ist
en4ac!1og3Ma"Connection
sPerChild3Ma"Mem5ree3M
a"0e.uest%or!ers3Ma"Spa
reThreads3MinSpareThread
s3Pid5ile30eceive4ufferSi#e
3Score4oard5ile3Send4uffe
rSi#e3Server1imit3StartServ
ers3StartThreads3Thread1im
it3ThreadsPerChild3ThreadS
tac!Si#e
The event Multi-Processing Module (MPM is
designed to allow more re.uests to be served
simultaneously by passing off some processing
wor! to supporting threads& freeing up the main
threads to wor! on new re.uests+ *t is based on
the wor!er MPM& which implements a hybrid
multi-process multi-threaded server+ 0un-time
configuration directives are identical to those
provided by wor!er+ To use the event MPM&
add --with-mpm6event to the configure script7s
arguments when building the httpd+
Async0e.uest%or!er5actor
3Core2ump2irectory3-nabl
e-"ceptionHoo!3,roup31is
ten31isten4ac!log3Ma"Con
nectionsPerChild3Ma"Mem
5ree3Ma"0e.uest%or!ers3
Ma"SpareThreads3MinSpar
eThreads3Pid5ile3Score4oar
d5ile3Send4ufferSi#e3Serve
r1imit3StartServers3Thread
1imit3ThreadsPerChild3Thr
eadStac!Si#e3/ser
Sheet1
Page 28
This Multi-Processing Module (MPM
implements an e"clusively threaded web server
that has been optimi#ed for $ovell $et%are+
The main thread is responsible for launching
child wor!er threads which listen for
connections and serve them when they arrive+
Apache HTTP Server always tries to maintain
several spare or idle wor!er threads& which
stand ready to serve incoming re.uests+ *n this
way& clients do not need to wait for a new child
threads to be spawned before their re.uests can
be served+ The StartThreads&
MinSpareThreads& Ma"SpareThreads& and
Ma"Threads regulate how the main thread
creates wor!er threads to serve re.uests+ *n
general& Apache httpd is very self-regulating& so
most sites do not need to ad8ust these directives
from their default values+ Sites with limited
memory may need to decrease Ma"Threads to
!eep the server from thrashing (spawning and
terminating idle threads+ More information
about tuning process creation is provided in the
performance hints documentation+
Ma"ConnectionsPerChild controls how
fre.uently the server recycles processes by
!illing old ones and launching new ones+ 'n
the $et%are 'S it is highly recommended that
this directive remain set to 9+ This allows
wor!er threads to continue servicing re.uests
indefinitely+
1isten31isten4ac!log
3Ma"ConnectionsPerChild3
Ma"Mem5ree3
Ma"SpareThreads3
Ma"Threads3
MinSpareThreads3
0eceive4ufferSi#e3
Send4ufferSi#e3
StartThreads3
ThreadStac!Si#e
The Server consists of a main& parent process
and a small& static number of child processes+
The parent process7 8ob is to manage the child
processes+ This involves spawning children as
re.uired to ensure there are always StartServers
processes accepting connections+ -ach child
process consists of a a pool of wor!er threads
and a main thread that accepts connections and
passes them to the wor!ers via a wor! .ueue+
The wor!er thread pool is dynamic& managed
by a maintenance thread so that the number of
idle threads is !ept between MinSpareThreads
and Ma"SpareThreads+
,roup31isten31isten4ac!lo
g3Ma"ConnectionsPerChild
3Ma"SpareThreads3MinSpa
reThreads3Pid5ile30eceive4
ufferSi#e3Send4ufferSi#e3St
artServers3/ser
Sheet1
Page 29
This Multi-Processing Module (MPM
implements a non-threaded& pre-for!ing web
server+ -ach server process may answer
incoming re.uests& and a parent process
manages the si#e of the server pool+ *t is
appropriate for sites that need to avoid
threading for compatibility with non-thread-
safe libraries+ *t is also the best MPM for
isolating each re.uest& so that a problem with a
single re.uest will not affect any other+ This
MPM is very self-regulating& so it is rarely
necessary to ad8ust its configuration directives+
Most important is that Ma"0e.uest%or!ers be
big enough to handle as many simultaneous
re.uests as you e"pect to receive& but small
enough to assure that there is enough physical
0AM for all processes+
Core2ump2irectory3-nable
-"ceptionHoo!3,roup31ist
en31isten4ac!log3Ma"Conn
ectionsPerChild3Ma"Mem5
ree3Ma"0e.uest%or!ers3M
a"SpareServers3MinSpareS
ervers3Pid5ile30eceive4uffe
rSi#e3Score4oard5ile3Send
4ufferSi#e3Server1imit3Star
tServers3/ser
Sheet1
Page 30
This Multi-Processing Module (MPM is the
default for the %indows $T operating systems+
*t uses a single control process which launches
a single child process which in turn creates
threads to handle re.uests Capacity is
configured using the ThreadsPerChild
directive& which sets the ma"imum number of
concurrent client connections+ 4y default& this
MPM uses advanced %indows AP*s for
accepting new client connections+ *n some
configurations& third-party products may
interfere with this implementation& with the
following messages written to the web server
log: Child: -ncountered too many Accept-"
faults accepting client connections+
winnt;mpm: falling bac! to 7Accept5ilter
none7+ The MPM falls bac! to a safer
implementation& but some client re.uests were
not processed correctly+ *n order to avoid this
error& use Accept5ilter with accept filter none+
Accept5ilter http none Accept5ilter https none
*n Apache httpd )+9 and )+)&
%in<)2isableAccept-" was used for this
purpose+ The %in$T MPM differs from the
/ni" MPMs such as wor!er and event in
several areas: %hen a child process is e"iting
due to shutdown& restart& or
Ma"ConnectionsPerChild& active re.uests in
the e"iting process have Time'ut seconds to
finish before processing is aborted+ Alternate
types of restart and shutdown are not
implemented+ $ew child processes read the
configuration files instead of inheriting the
configuration from the parent+ The behavior
will be the same as on /ni" if the child process
is created at startup or restart& but if a child
process is created because the prior one
crashed or reached Ma"ConnectionsPerChild&
any pending changes to the configuration will
become active in the child at that point& and the
parent and child will be using a different
configuration+ *f planned configuration changes
have been partially implemented and the
current configuration cannot be parsed& the
replacement child process cannot start up and
the server will halt+ 4ecause of this behavior&
configuration files should not be changed until
the time of a server restart+ The monitor and
fatal;e"ception hoo!s are not currently
implemented+ Accept5ilter is implemented in
the MPM and has a different type of control
over handling of new connections+ (0efer to the
Accept5ilter documentation for details+
Accept5ilter3Core2ump2ir
ectory31isten31isten4ac!log
3Ma"ConnectionsPerChild3
Ma"Mem5ree3Pid5ile30ece
ive4ufferSi#e3Score4oard5i
le3Send4ufferSi#e3Thread1i
mit3ThreadsPerChild3Threa
dStac!Si#e
Sheet1
Page 31
Allow3 2eny3 'rder3 Satisfy
This Multi-Processing Module (MPM
implements a hybrid multi-process multi-
threaded server+ 4y using threads to serve
re.uests& it is able to serve a large number of
re.uests with fewer system resources than a
process-based server+ However& it retains much
of the stability of a process-based server by
!eeping multiple processes available& each with
many threads+ The most important directives
used to control this MPM are ThreadsPerChild&
which controls the number of threads deployed
by each child process and
Ma"0e.uest%or!ers& which controls the
ma"imum total number of threads that may be
launched+
Core2ump2irectory3-nable
-"ceptionHoo!3,roup31ist
en31isten4ac!log3Ma"Conn
ectionsPerChild3Ma"Mem5
ree3Ma"0e.uest%or!ers3M
a"SpareThreads3MinSpareT
hreads3Pid5ile30eceive4uff
erSi#e3Score4oard5ile3Send
4ufferSi#e3Server1imit3Star
tServers3Thread1imit3Threa
dsPerChild3ThreadStac!Si#
e3/ser
The directives provided by
mod;access;compat are used in =2irectory>&
=5iles>& and =1ocation> sections as well as
+htaccess files to control access to particular
parts of the server+ Access can be controlled
based on the client hostname& *P address& or
other characteristics of the client re.uest& as
captured in environment variables+ The Allow
and 2eny directives are used to specify which
clients are or are not allowed access to the
server& while the 'rder directive sets the
default access state& and configures how the
Allow and 2eny directives interact with each
other+ 4oth host-based access restrictions and
password-based authentication may be
implemented simultaneously+ *n that case& the
Satisfy directive is used to determine how the
two sets of restrictions interact+ $ote The
directives provided by mod;access;compat
have been deprecated by the new auth#
refactoring+ Please see mod;auth#;host+ *n
general& access restriction directives apply to
all access methods (,-T& P/T& P'ST& etc+
This is the desired behavior in most cases+
However& it is possible to restrict some
methods& while leaving other methods
unrestricted& by enclosing the directives in a
=1imit> section+ Merging of configuration
sections %hen any directive provided by this
module is used in a new configuration section&
no directives provided by this module are
inherited from previous configuration sections+
Sheet1
Page 32
"ction EScri3t
AllowMethods
This mo(u$e has t%o (irecti.es4 The "ction
(irecti.e $ets 'ou run #01 scri3ts %hene.er
a ,i$e o, a certain 1< content t'3e is
re9ueste(4 The Scri3t (irecti.e $ets 'ou run
#01 scri3ts %hene.er a 3articu$ar metho(
is use( in a re9uest4 This ma/es it much
easier to e-ecute scri3ts that 3rocess ,i$es4
The directives contained in this module allow
for manipulation and control of /01s as
re.uests arrive at the server+ The Alias and
ScriptAlias directives are used to map between
/01s and filesystem paths+ This allows for
content which is not directly under the
2ocument0oot served as part of the web
document tree+ The ScriptAlias directive has
the additional effect of mar!ing the target
directory as containing only C,* scripts+ The
0edirect directives are used to instruct clients
to ma!e a new re.uest with a different /01+
They are often used when a resource has
moved to a new location+ mod;alias is
designed to handle simple /01 manipulation
tas!s+ 5or more complicated tas!s such as
manipulating the .uery string& use the tools
provided by mod;rewrite+
Alias AliasMatch 0edirect
0edirectMatch
0edirectPermanent
0edirectTemp ScriptAlias
ScriptAliasMatch
This module ma!es it easy to restrict what
HTTP methods can used on an server+ The
most common configuration would be:
=1ocation (> AllowMethods ,-T P'ST
'PT*'$S =(1ocation>
This module provides the handler send-as-is
which causes Apache HTTP Server to send the
document without adding most of the usual
HTTP headers+ This can be used to send any
!ind of data from the server& including redirects
and other special HTTP responses& without
re.uiring a cgi-script or an nph script+ 5or
historical reasons& this module will also
process any file with the mime type httpd(send-
as-is+
This module allows the use of HTTP 4asic
Authentication to restrict access by loo!ing up
users in the given providers+ HTTP 2igest
Authentication is provided by mod;auth;digest
+ This module should usually be combined with
at least one authentication module such as
mod;authn;file and one authori#ation module
such as mod;auth#;user+
Auth4asicAuthoritative
Auth4asic5a!e
Auth4asicProvider
Auth4asic/se2igestAlgorit
hm
Sheet1
Page 33
This module implements HTTP 2igest
Authentication (05C)?@A& and provides an
alternative to mod;auth;basic where the
password is not transmitted as clearte"t+
However& this does not lead to a significant
security advantage over basic authentication+
'n the other hand& the password storage on the
server is much less secure with digest
authentication than with basic authentication+
Therefore& using basic auth and encrypting the
whole connection using mod;ssl is a much
better alternative+
Auth2igestAlgorithm
Auth2igest2omain
Auth2igest$once1ifetime
Auth2igestProvider
Auth2igestBop
Auth2igestShmemSi#e
%arning 5orm authentication depends on the
mod;session modules& and these modules
ma!e use of HTTP coo!ies& and as such can
fall victim to Cross Site Scripting attac!s& or
e"pose potentially private information to
clients+ Please ensure that the relevant ris!s
have been ta!en into account before enabling
the session functionality on your server+ This
module allows the use of an HTM1 login form
to restrict access by loo!ing up users in the
given providers+ HTM1 forms re.uire
significantly more configuration than the
alternatives& however an HTM1 login form can
provide a much friendlier e"perience for end
users+ HTTP basic authentication is provided
by mod;auth;basic& and HTTP digest
authentication is provided by mod;auth;digest+
This module should be combined with at least
one authentication module such as
mod;authn;file and one authori#ation module
such as mod;auth#;user+ 'nce the user has
been successfully authenticated& the user7s login
details will be stored in a session provided by
mod;session+
Auth5ormAuthoritative
Auth5orm4ody
Auth5orm2isable$oStore
Auth5orm5a!e4asicAuth
Auth5orm1ocation
Auth5orm1ogin0e.uired1o
cation
Auth5orm1oginSuccess1oc
ation
Auth5orm1ogout1ocation
Auth5ormMethod
Auth5ormMimetype
Auth5ormPassword
Auth5ormProvider
Auth5ormSitePassphrase
Auth5ormSi#e
Auth5orm/sername
Sheet1
Page 34
This module provides authentication front-ends
such as mod;auth;basic to authenticate users
similar to anonymous-ftp sites& i+e+ have a
7magic7 user id 7anonymous7 and the email
address as a password+ These email addresses
can be logged+ Combined with other (database
access control methods& this allows for
effective user trac!ing and customi#ation
according to a user profile while still !eeping
the site open for 7unregistered7 users+ 'ne
advantage of using Auth-based user trac!ing is
that& unli!e magic-coo!ies and funny /01
pre(postfi"es& it is completely browser
independent and it allows users to share /01s+
%hen using mod;auth;basic& this module is
invo!ed via the Auth4asicProvider directive
with the anon value+
Anonymous
Anonymous;1og-mail
Anonymous;Must,ive-ma
il Anonymous;$o/ser*2
Anonymous;Cerify-mail
This module provides core authentication
capabilities to allow or deny access to portions
of the web site+ mod;authn;core provides
directives that are common to all authentication
providers+
Auth$ame
=AuthnProviderAlias>
AuthType
This module provides authentication front-ends
such as mod;auth;digest and mod;auth;basic
to authenticate users by loo!ing up users in
SB1 tables+ Similar functionality is provided
by& for e"ample& mod;authn;file+ This module
relies on mod;dbd to specify the bac!end
database driver and connection parameters& and
manage the database connections+ %hen using
mod;auth;basic or mod;auth;digest& this
module is invo!ed via the Auth4asicProvider
or Auth2igestProvider with the dbd value+
Auth242/serP%Buery
Auth242/ser0ealmBuery
This module provides authentication front-ends
such as mod;auth;digest and mod;auth;basic
to authenticate users by loo!ing up users in
dbm password files+ Similar functionality is
provided by mod;authn;file+ %hen using
mod;auth;basic or mod;auth;digest& this
module is invo!ed via the Auth4asicProvider
or Auth2igestProvider with the dbm value+
Auth24MType
Auth24M/ser5ile
Sheet1
Page 35
Auth/ser5ile
This module provides authentication front-ends
such as mod;auth;digest and mod;auth;basic
to authenticate users by loo!ing up users in
plain te"t password files+ Similar functionality
is provided by mod;authn;dbm+ %hen using
mod;auth;basic or mod;auth;digest& this
module is invo!ed via the Auth4asicProvider
or Auth2igestProvider with the file value+
Maintains a cache of authentication credentials&
so that a new bac!end loo!up is not re.uired
for every authenticated re.uest+
AuthnCacheConte"t
AuthnCache-nable
AuthnCacheProvide5or
AuthnCacheS'Cache
AuthnCacheTimeout
This module allows 5astC,* authori#er
applications to authenticate users and authori#e
access to resources+ *t supports generic
5astC,* authori#ers which participate in a
single phase for authentication and
authori#ation as well as Apache httpd-specific
authenticators and authori#ors which
participate in one or both phases+ 5astC,*
authori#ers can authenticate using user id and
password& such as for 4asic authentication& or
can authenticate using arbitrary mechanisms+
Authn#5cgiChec!AuthnPro
vider
Authn#5cgi2efineProvider
Sheet1
Page 36
This module allows authentication front-ends
such as mod;auth;basic to authenticate users
through an ldap directory+ mod;authn#;ldap
supports the following features: Dnown to
support the 'pen12AP S2D (both @+" and
)+"& $ovell 12AP S2D and the iPlanet
($etscape S2D+ Comple" authori#ation
policies can be implemented by representing
the policy with 12AP filters+ /ses e"tensive
caching of 12AP operations via mod;ldap+
Support for 12AP over SS1 (re.uires the
$etscape S2D or T1S (re.uires the
'pen12AP )+" S2D or $ovell 12AP S2D+
%hen using mod;auth;basic& this module is
invo!ed via the Auth4asicProvider directive
with the ldap value+
Auth12APAuthori#ePrefi"
Auth12AP4indAuthoritati
ve Auth12AP4ind2$
Auth12AP4indPassword
Auth12APCharsetConfig
Auth12APCompareAs/ser
Auth12APCompare2$'n
Server
Auth12AP2ereferenceAlia
ses
Auth12AP,roupAttribute
Auth12AP,roupAttribute*
s2$
Auth12AP*nitial4indAs/s
er
Auth12AP*nitial4indPatter
n
Auth12APMa"Sub,roup2
epth
Auth12AP0emote/serAttr
ibute
Auth12AP0emote/ser*s2
$ Auth12APSearchAs/ser
Auth12APSub,roupAttrib
ute
Auth12APSub,roupClass
Auth12AP/rl
This module provides core authori#ation
capabilities so that authenticated users can be
allowed or denied access to portions of the web
site+ mod;auth#;core provides the functionality
to register various authori#ation providers+ *t is
usually used in con8unction with an
authentication provider module such as
mod;authn;file and an authori#ation module
such as mod;auth#;user+ *t also allows for
advanced logic to be applied to the
authori#ation processing+
AuthMerging
=Auth#ProviderAlias>
Auth#Send5orbidden'n5ail
ure 0e.uire =0e.uireAll>
=0e.uireAny>
=0e.uire$one>
Sheet1
Page 37
Auth,roup5ile
This module provides authori#ation capabilities
so that authenticated users can be allowed or
denied access to portions of the web site by
group membership+ Similar functionality is
provided by mod;auth#;groupfile and
mod;auth#;dbm& with the e"ception that this
module .ueries a SB1 database to determine
whether a user is a member of a group+ This
module can also provide database-bac!ed user
login(logout capabilities+ These are li!ely to be
of most value when used in con8unction with
mod;authn;dbd+ This module relies on
mod;dbd to specify the bac!end database
driver and connection parameters& and manage
the database connections+
Auth#2421oginTo0eferer
Auth#242Buery
Auth#2420edirectBuery
This module provides authori#ation capabilities
so that authenticated users can be allowed or
denied access to portions of the web site by
group membership+ Similar functionality is
provided by mod;auth#;groupfile+
Auth24M,roup5ile
Auth#24MType
This module provides authori#ation capabilities
so that authenticated users can be allowed or
denied access to portions of the web site by
group membership+ Similar functionality is
provided by mod;auth#;dbm+
The authori#ation providers implemented by
mod;auth#;host are registered using the
0e.uire directive+ The directive can be
referenced within a =2irectory>& =5iles>& or
=1ocation> section as well as +htaccess files to
control access to particular parts of the server+
Access can be controlled based on the client
hostname or *P address+ *n general& access
restriction directives apply to all access
methods (,-T& P/T& P'ST& etc+ This is the
desired behavior in most cases+ However& it is
possible to restrict some methods& while
leaving other methods unrestricted& by
enclosing the directives in a =1imit> section+
Sheet1
Page 38
This module authori#es access to files by
comparing the userid used for HTTP
authentication (the web userid with the file-
system owner or group of the re.uested file+
The supplied username and password must be
already properly verified by an authentication
module& such as mod;auth;basic or
mod;auth;digest+ mod;auth#;owner
recogni#es two arguments for the 0e.uire
directive& file-owner and file-group& as follows:
file-owner The supplied web-username must
match the system7s name for the owner of the
file being re.uested+ That is& if the operating
system says the re.uested file is owned by
8ones& then the username used to access it
through the web must be 8ones as well+ file-
group The name of the system group that owns
the file must be present in a group database&
which is provided& for e"ample& by
mod;auth#;groupfile or mod;auth#;dbm& and
the web-username must be a member of that
group+ 5or e"ample& if the operating system
says the re.uested file is owned by (system
group accounts& the group accounts must
appear in the group database and the web-
username used in the re.uest must be a
member of that group+ $ote *f
mod;auth#;owner is used in order to authori#e
a resource that is not actually present in the
filesystem (i+e+ a virtual resource& it will deny
the access+ Particularly it will never authori#e
content negotiated EMultiCiewsE resources+
This module provides authori#ation capabilities
so that authenticated users can be allowed or
denied access to portions of the web site+
mod;auth#;user grants access if the
authenticated user is listed in a 0e.uire user
directive+ Alternatively 0e.uire valid-user can
be used to grant access to all successfully
authenticated users+
Sheet1
Page 39
The inde" of a directory can come from one of
two sources: A file located in that directory&
typically called inde"+html+ The 2irectory*nde"
directive sets the name of the file or files to be
used+ This is controlled by mod;dir+ 'therwise&
a listing generated by the server+ The other
directives control the format of this listing+ The
Add*con& Add*con4y-ncoding and
Add*con4yType are used to set a list of icons
to display for various file types3 for each file
listed& the first icon listed that matches the file
is displayed+ These are controlled by
mod;autoinde"+ The two functions are
separated so that you can completely remove
(or replace automatic inde" generation should
you want to+ Automatic inde" generation is
enabled with using 'ptions F*nde"es+ See the
'ptions directive for more details+ *f the
5ancy*nde"ing option is given with the
*nde"'ptions directive& the column headers are
lin!s that control the order of the display+ *f you
select a header lin!& the listing will be
regenerated& sorted by the values in that
column+ Selecting the same header repeatedly
toggles between ascending and descending
order+ These column header lin!s are
suppressed with the *nde"'ptions directive7s
SuppressColumnSorting option+ $ote that
when the display is sorted by ESi#eE& it7s the
actual si#e of the files that7s used& not the
displayed value - so a @9@9-byte file will
always be displayed before a @9@@-byte file (if
in ascending order even though they both are
shown as E@DE+
AddAlt AddAlt4y-ncoding
AddAlt4yType
Add2escription Add*con
Add*con4y-ncoding
Add*con4yType
2efault*con Header$ame
*nde"Head*nsert
*nde"*gnore
*nde"*gnore0eset
*nde"'ptions
*nde"'rder2efault
*nde"StyleSheet
0eadme$ame
Sheet1
Page 40
This module provides the ability to buffer the
input and output filter stac!s+ /nder certain
circumstances& content generators might create
content in small chun!s+ *n order to promote
memory reuse& in memory chun!s are always
G! in si#e& regardless of the si#e of the chun!
itself+ %hen many small chun!s are generated
by a re.uest& this can create a large memory
footprint while the re.uest is being processed&
and an unnecessarily large amount of data on
the wire+ The addition of a buffer collapses the
response into the fewest chun!s possible+
%hen httpd is used in front of an e"pensive
content generator& buffering the response may
allow the bac!end to complete processing and
release resources sooner& depending on how the
bac!end is designed+ The buffer filter may be
added to either the input or the output filter
stac!s& as appropriate& using the Set*nput5ilter&
Set'utput5ilter& Add'utput5ilter or
Add'utput5ilter4yType directives+ /sing
buffer with mod;include
Add'utput5ilter4yType *$C1/2-S34/55-0
te"t(html The buffer filters read the
re.uest(response into 0AM and then repac! the
re.uest(response into the fewest memory
buc!ets possible& at the cost of CP/ time+
%hen the re.uest(response is already
efficiently pac!ed& buffering the
re.uest(response could cause the
re.uest(response to be slower than not using a
buffer at all+ These filters should be used with
care& and only where necessary+
4ufferSi#e
Sheet1
Page 41
This module should be used with care& as when
the CacheBuic!Handler directive is in its
default value of on& the Allow and 2eny
directives will be circumvented+ Hou should
not enable .uic! handler caching for any
content to which you wish to limit access by
client host name& address or environment
variable+ mod;cache implements an 05C )?@?
compliant HTTP content caching filter& with
support for the caching of content negotiated
responses containing the Cary header+ 05C
)?@? compliant caching provides a mechanism
to verify whether stale or e"pired content is
still fresh& and can represent a significant
performance boost when the origin server
supports conditional re.uests by honouring the
*f-$one-Match HTTP re.uest header+ Content
is only regenerated from scratch when the
content has changed& and not when the cached
entry e"pires+ As a filter& mod;cache can be
placed in front of content originating from any
handler& including flat files (served from a slow
dis! cached on a fast dis!& the output of a C,*
script or dynamic content generator& or content
pro"ied from another server+ *n the default
configuration& mod;cache inserts the caching
filter as far forward as possible within the filter
stac!& utilising the .uic! handler to bypass all
per re.uest processing when returning content
to the client+ *n this mode of operation&
mod;cache may be thought of as a caching
pro"y server bolted to the front of the
webserver& while running within the webserver
itself+ %hen the .uic! handler is switched off
using the CacheBuic!Handler directive& it
becomes possible to insert the CACH- filter at
a point in the filter stac! chosen by the
administrator+ This provides the opportunity to
cache content before that content is
personalised by the mod;include filter& or
optionally compressed by the mod;deflate
filter+ /nder normal operation& mod;cache will
respond to and can be controlled by the Cache-
Control and Pragma headers sent from a client
in a re.uest& or from a server within a response+
/nder e"ceptional circumstances& mod;cache
can be configured to override these headers and
force site specific behaviour& however such
behaviour will be limited to this cache only&
and will not affect the operation of other caches
that may e"ist between the client and server&
and as a result is not recommended unless
strictly necessary+ 05C )?@? allows for the
cache to return stale data while the e"isting
stale entry is refreshed from the origin server&
and this is supported by mod;cache when the
Cache1oc! directive is suitably configured+
Such responses will contain a %arning HTTP
header with a @@9 response code+ 05C )?@?
also allows a cache to return stale data when
the attempt made to refresh the stale data
returns an error I99 or above& and this
behaviour is supported by default by
mod;cache+ Such responses will contain a
%arning HTTP header with a @@@ response
code+ mod;cache re.uires the services of one
or more storage management modules+ The
following storage management modules are
included in the base Apache distribution:
mod;cache;dis! *mplements a dis! based
storage manager+ Headers and bodies are stored
separately on dis!& in a directory structure
derived from the mdI hash of the cached /01+
Multiple content negotiated responses can be
stored concurrently& however the caching of
partial content is not supported by this module+
The htcacheclean tool is provided to list cached
/01s& remove cached /01s& or to maintain
the si#e of the dis! cache within si#e and inode
limits+ mod;cache;socache *mplements a
shared ob8ect cache based storage manager+
Headers and bodies are stored together beneath
a single !ey based on the /01 of the response
being cached+ Multiple content negotiated
responses can be stored concurrently& however
the caching of partial content is not supported
by this module+ 5urther details& discussion& and
e"amples& are provided in the Caching ,uide+
Cache2efault-"pire
Cache2etailHeader
Cache2isable Cache-nable
CacheHeader
Cache*gnoreCacheControl
Cache*gnoreHeaders
Cache*gnore$o1astMod
Cache*gnoreBueryString
Cache*gnore/01Session*de
ntifiers CacheDey4ase/01
Cache1astModified5actor
Cache1oc!
Cache1oc!Ma"Age
Cache1oc!Path
CacheMa"-"pire
CacheMin-"pire
CacheBuic!Handler
CacheStale'n-rror
CacheStore-"pired
CacheStore$oStore
CacheStorePrivate
Sheet1
Page 42
mod;cache;dis! implements a dis! based
storage manager for mod;cache+ The headers
and bodies of cached responses are stored
separately on dis!& in a directory structure
derived from the mdI hash of the cached /01+
Multiple content negotiated responses can be
stored concurrently& however the caching of
partial content is not yet supported by this
module+ Atomic cache updates to both header
and body files are achieved without the need
for loc!ing by storing the device and inode
numbers of the body file within the header file+
This has the side effect that cache entries
manually moved into the cache will be ignored+
The htcacheclean tool is provided to list cached
/01s& remove cached /01s& or to maintain
the si#e of the dis! cache within si#e and(or
inode limits+ The tool can be run on demand& or
can be daemoni#ed to offer continuous
monitoring of directory si#es+ $ote:
mod;cache;dis! re.uires the services of
mod;cache& which must be loaded before
mod;cache;dis!+ $ote: mod;cache;dis! uses
the sendfile feature to serve files from the
cache when supported by the platform& and
when enabled with -nableSendfile+ However&
per-directory and +htaccess configuration of
-nableSendfile are ignored by mod;cache;dis!
as the corresponding settings are not available
to the module when a re.uest is being served
from the cache+
Cache2ir1ength
Cache2ir1evels
CacheMa"5ileSi#e
CacheMin5ileSi#e
Cache0eadSi#e
Cache0eadTime Cache0oot
mod;cache;socache implements a shared
ob8ect cache (socache based storage manager
for mod;cache+ The headers and bodies of
cached responses are combined& and stored
underneath a single !ey in the shared ob8ect
cache+ A number of implementations of shared
ob8ect caches are available to choose from+
Multiple content negotiated responses can be
stored concurrently& however the caching of
partial content is not yet supported by this
module+ J Turn on caching CacheSocache
shmcb CacheSocacheMa"Si#e @9)K99
=1ocation (foo> Cache-nable socache
=(1ocation> J 5all bac! to the dis! cache
CacheSocache shmcb CacheSocacheMa"Si#e
@9)K99 =1ocation (foo> Cache-nable
socache Cache-nable dis! =(1ocation>
$ote: mod;cache;socache re.uires the services
of mod;cache& which must be loaded before
mod;cache;socache+
CacheSocache
CacheSocacheMa"Si#e
CacheSocacheMa"Time
CacheSocacheMinTime
CacheSocache0eadSi#e
CacheSocache0eadTime
Sheet1
Page 43
-mulate the C-0$ HTTP2 Meta file
semantics+ Meta files are HTTP headers that
can be output in addition to the normal range of
headers for each file accessed+ They appear
rather li!e the Apache +asis files& and are able
to provide a crude way of influencing the
-"pires: header& as well as providing other
curiosities+ There are many ways to manage
meta information& this one was chosen because
there is already a large number of C-0$ users
who can e"ploit this module+ More information
on the C-0$ metafile semantics is available+
Meta2ir Meta5iles
MetaSuffi"
Any file that has the handler cgi-script will be
treated as a C,* script& and run by the server&
with its output being returned to the client+
5iles ac.uire this handler either by having a
name containing an e"tension defined by the
AddHandler directive& or by being in a
ScriptAlias directory+ 5or an introduction to
using C,* scripts with Apache& see our tutorial
on 2ynamic Content %ith C,*+ %hen using a
multi-threaded MPM under uni"& the module
mod;cgid should be used in place of this
module+ At the user level& the two modules are
essentially identical+ 5or bac!ward-
compatibility& the cgi-script handler will also
be activated for any file with the mime-type
application("-httpd-cgi+ The use of the magic
mime-type is deprecated+
Script1og Script1og4uffer
Script1og1ength
-"cept for the optimi#ations and the additional
ScriptSoc! directive noted below& mod;cgid
behaves similarly to mod;cgi+ See the mod;cgi
summary for additional details about Apache
and C,*+ 'n certain uni" operating systems&
for!ing a process from a multi-threaded server
is a very e"pensive operation because the new
process will replicate all the threads of the
parent process+ *n order to avoid incurring this
e"pense on each C,* invocation& mod;cgid
creates an e"ternal daemon that is responsible
for for!ing child processes to run C,* scripts+
The main server communicates with this
daemon using a uni" domain soc!et+ This
module is used by default instead of mod;cgi
whenever a multi-threaded MPM is selected
during the compilation process+ At the user
level& this module is identical in configuration
and operation to mod;cgi+ The only e"ception
is the additional directive ScriptSoc! which
gives the name of the soc!et to use for
communication with the cgi daemon+
Script1og Script1og4uffer
Script1og1ength
ScriptSoc!
Sheet1
Page 44
mod;charset;lite allows the server to change
the character set of responses before sending
them to the client+ *n an -4C2*C environment&
Apache always translates HTTP protocol
content (e+g+ response headers from the code
page of the Apache process locale to *S'-GGIL-
@& but not the body of responses+ *n any
environment& mod;charset;lite can be used to
specify that response bodies should be
translated+ 5or e"ample& if files are stored in
-4C2*C& then mod;charset;lite can translate
them to *S'-GGIL-@ before sending them to the
client+ This module provides a small subset of
configuration mechanisms implemented by
0ussian Apache and its associated
mod;charset+
Charset2efault
Charset'ptions
CharsetSource-nc
This module provides the ability to convert a
response into an 05C)<LA data /01+ 2ata
/01s can be embedded inline within web
pages using something li!e the mod;include
module& to remove the need for clients to ma!e
separate connections to fetch what may
potentially be many small images+ 2ata /01s
may also be included into pages generated by
scripting languages such as PHP+
This module provides class @ and class )
%eb2AC (7%eb-based 2istributed Authoring
and Cersioning7 functionality for Apache+ This
e"tension to the HTTP protocol allows
creating& moving& copying& and deleting
resources and collections on a remote web
server+
2av 2av2epth*nfinity
2avMinTimeout
This module re.uires the service of mod;dav+
*t acts as a support module for mod;dav and
provides access to resources located in the
server7s file system+ The formal name of this
provider is filesystem+ mod;dav bac!end
providers will be invo!ed by using the 2av
directive: -"ample 2av filesystem Since
filesystem is the default provider for mod;dav&
you may simply use the value 'n instead+
2av1oc!24
Sheet1
Page 45
This module implements a generic loc!ing AP*
which can be used by any bac!end provider of
mod;dav+ *t re.uires at least the service of
mod;dav+ 4ut without a bac!end provider
which ma!es use of it& it7s useless and should
not be loaded into the server+ A sample bac!end
module which actually utili#es mod;dav;loc!
is mod;dav;svn& the subversion provider
module+ $ote that mod;dav;fs does not need
this generic loc!ing module& because it uses its
own more speciali#ed version+ *n order to ma!e
mod;dav;loc! functional& you 8ust have to
specify the location of the loc! database using
the 2av,eneric1oc!24 directive described
below+ 2eveloper7s $ote *n order to retrieve the
pointer to the loc!ing provider function& you
have to use the ap;loo!up;provider AP* with
the arguments dav-loc!& generic& and 9+
2av,eneric1oc!24
mod;dbd manages SB1 database connections
using AP0+ *t provides database connections
on re.uest to modules re.uiring SB1 database
functions& and ta!es care of managing
databases with optimal efficiency and
scalability for both threaded and non-threaded
MPMs+ 5or details& see the AP0 website and
this overview of the Apache 242 5ramewor!
by its original developer+
242-"ptime 242*nitSB1
242Deep 242Ma"
242Min 242Params
242Persist
242PrepareSB1 242river
The mod;deflate module provides the
2-51AT- output filter that allows output from
your server to be compressed before being sent
to the client over the networ!+
2eflate4ufferSi#e
2eflateCompression1evel
2eflate5ilter$ote
2eflateMem1evel
2eflate%indowSi#e
*t is a module that sends static content at a
bandwidth rate limit& defined by the various old
modem standards+ So& you can browse your site
with a I?! C+L) modem& by adding something
li!e this: =1ocation (mysite>
ModemStandard C+L) =(1ocation> Previously
to do bandwidth rate limiting modules would
have to bloc! an entire thread& for each client&
and insert sleeps to slow the bandwidth down+
/sing the new suspend feature& a handler can
get callbac! $ milliseconds in the future& and it
will be invo!ed by the -vent MPM on a
different thread& once the timer hits+ 5rom there
the handler can continue to send data to the
client+
ModemStandard
Sheet1
Page 46
Pass-nv Set-nv /nset-nv
The inde" of a directory can come from one of
two sources: A file written by the user& typically
called inde"+html+ The 2irectory*nde" directive
sets the name of this file+ This is controlled by
mod;dir+ 'therwise& a listing generated by the
server+ This is provided by mod;autoinde"+
The two functions are separated so that you can
completely remove (or replace automatic
inde" generation should you want to+ A
Etrailing slashE redirect is issued when the
server receives a re.uest for a /01
http:((servername(foo(dirname where dirname
is a directory+ 2irectories re.uire a trailing
slash& so mod;dir issues a redirect to
http:((servername(foo(dirname(+
2irectoryChec!Handler
2irectory*nde"
2irectory*nde"0edirect
2irectorySlash
5allbac!0esource
mod;dumpio allows for the logging of all input
received by Apache and(or all output sent by
Apache to be logged (dumped to the error+log
file+ The data logging is done right after SS1
decoding (for input and right before SS1
encoding (for output+ As can be e"pected& this
can produce e"treme volumes of data& and
should only be used when debugging problems+
2ump*'*nput
2ump*''utput
This module provides an e"ample protocol
module to illustrate the concept+ *t provides a
simple echo server+ Telnet to it and type stuff&
and it will echo it+ Protocol-cho
This module allows for control of internal
environment variables that are used by various
Apache HTTP Server modules+ These variables
are also provided to C,* scripts as native
system environment variables& and available
for use in SS* pages+ -nvironment variables
may be passed from the shell which invo!ed
the httpd process+ Alternatively& environment
variables may be set or unset within the
configuration process+
Some files in the modules(e"perimental
directory under the Apache distribution
directory tree are provided as an e"ample to
those that wish to write modules that use the
Apache AP*+ The main file is mod;e"ample+c&
which illustrates all the different callbac!
mechanisms and call synta"es+ 4y no means
does an add-on module need to include
routines for all of the callbac!s - .uite the
contraryM The e"ample module is an actual
wor!ing module+ *f you lin! it into your server&
enable the Ee"ample-handlerE handler for a
location& and then browse to that location& you
will see a display of some of the tracing the
e"ample module did as the various callbac!s
were made+ -"ample
Sheet1
Page 47
This module controls the setting of the -"pires
HTTP header and the ma"-age directive of the
Cache-Control HTTP header in server
responses+ The e"piration date can set to be
relative to either the time the source file was
last modified& or to the time of the client
access+ These HTTP headers are an instruction
to the client about the document7s validity and
persistence+ *f cached& the document may be
fetched from the cache rather than from the
source until this time has passed+ After that& the
cache copy is considered Ee"piredE and invalid&
and a new copy must be obtained from the
source+ To modify Cache-Control directives
other than ma"-age (see 05C )?@? section
@K+L& you can use the Header directive+ %hen
the -"pires header is already part of the
response generated by the server& for e"ample
when generated by a C,* script or pro"ied
from an origin server& this module does not
change or add an -"pires or Cache-Control
header+
-"piresActive
-"pires4yType
-"pires2efault
mod;e"t;filter presents a simple and familiar
programming model for filters+ %ith this
module& a program which reads from stdin and
writes to stdout (i+e+& a /ni"-style filter
command can be a filter for Apache+ This
filtering mechanism is much slower than using
a filter which is specially written for the
Apache AP* and runs inside of the Apache
server process& but it does have the following
benefits: the programming model is much
simpler any programming(scripting language
can be used& provided that it allows the
program to read from standard input and write
to standard output e"isting programs can be
used unmodified as Apache filters -ven when
the performance characteristics are not suitable
for production use& mod;e"t;filter can be used
as a prototype environment for filters+
-"t5ilter2efine
-"t5ilter'ptions
Sheet1
Page 48
Cache5ile MMap5ile
Header 0e.uestHeader
This module should be used with care+ Hou can
easily create a bro!en site using
mod;file;cache& so read this document
carefully+ Caching fre.uently re.uested files
that change very infre.uently is a techni.ue for
reducing server load+ mod;file;cache provides
two techni.ues for caching fre.uently
re.uested static files+ Through configuration
directives& you can direct mod;file;cache to
either open then mmap( a file& or to pre-open a
file and save the file7s open file handle+ 4oth
techni.ues reduce server load when processing
re.uests for these files by doing part of the
wor! (specifically& the file *(' for serving the
file when the server is started rather than
during each re.uest+ $otice: Hou cannot use
this for speeding up C,* programs or other
files which are served by special content
handlers+ *t can only be used for regular files
which are usually served by the Apache core
content handler+ This module is an e"tension of
and borrows heavily from the
mod;mmap;static module in Apache @+<+
This module enables smart, context-sensitive
configuration of output content filters. For
example, apache can be configured to process
different content-types through different filters,
even when the content-type is not known in
advance (e.g. in a proxy). modfilter works by
introducing indirection into the filter chain.
!nstead of inserting filters in the chain, we
insert a filter harness which in turn dispatches
conditionally to a filter provider. "ny content
filter may be used as a provider to modfilter#
no change to existing filter modules is re$uired
(although it may be possible to simplify them).
Add'utput5ilter4yType
5ilterChain 5ilter2eclare
5ilterProtocol
5ilterProvider 5ilterTrace
This module provides directives to control and
modify %TT& re$uest and response headers.
%eaders can be merged, replaced or removed.
Sheet1
Page 49
Sheet1
Page 50
Sheet1
Page 51
Sheet1
Page 52
Sheet1
Page 53
$ink
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@m3m?common4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@e.ent4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@core4htm$
Sheet1
Page 54
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@m3m?net%are4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@m3mt?os24htm$
Sheet1
Page 55
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@3re,or/4htm$
Sheet1
Page 56
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@m3m?%innt4htm$
Sheet1
Page 57
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@%or/er4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?access?com3at4htm$
Sheet1
Page 58
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?actions4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?a$ias4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?a$$o%metho(s4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?asis4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth?+asic4htm$
Sheet1
Page 59
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth?(igest4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth?,orm4htm$
Sheet1
Page 60
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?anon4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?core4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?(+(4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?(+m4htm$
Sheet1
Page 61
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?,i$e4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn?socache4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn2?,cgi4htm$
Sheet1
Page 62
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?authn2?$(a34htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?core4htm$
Sheet1
Page 63
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?(+(4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?(+m4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?grou3,i$e4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?host4htm$
Sheet1
Page 64
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?o%ner4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?auth2?user4htm$
Sheet1
Page 65
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?autoin(e-4htm$
Sheet1
Page 66
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?+u,,er4htm$
Sheet1
Page 67
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?cache4htm$
Sheet1
Page 68
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?cache?(is/4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?cache?socache4htm$
Sheet1
Page 69
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?cern?meta4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?cgi4htm$
http:((httpd+apache+org(docs(current(mod(mod;cgid+html
Sheet1
Page 70
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?charset?$ite4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(ata4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(a.4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(a.?,s4htm$
Sheet1
Page 71
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(a.?$oc/4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(+(4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(e,$ate4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(ia$u34htm$
Sheet1
Page 72
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(ir4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?(um3io4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?echo4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?en.4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?e-am3$e4htm$
Sheet1
Page 73
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?e-3ires4htm$
http:((httpd+apache+org(docs(current(mod(mod;e"t;filter+html
Sheet1
Page 74
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?,i$e?cache4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?,i$ter4htm$
htt3J@@htt3(4a3ache4org@(ocs@current@mo(@mo(?hea(ers4htm$
Sheet1
Page 75
Sheet1
Page 76
Sheet1
Page 77
Sheet1
Page 78

Vous aimerez peut-être aussi