summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/httpd/htdocs/index.html.nn48
-rw-r--r--usr.sbin/httpd/htdocs/manual/bind.html.en140
-rw-r--r--usr.sbin/httpd/htdocs/manual/bind.html.fr155
-rw-r--r--usr.sbin/httpd/htdocs/manual/bind.html.html144
-rw-r--r--usr.sbin/httpd/htdocs/manual/cgi_path.html.en108
-rw-r--r--usr.sbin/httpd/htdocs/manual/cgi_path.html.fr137
-rw-r--r--usr.sbin/httpd/htdocs/manual/cgi_path.html.html112
-rw-r--r--usr.sbin/httpd/htdocs/manual/configuring.html.fr356
-rw-r--r--usr.sbin/httpd/htdocs/manual/custom-error.html.fr231
-rw-r--r--usr.sbin/httpd/htdocs/manual/cygwin.html541
-rw-r--r--usr.sbin/httpd/htdocs/manual/dns-caveats.html.en227
-rw-r--r--usr.sbin/httpd/htdocs/manual/dns-caveats.html.fr279
-rw-r--r--usr.sbin/httpd/htdocs/manual/dns-caveats.html.html231
-rw-r--r--usr.sbin/httpd/htdocs/manual/env.html.en342
-rw-r--r--usr.sbin/httpd/htdocs/manual/env.html.html346
-rw-r--r--usr.sbin/httpd/htdocs/manual/env.html.ja.jis329
-rw-r--r--usr.sbin/httpd/htdocs/manual/howto/auth.html1196
-rw-r--r--usr.sbin/httpd/htdocs/manual/install.html.es243
-rw-r--r--usr.sbin/httpd/htdocs/manual/invoking.html.en155
-rw-r--r--usr.sbin/httpd/htdocs/manual/invoking.html.html159
-rw-r--r--usr.sbin/httpd/htdocs/manual/keepalive.html.en103
-rw-r--r--usr.sbin/httpd/htdocs/manual/keepalive.html.html97
-rw-r--r--usr.sbin/httpd/htdocs/manual/keepalive.html.ja.jis103
-rw-r--r--usr.sbin/httpd/htdocs/manual/logs.html677
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/core.html.en3758
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/core.html.fr4115
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/core.html.html3762
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.fr261
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directives.html.de253
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directives.html.en602
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directives.html.fr580
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directives.html.html582
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/directives.html.ja.jis249
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.en308
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.fr329
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.html307
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index.html.en263
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index.html.fr278
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index.html.html258
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/index.html.ja.jis139
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.en125
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.html129
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.ja.jis132
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_env.html.en142
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_env.html.html146
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_env.html.ja.jis172
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.en656
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.html660
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.ja.jis823
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.en337
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.html341
-rw-r--r--usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis431
-rw-r--r--usr.sbin/httpd/htdocs/manual/programs/index.html.en82
-rw-r--r--usr.sbin/httpd/htdocs/manual/programs/index.html.html75
-rw-r--r--usr.sbin/httpd/htdocs/manual/programs/index.html.ja.jis74
-rw-r--r--usr.sbin/httpd/htdocs/manual/sitemap.html189
-rw-r--r--usr.sbin/httpd/htdocs/manual/stopping.html.en208
-rw-r--r--usr.sbin/httpd/htdocs/manual/stopping.html.fr261
-rw-r--r--usr.sbin/httpd/htdocs/manual/stopping.html.html212
-rw-r--r--usr.sbin/httpd/htdocs/manual/suexec.html.en618
-rw-r--r--usr.sbin/httpd/htdocs/manual/suexec.html.html622
-rw-r--r--usr.sbin/httpd/htdocs/manual/suexec.html.ja.jis548
-rw-r--r--usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.en243
-rw-r--r--usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.html237
-rw-r--r--usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.ja.jis207
-rw-r--r--usr.sbin/httpd/htdocs/manual/win_service.html.en445
-rw-r--r--usr.sbin/httpd/htdocs/manual/win_service.html.html449
-rw-r--r--usr.sbin/httpd/htdocs/manual/win_service.html.ja.jis373
-rw-r--r--usr.sbin/httpd/icons/a.pngbin0 -> 293 bytes
-rw-r--r--usr.sbin/httpd/icons/alert.black.pngbin0 -> 279 bytes
-rw-r--r--usr.sbin/httpd/icons/alert.red.pngbin0 -> 298 bytes
-rw-r--r--usr.sbin/httpd/icons/apache_pb.pngbin0 -> 1385 bytes
-rw-r--r--usr.sbin/httpd/icons/back.pngbin0 -> 284 bytes
-rw-r--r--usr.sbin/httpd/icons/ball.gray.pngbin0 -> 277 bytes
-rw-r--r--usr.sbin/httpd/icons/ball.red.pngbin0 -> 265 bytes
-rw-r--r--usr.sbin/httpd/icons/binary.pngbin0 -> 296 bytes
-rw-r--r--usr.sbin/httpd/icons/binhex.pngbin0 -> 304 bytes
-rw-r--r--usr.sbin/httpd/icons/blank.pngbin0 -> 195 bytes
-rw-r--r--usr.sbin/httpd/icons/bomb.pngbin0 -> 356 bytes
-rw-r--r--usr.sbin/httpd/icons/box1.pngbin0 -> 308 bytes
-rw-r--r--usr.sbin/httpd/icons/box2.pngbin0 -> 322 bytes
-rw-r--r--usr.sbin/httpd/icons/broken.pngbin0 -> 305 bytes
-rw-r--r--usr.sbin/httpd/icons/burst.pngbin0 -> 314 bytes
-rw-r--r--usr.sbin/httpd/icons/c.pngbin0 -> 285 bytes
-rw-r--r--usr.sbin/httpd/icons/comp.blue.pngbin0 -> 313 bytes
-rw-r--r--usr.sbin/httpd/icons/comp.gray.pngbin0 -> 304 bytes
-rw-r--r--usr.sbin/httpd/icons/compressed.pngbin0 -> 315 bytes
-rw-r--r--usr.sbin/httpd/icons/continued.pngbin0 -> 272 bytes
-rw-r--r--usr.sbin/httpd/icons/dir.pngbin0 -> 272 bytes
-rw-r--r--usr.sbin/httpd/icons/down.pngbin0 -> 232 bytes
-rw-r--r--usr.sbin/httpd/icons/dvi.pngbin0 -> 290 bytes
-rw-r--r--usr.sbin/httpd/icons/f.pngbin0 -> 282 bytes
-rw-r--r--usr.sbin/httpd/icons/folder.open.pngbin0 -> 305 bytes
-rw-r--r--usr.sbin/httpd/icons/folder.pngbin0 -> 272 bytes
-rw-r--r--usr.sbin/httpd/icons/folder.sec.pngbin0 -> 290 bytes
-rw-r--r--usr.sbin/httpd/icons/forward.pngbin0 -> 284 bytes
-rw-r--r--usr.sbin/httpd/icons/generic.pngbin0 -> 260 bytes
-rw-r--r--usr.sbin/httpd/icons/generic.red.pngbin0 -> 262 bytes
-rw-r--r--usr.sbin/httpd/icons/generic.sec.pngbin0 -> 279 bytes
-rw-r--r--usr.sbin/httpd/icons/hand.right.pngbin0 -> 280 bytes
-rw-r--r--usr.sbin/httpd/icons/hand.up.pngbin0 -> 280 bytes
-rw-r--r--usr.sbin/httpd/icons/icon.sheet.pngbin0 -> 8898 bytes
-rw-r--r--usr.sbin/httpd/icons/image1.pngbin0 -> 307 bytes
-rw-r--r--usr.sbin/httpd/icons/image2.pngbin0 -> 355 bytes
-rw-r--r--usr.sbin/httpd/icons/image3.pngbin0 -> 323 bytes
-rw-r--r--usr.sbin/httpd/icons/index.pngbin0 -> 316 bytes
-rw-r--r--usr.sbin/httpd/icons/layout.pngbin0 -> 306 bytes
-rw-r--r--usr.sbin/httpd/icons/left.pngbin0 -> 235 bytes
-rw-r--r--usr.sbin/httpd/icons/link.pngbin0 -> 297 bytes
-rw-r--r--usr.sbin/httpd/icons/movie.pngbin0 -> 258 bytes
-rw-r--r--usr.sbin/httpd/icons/p.pngbin0 -> 284 bytes
-rw-r--r--usr.sbin/httpd/icons/patch.pngbin0 -> 295 bytes
-rw-r--r--usr.sbin/httpd/icons/pdf.pngbin0 -> 289 bytes
-rw-r--r--usr.sbin/httpd/icons/pie0.pngbin0 -> 242 bytes
-rw-r--r--usr.sbin/httpd/icons/pie1.pngbin0 -> 261 bytes
-rw-r--r--usr.sbin/httpd/icons/pie2.pngbin0 -> 253 bytes
-rw-r--r--usr.sbin/httpd/icons/pie3.pngbin0 -> 256 bytes
-rw-r--r--usr.sbin/httpd/icons/pie4.pngbin0 -> 239 bytes
-rw-r--r--usr.sbin/httpd/icons/pie5.pngbin0 -> 258 bytes
-rw-r--r--usr.sbin/httpd/icons/pie6.pngbin0 -> 253 bytes
-rw-r--r--usr.sbin/httpd/icons/pie7.pngbin0 -> 258 bytes
-rw-r--r--usr.sbin/httpd/icons/pie8.pngbin0 -> 233 bytes
-rw-r--r--usr.sbin/httpd/icons/portal.pngbin0 -> 303 bytes
-rw-r--r--usr.sbin/httpd/icons/ps.pngbin0 -> 287 bytes
-rw-r--r--usr.sbin/httpd/icons/quill.pngbin0 -> 315 bytes
-rw-r--r--usr.sbin/httpd/icons/right.pngbin0 -> 233 bytes
-rw-r--r--usr.sbin/httpd/icons/screw1.pngbin0 -> 312 bytes
-rw-r--r--usr.sbin/httpd/icons/screw2.pngbin0 -> 318 bytes
-rw-r--r--usr.sbin/httpd/icons/script.pngbin0 -> 275 bytes
-rw-r--r--usr.sbin/httpd/icons/small/back.pngbin0 -> 238 bytes
-rw-r--r--usr.sbin/httpd/icons/small/binary.pngbin0 -> 242 bytes
-rw-r--r--usr.sbin/httpd/icons/small/binhex.pngbin0 -> 248 bytes
-rw-r--r--usr.sbin/httpd/icons/small/blank.pngbin0 -> 90 bytes
-rw-r--r--usr.sbin/httpd/icons/small/broken.pngbin0 -> 254 bytes
-rw-r--r--usr.sbin/httpd/icons/small/burst.pngbin0 -> 194 bytes
-rw-r--r--usr.sbin/httpd/icons/small/comp1.pngbin0 -> 197 bytes
-rw-r--r--usr.sbin/httpd/icons/small/comp2.pngbin0 -> 194 bytes
-rw-r--r--usr.sbin/httpd/icons/small/compressed.pngbin0 -> 189 bytes
-rw-r--r--usr.sbin/httpd/icons/small/continued.pngbin0 -> 214 bytes
-rw-r--r--usr.sbin/httpd/icons/small/dir.pngbin0 -> 175 bytes
-rw-r--r--usr.sbin/httpd/icons/small/dir2.pngbin0 -> 161 bytes
-rw-r--r--usr.sbin/httpd/icons/small/doc.pngbin0 -> 269 bytes
-rw-r--r--usr.sbin/httpd/icons/small/forward.pngbin0 -> 244 bytes
-rw-r--r--usr.sbin/httpd/icons/small/generic.pngbin0 -> 182 bytes
-rw-r--r--usr.sbin/httpd/icons/small/generic2.pngbin0 -> 158 bytes
-rw-r--r--usr.sbin/httpd/icons/small/generic3.pngbin0 -> 147 bytes
-rw-r--r--usr.sbin/httpd/icons/small/image.pngbin0 -> 178 bytes
-rw-r--r--usr.sbin/httpd/icons/small/image2.pngbin0 -> 186 bytes
-rw-r--r--usr.sbin/httpd/icons/small/index.pngbin0 -> 206 bytes
-rw-r--r--usr.sbin/httpd/icons/small/key.pngbin0 -> 254 bytes
-rw-r--r--usr.sbin/httpd/icons/small/movie.pngbin0 -> 202 bytes
-rw-r--r--usr.sbin/httpd/icons/small/patch.pngbin0 -> 250 bytes
-rw-r--r--usr.sbin/httpd/icons/small/ps.pngbin0 -> 254 bytes
-rw-r--r--usr.sbin/httpd/icons/small/rainbow.pngbin0 -> 2418 bytes
-rw-r--r--usr.sbin/httpd/icons/small/sound.pngbin0 -> 176 bytes
-rw-r--r--usr.sbin/httpd/icons/small/sound2.pngbin0 -> 236 bytes
-rw-r--r--usr.sbin/httpd/icons/small/tar.pngbin0 -> 227 bytes
-rw-r--r--usr.sbin/httpd/icons/small/text.pngbin0 -> 202 bytes
-rw-r--r--usr.sbin/httpd/icons/small/transfer.pngbin0 -> 186 bytes
-rw-r--r--usr.sbin/httpd/icons/small/unknown.pngbin0 -> 226 bytes
-rw-r--r--usr.sbin/httpd/icons/small/uu.pngbin0 -> 217 bytes
-rw-r--r--usr.sbin/httpd/icons/sound1.pngbin0 -> 310 bytes
-rw-r--r--usr.sbin/httpd/icons/sound2.pngbin0 -> 297 bytes
-rw-r--r--usr.sbin/httpd/icons/sphere1.pngbin0 -> 326 bytes
-rw-r--r--usr.sbin/httpd/icons/sphere2.pngbin0 -> 322 bytes
-rw-r--r--usr.sbin/httpd/icons/tar.pngbin0 -> 261 bytes
-rw-r--r--usr.sbin/httpd/icons/tex.pngbin0 -> 295 bytes
-rw-r--r--usr.sbin/httpd/icons/text.pngbin0 -> 273 bytes
-rw-r--r--usr.sbin/httpd/icons/transfer.pngbin0 -> 319 bytes
-rw-r--r--usr.sbin/httpd/icons/unknown.pngbin0 -> 291 bytes
-rw-r--r--usr.sbin/httpd/icons/up.pngbin0 -> 234 bytes
-rw-r--r--usr.sbin/httpd/icons/uu.pngbin0 -> 280 bytes
-rw-r--r--usr.sbin/httpd/icons/uuencoded.pngbin0 -> 280 bytes
-rw-r--r--usr.sbin/httpd/icons/world1.pngbin0 -> 315 bytes
-rw-r--r--usr.sbin/httpd/icons/world2.pngbin0 -> 339 bytes
-rw-r--r--usr.sbin/httpd/src/ap/ap_ebcdic.c261
-rw-r--r--usr.sbin/httpd/src/helpers/fixwin32mak.pl47
-rw-r--r--usr.sbin/httpd/src/include/ap_ebcdic.h68
-rw-r--r--usr.sbin/httpd/src/modules/standard/Makefile.Cygwin57
-rw-r--r--usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def1
-rw-r--r--usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def1
-rw-r--r--usr.sbin/httpd/src/os/tpf/samples/linkhttp.jcl155
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp95
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_mime_magic.mak281
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_unique_id.dsp95
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_unique_id.mak281
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp95
-rw-r--r--usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak278
-rw-r--r--usr.sbin/httpd/src/support/checkgid.c136
189 files changed, 33291 insertions, 0 deletions
diff --git a/usr.sbin/httpd/htdocs/index.html.nn b/usr.sbin/httpd/htdocs/index.html.nn
new file mode 100644
index 00000000000..67db9570b04
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/index.html.nn
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+ <HEAD>
+ <TITLE>Testside Apache-installasjon</TITLE>
+ </HEAD>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+ >
+ <H1 ALIGN="CENTER">
+ Det gjekk bra! Apache er no installert på denne maskina!
+ </H1>
+ <P>
+ Dersom du kan sjå denne sida, har den eller dei som driv denne nettstaden
+ installert <A href="http://www.apache.org/foundation/preFAQ.html">Apache vevtenar</a>.
+ No må denne testsida erstattast med verkeleg innhald.
+ </P>
+ <HR>
+ <BLOCKQUOTE>
+ Dersom du hadde venta å sjå ei anna side enn denne, bør du
+ <strong>ta kontakt med den som er ansvarleg for denne nettstaden</strong>
+ (Prøv å sende e-post til <SAMP>&lt;webmaster@<EM>domene</EM>&gt;</SAMP>.)
+ Sjølv om denne nettstaden vert kjørt på Apache, har den ingen annan
+ tilknytning til Apache-gruppa, som har utvikla programvaren.
+ Ver snill og ikkje send e-post om denne nettstaden eller
+ innhaldet du finn her til utviklarane i Apache-gruppa.
+ I så tilfelle vil førespurnaden <strong><BIG>ignorerast</BIG></strong>.
+ </BLOCKQUOTE>
+ <HR>
+ <P>
+ <A
+ HREF="manual/index.html"
+ >Dokumentasjon</A>
+ for Apache er inkludert i denne pakka.
+ </P>
+ <P>
+ Logoen under kan brukast på kva som helst av maskiner som køyrer Apache.
+ Takk for at du nyttar Apache!
+ </P>
+ <DIV ALIGN="CENTER">
+ <IMG SRC="apache_pb.gif" ALT="">
+ </DIV>
+ </BODY>
+</HTML>
diff --git a/usr.sbin/httpd/htdocs/manual/bind.html.en b/usr.sbin/httpd/htdocs/manual/bind.html.en
new file mode 100644
index 00000000000..ce80ec33be8
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/bind.html.en
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Setting which addresses and ports Apache uses</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Setting which addresses and ports Apache
+ uses</h1>
+ <hr />
+ When Apache starts, it connects to some port and address on the
+ local machine and waits for incoming requests. By default, it
+ listens to all addresses on the machine, and to the port as
+ specified by the <tt>Port</tt> directive in the server
+ configuration. However, it can be told to listen to more the
+ one port, or to listen to only selected addresses, or a
+ combination. This is often combined with the Virtual Host
+ feature which determines how Apache responds to different IP
+ addresses, hostnames and ports.
+
+ <p>There are two directives used to restrict or specify which
+ addresses and ports Apache listens to.</p>
+
+ <ul>
+ <li><a href="#bindaddress">BindAddress</a> is used to
+ restrict the server to listening to a single address, and can
+ be used to permit multiple Apache servers on the same machine
+ listening to different IP addresses.</li>
+
+ <li><a href="#listen">Listen</a> can be used to make a single
+ Apache server listen to more than one address and/or
+ port.</li>
+ </ul>
+
+ <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BindAddress <em>[ * |
+ IP-address | hostname ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>BindAddress
+ *</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>Makes the server bind to just the specified address. If the
+ argument is * (an asterisk), the server binds to all interfaces
+ currently marked as up on the server. The port bound to is set
+ with the <tt>Port</tt> directive. Only one BindAddress should
+ be used.</p>
+
+ <h3><a id="listen" name="listen">Listen</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Listen <em>[ port |
+ IP-address:port ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>none</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p><tt>Listen</tt> can be used instead of <tt>BindAddress</tt>
+ and <tt>Port</tt>. It tells the server to accept incoming
+ requests (to listen) on the specified port or address-and-port
+ combination. If the first format is used, with a port number
+ only, the server listens on the given port on all interfaces
+ marked as up, instead of the port given by the <tt>Port</tt>
+ directive. If an IP address is given as well as a port, the
+ server will listen on the given port and interface.</p>
+
+ <p>Multiple Listen directives may be used to specify a number
+ of addresses and ports to listen to. The server will respond to
+ requests from any of the listed addresses and ports.</p>
+
+ <p>For example, to make the server accept connections on both
+ port 80 and port 8000, use:</p>
+<pre>
+ Listen 80
+ Listen 8000
+</pre>
+ To make the server accept connections on two specified
+ interfaces and port numbers, use
+<pre>
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+</pre>
+
+ <h2>How this works with Virtual Hosts</h2>
+ <tt>BindAddress</tt> and <tt>Listen</tt> do not implement
+ Virtual Hosts. They tell the main Apache daemon process what
+ addresses and ports to bind and listen on. If no
+ &lt;VirtualHost&gt; directives are used, the server will behave
+ the same for all accepted requests. However,
+ &lt;VirtualHost&gt; can be used to specify a different behavior
+ for one or more of the addresses and ports. To implement a
+ VirtualHost, the server must:
+
+ <ul>
+ <li>Be told to <tt>Listen</tt> to the desired address and
+ port</li>
+
+ <li>Have a &lt;VirtualHost&gt; section created for the
+ specified address and port to set the behavior of this
+ virtual host</li>
+ </ul>
+ Note that if the &lt;VirtualHost&gt; is set for an address and
+ port that the server is not listening to, it cannot be
+ accessed.
+
+ <h2>See also</h2>
+ See also the documentation on <a href="vhosts/">Virtual
+ Hosts</a>, <a href="mod/core.html#bindaddress">BindAddress
+ directive</a>, <a href="mod/core.html#port">Port directive</a>,
+ <a href="dns-caveats.html">DNS Issues</a> and <a
+ href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
+ section</a>. <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/bind.html.fr b/usr.sbin/httpd/htdocs/manual/bind.html.fr
new file mode 100644
index 00000000000..97694aaf572
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/bind.html.fr
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.15 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>D&eacute;finir quelles adresses et quels ports Apache
+ utilise</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">D&eacute;finir quelles adresses et quels
+ ports Apache utilise</h1>
+ <hr />
+ Quand Apache d&eacute;marre, il se connecte &agrave; des ports
+ et adresses donn&eacute;s de la machine et attend les
+ requ&ecirc;tes. Par d&eacute;faut il &eacute;coute sur toutes
+ les adresses de la machines, et sur le port d&eacute;fini par
+ la directive <tt>Port</tt> du fichier de configuration.
+ Cependant, on peut lui indiquer d'&eacute;couter sur d'autres
+ ports, ou d'&eacute;couter &agrave; partir de certaines
+ adresses seulement, ou une combinaison de ces
+ param&egrave;tres. Ceci est g&eacute;n&eacute;ralement
+ combin&eacute; avec la fonction d'h&ocirc;te virtuel qui
+ d&eacute;finit comment r&eacute;pond aux diff&eacute;rentes
+ adresses IP, nom d'h&ocirc;te et de ports.
+
+ <p>Il existe deux directives pour resteindre ou
+ sp&eacute;cifier sur quels adresses et ports Apache doit
+ &eacute;couter.</p>
+
+ <ul>
+ <li><a href="#bindaddress">BindAddress</a> est employ&eacute;
+ pour resteindre le serveur &agrave; n'&eacute;couter qu'une
+ seule adresse, et peut permettre plusieurs serveurs Apache
+ sur la m&ecirc;me machine d'&eacute;couter diff&eacute;rentes
+ adresses IP.</li>
+
+ <li><a href="#listen">Listen</a> peut &ecirc;tre
+ employ&eacute; pour permettre &agrave; un serveur Apache
+ d'&eacute;couter plusieurs adresses et ports.</li>
+ </ul>
+
+ <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntaxe :</strong></a> BindAddress <em>[ * |
+ IP-address | hostname ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>BindAddress *</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration du
+ serveur<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Statut :</strong></a> base
+
+ <p>Cette directive force le serveur &agrave; n'&eacute;couter
+ que d'une adresse sp&eacute;cifique. Si l'argument est *, le
+ serveur &eacute;coute sur toutes les adresses. Le port
+ d'&eacute;coute est d&eacute;fini par la directive
+ <tt>Port</tt> directive. Il ne doit y avoir qu'au plus une
+ seule directive <tt>BindAddress</tt>.</p>
+
+ <h3><a id="listen" name="listen">Listen</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntaxe :</strong></a> Listen <em>[ port |
+ IP-address:port ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>aucun</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration du
+ serveur<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Statut :</strong></a> base
+
+ <p><tt>Listen</tt> peut &ecirc;tre utilis&eacute; &agrave; la
+ place de <tt>BindAddress</tt> et <tt>Port</tt>. Il indique au
+ serveur d'accepter des requ&ecirc;tes venant d'un port
+ sp&eacute;cifique ou d'une combinaison d'adresse et de port. Si
+ le premier format est employ&eacute;, avec uniquement un
+ num&eacute;ro de port, le serveur &eacute;coute sur ce port,
+ &agrave; la place du port sp&eacute;cifi&eacute; dans la
+ directive <tt>Port</tt>, sur l'ensemble des interfaces
+ r&eacute;seau. Si une adresse est donn&eacute;e en plus du
+ port, le serveur n'&eacute;coutera que sur le port de
+ l'interface sp&eacute;cifi&eacute;e.</p>
+
+ <p>Plusieurs directives <tt>Listen</tt> peuvent &ecirc;tre
+ utilis&eacute;es pour sp&eacute;cifier un ensemble d'adresses
+ et de ports d'&eacute;coute. Le serveur r&eacute;pondra aux
+ requ&ecirc;tes provenant de n'importe quels de ces adresses et
+ ports.</p>
+
+ <p>Par exemple pour autoriser les requ&ecirc;tes sur les ports
+ 80 et 8000, il suffit d'&eacute;crire :</p>
+<pre>
+ Listen 80
+ Listen 8000
+</pre>
+ Pour que le serveur acccepte des requ&ecirc;tes provenant de
+ deux adresses et ports sp&eacute;cifiques, &eacute;crivez :
+<pre>
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+</pre>
+
+ <h2>Comment cela fonctionne avec les h&ocirc;tes virtuels</h2>
+ <tt>BindAddress</tt> et <tt>Listen</tt> n'impl&eacute;mentent
+ pas les h&ocirc;tes virtuels. Ils indiquent au serveur
+ principal sur quelles adresses et ports &eacute;couter. Si
+ aucune directive <tt>&lt;VirtualHost&gt;</tt> n'est
+ employ&eacute;e, le serveur se comportera de la m&ecirc;me
+ mani&egrave;re pour toutes les requ&ecirc;tes.
+ <tt>&lt;VirtualHost&gt;</tt> peut &ecirc;tre employ&eacute;
+ pour d&eacute;finir un comportement diff&eacute;rent pour un ou
+ plusieurs de ces ports et adresses. Pour impl&eacute;menter un
+ h&ocirc;te virtuel, le serveur doit conna&icirc;tre quels ports
+ et quelles adresses employer. Une section
+ <tt>&lt;VirtualHost&gt;</tt> doit &ecirc;tre
+ cr&eacute;&eacute;e pour une adresse et un port
+ sp&eacute;cifique afin de d&eacute;finir le comportement de cet
+ h&ocirc;te virtuel. Il faut noter que si un h&ocirc;te virtuel
+ est configur&eacute; pour une adresse ou un port sur lequel le
+ serveur n'&eacute;coute pas, il est inaccessible.
+
+ <h2>Voir &eacute;galement</h2>
+ Voir &eacute;galement la documentation sur les <a
+ href="vhosts/">h&ocirc;tes virtuels</a>, la <a
+ href="mod/core.html#bindaddress">directive BindAddress</a>, la
+ <a href="mod/core.html#port">directive Port</a>, les <a
+ href="dns-caveats.html">questions sur le DNS</a> et la <a
+ href="mod/core.html#virtualhost">section
+ &lt;VirtualHost&gt;</a>. <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/bind.html.html b/usr.sbin/httpd/htdocs/manual/bind.html.html
new file mode 100644
index 00000000000..cb607b7ebc0
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/bind.html.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Setting which addresses and ports Apache uses</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Setting which addresses and ports Apache
+ uses</h1>
+ <hr />
+ When Apache starts, it connects to some port and address on the
+ local machine and waits for incoming requests. By default, it
+ listens to all addresses on the machine, and to the port as
+ specified by the <tt>Port</tt> directive in the server
+ configuration. However, it can be told to listen to more the
+ one port, or to listen to only selected addresses, or a
+ combination. This is often combined with the Virtual Host
+ feature which determines how Apache responds to different IP
+ addresses, hostnames and ports.
+
+ <p>There are two directives used to restrict or specify which
+ addresses and ports Apache listens to.</p>
+
+ <ul>
+ <li><a href="#bindaddress">BindAddress</a> is used to
+ restrict the server to listening to a single address, and can
+ be used to permit multiple Apache servers on the same machine
+ listening to different IP addresses.</li>
+
+ <li><a href="#listen">Listen</a> can be used to make a single
+ Apache server listen to more than one address and/or
+ port.</li>
+ </ul>
+
+ <h3><a id="bindaddress" name="bindaddress">BindAddress</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BindAddress <em>[ * |
+ IP-address | hostname ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>BindAddress
+ *</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>Makes the server bind to just the specified address. If the
+ argument is * (an asterisk), the server binds to all interfaces
+ currently marked as up on the server. The port bound to is set
+ with the <tt>Port</tt> directive. Only one BindAddress should
+ be used.</p>
+
+ <h3><a id="listen" name="listen">Listen</a></h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Listen <em>[ port |
+ IP-address:port ]</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>none</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p><tt>Listen</tt> can be used instead of <tt>BindAddress</tt>
+ and <tt>Port</tt>. It tells the server to accept incoming
+ requests (to listen) on the specified port or address-and-port
+ combination. If the first format is used, with a port number
+ only, the server listens on the given port on all interfaces
+ marked as up, instead of the port given by the <tt>Port</tt>
+ directive. If an IP address is given as well as a port, the
+ server will listen on the given port and interface.</p>
+
+ <p>Multiple Listen directives may be used to specify a number
+ of addresses and ports to listen to. The server will respond to
+ requests from any of the listed addresses and ports.</p>
+
+ <p>For example, to make the server accept connections on both
+ port 80 and port 8000, use:</p>
+<pre>
+ Listen 80
+ Listen 8000
+</pre>
+ To make the server accept connections on two specified
+ interfaces and port numbers, use
+<pre>
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+</pre>
+
+ <h2>How this works with Virtual Hosts</h2>
+ <tt>BindAddress</tt> and <tt>Listen</tt> do not implement
+ Virtual Hosts. They tell the main Apache daemon process what
+ addresses and ports to bind and listen on. If no
+ &lt;VirtualHost&gt; directives are used, the server will behave
+ the same for all accepted requests. However,
+ &lt;VirtualHost&gt; can be used to specify a different behavior
+ for one or more of the addresses and ports. To implement a
+ VirtualHost, the server must:
+
+ <ul>
+ <li>Be told to <tt>Listen</tt> to the desired address and
+ port</li>
+
+ <li>Have a &lt;VirtualHost&gt; section created for the
+ specified address and port to set the behavior of this
+ virtual host</li>
+ </ul>
+ Note that if the &lt;VirtualHost&gt; is set for an address and
+ port that the server is not listening to, it cannot be
+ accessed.
+
+ <h2>See also</h2>
+ See also the documentation on <a href="vhosts/">Virtual
+ Hosts</a>, <a href="mod/core.html#bindaddress">BindAddress
+ directive</a>, <a href="mod/core.html#port">Port directive</a>,
+ <a href="dns-caveats.html">DNS Issues</a> and <a
+ href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
+ section</a>. <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/cgi_path.html.en b/usr.sbin/httpd/htdocs/manual/cgi_path.html.en
new file mode 100644
index 00000000000..38adb0eef29
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/cgi_path.html.en
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>PATH_INFO Changes in the CGI Environment</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">PATH_INFO Changes in the CGI
+ Environment</h1>
+ <hr />
+
+ <h2><a id="over" name="over">Overview</a></h2>
+
+ <p>As implemented in Apache 1.1.1 and earlier versions, the
+ method Apache used to create PATH_INFO in the CGI environment
+ was counterintuitive, and could result in crashes in certain
+ cases. In Apache 1.2 and beyond, this behavior has changed.
+ Although this results in some compatibility problems with
+ certain legacy CGI applications, the Apache 1.2 behavior is
+ still compatible with the CGI/1.1 specification, and CGI
+ scripts can be easily modified (<a href="#compat">see
+ below</a>).</p>
+
+ <h2><a id="prob" name="prob">The Problem</a></h2>
+
+ <p>Apache 1.1.1 and earlier implemented the PATH_INFO and
+ SCRIPT_NAME environment variables by looking at the filename,
+ not the URL. While this resulted in the correct values in many
+ cases, when the filesystem path was overloaded to contain path
+ information, it could result in errant behavior. For example,
+ if the following appeared in a config file:</p>
+<pre>
+ Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
+</pre>
+
+ <p>In this case, <code>user.cgi</code> is the CGI script, the
+ "/ralph" is information to be passed onto the CGI. If this
+ configuration was in place, and a request came for
+ "<code>/cgi-ralph/script/</code>", the code would set PATH_INFO
+ to "<code>/ralph/script</code>", and SCRIPT_NAME to
+ "<code>/cgi-</code>". Obviously, the latter is incorrect. In
+ certain cases, this could even cause the server to crash.</p>
+
+ <h2><a id="solution" name="solution">The Solution</a></h2>
+
+ <p>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO
+ by looking directly at the URL, and determining how much of the
+ URL is client-modifiable, and setting PATH_INFO to it. To use
+ the above example, PATH_INFO would be set to
+ "<code>/script</code>", and SCRIPT_NAME to
+ "<code>/cgi-ralph</code>". This makes sense and results in no
+ server behavior problems. It also permits the script to be
+ guaranteed that
+ "<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
+ will always be an accessible URL that points to the current
+ script, something which was not necessarily true with previous
+ versions of Apache.</p>
+
+ <p>However, the "<code>/ralph</code>" information from the
+ <code>Alias</code> directive is lost. This is unfortunate, but
+ we feel that using the filesystem to pass along this sort of
+ information is not a recommended method, and a script making
+ use of it "deserves" not to work. Apache 1.2b3 and later,
+ however, do provide <a href="#compat">a workaround.</a></p>
+
+ <h2><a id="compat" name="compat">Compatibility with Previous
+ Servers</a></h2>
+
+ <p>It may be necessary for a script that was designed for
+ earlier versions of Apache or other servers to need the
+ information that the old PATH_INFO variable provided. For this
+ purpose, Apache 1.2 (1.2b3 and later) sets an additional
+ variable, FILEPATH_INFO. This environment variable contains the
+ value that PATH_INFO would have had with Apache 1.1.1.</p>
+
+ <p>A script that wishes to work with both Apache 1.2 and
+ earlier versions can simply test for the existence of
+ FILEPATH_INFO, and use it if available. Otherwise, it can use
+ PATH_INFO. For example, in Perl, one might use:</p>
+<pre>
+ $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
+</pre>
+
+ <p>By doing this, a script can work with all servers supporting
+ the CGI/1.1 specification, including all versions of
+ Apache.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/cgi_path.html.fr b/usr.sbin/httpd/htdocs/manual/cgi_path.html.fr
new file mode 100644
index 00000000000..b6c9022a561
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/cgi_path.html.fr
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.7 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Modification de PATH_INFO dans l'environnement
+ CGI</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Modification de PATH_INFO dans
+ l'environnement CGI</h1>
+ <hr />
+
+ <h2><a id="over" name="over">Vue d'ensemble</a></h2>
+
+ <p>Telle qu'elle &eacute;tait impl&eacute;ment&eacute;e dans
+ les versions ant&eacute;rieures &agrave; la version 1.1.1
+ d'Apache (comprise), la m&eacute;thode utilis&eacute;e par
+ Apache pour cr&eacute;er la variable PATH_INFO dans
+ l'environnement CGI &eacute;tait loin d'&ecirc;tre intuitive,
+ et pouvait conduire &agrave; certaines d&eacute;faillances dans
+ certains cas. A partir de la version 1.2 d'Apache, cette
+ m&eacute;thode a &eacute;t&eacute; modifi&eacute;e. Bien que
+ ces modifications puissent conduire &agrave; certaines
+ incompatibilit&eacute;s avec certaines applications CGI, le
+ comportement d'Apache 1.2 reste toujours compatible avec la
+ sp&eacute;cification CGI/1.1, et les scripts CGI restent
+ facilement modifiables (<a href="#compat">voir
+ ci-dessous</a>).</p>
+
+ <h2><a id="prob" name="prob">Le Probl&egrave;me</a></h2>
+
+ <p>Les versions d'Apache jusqu'&agrave; 1.1.1 construisaient
+ les variables d'environnement CGI PATH_INFO et SCRIPT_NAME en
+ inspectant les noms de fichiers, et non les URL. Bien que cette
+ technique conduise &agrave; des valeurs correctes dans la
+ plupart des cas, il pouvait arriver que le chemin d&eacute;fini
+ par le syst&egrave;me de fichiers soit surcharg&eacute; par une
+ red&eacute;finition, laquelle conduisait &agrave; une mauvaise
+ interpr&eacute;tation lors de la constitution des variables.
+ Par exemple, si la ligne suivante apparaissait dans un fichier
+ de configuration :</p>
+<pre>
+ Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
+</pre>
+
+ <p>Dans ce cas, <code>user.cgi</code> d&eacute;signe le script
+ CGI, la cha&icirc;ne "/ralph" est une information &agrave;
+ passer au CGI. Si cette configuration &eacute;tait en place, et
+ qu'une requ&ecirc;te vers "<code>/cgi-ralph/script/</code>"
+ &eacute;tait re&ccedil;ue, le code du serveur aurait
+ constitu&eacute; une variable PATH_INFO de valeur
+ "<code>/ralph/script</code>", et SCRIPT_NAME de valeur
+ "<code>/cgi-</code>". Il est &eacute;vident de constater que la
+ deuxi&egrave;me variable est fausse. Dans certains cas, cela
+ aurait m&ecirc;me pu conduire &agrave; un arr&ecirc;t du
+ serveur.</p>
+
+ <h2><a id="solution" name="solution">La Solution</a></h2>
+
+ <p>Les versions post&eacute;rieures &agrave; 1.2 d'Apache
+ d&eacute;finissent maintenant les variables SCRIPT_NAME et
+ PATH_INFO en inspectant directement l'URL, et en
+ d&eacute;terminant quelle portion de l'URL est modifiable par
+ le client. PATH_INFO est initialis&eacute; &agrave; cette
+ partie modifiable. Pour r&eacute;exploiter l'exemple ci-dessus,
+ PATH_INFO prendrait maintenant la valeur
+ "<code>/script</code>", et SCRIPT_NAME la valeur correcte
+ "<code>/cgi-ralph</code>". Il n'y a plus de probl&egrave;me de
+ comportement du serveur dans ce cas. Cela permet en outre de
+ garantir l'accessibilit&eacute; de l'URL
+ <code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
+ laquelle pointe sur le script courant. Ce n'&eacute;tait pas
+ n&eacute;cesairement vrai dans les versions
+ pr&eacute;c&eacute;dentes d'Apache.</p>
+
+ <p>Toutefois, l'information "<code>/ralph</code>" de la
+ directive <code>Alias</code> est perdue. Nous pensions que
+ l'utilisation du syst&egrave;me de fichiers pour faire passer
+ ce genre d'information n'&eacute;tait pas une m&eacute;thode
+ recommand&eacute;e, et un script utilisant ce principe
+ &eacute;tait de toutes fa&ccedil;ons &agrave; &eacute;viter.
+ Nous avons ajout&eacute; malgr&eacute; tout &agrave; partir de
+ la version 1.2b3 d'Apache une fa&ccedil;on de <a
+ href="#compat">contourner</a> cette restriction.</p>
+
+ <h2><a id="compat" name="compat">Compatibilit&eacute; avec des
+ serveurs plus anciens</a></h2>
+
+ <p>Il se peut que certains scripts &eacute;crits pour des
+ versions ant&eacute;rieures d'Apache ou pour d'autres serveurs
+ aient besoin d'exploiter les informations donn&eacute;es dans
+ l'ancien mod&egrave;le de variable PATH_INFO. A cet effet, la
+ version 1.2 d'Apache (1.2b3 et post&eacute;rieures) proposent
+ une variable suppl&eacute;mentaire, appel&eacute;e
+ FILEPATH_INFO. Cette nouvelle variable d'environnement contient
+ la valeur qui &eacute;tait pr&eacute;c&eacute;demment inscrite
+ dans PATH_INFO par la version 1.1.1 d'Apache.</p>
+
+ <p>Un script d&eacute;sirant &ecirc;tre compatible avec toutes
+ les versions d'Apache peut simplement tester l'existence de la
+ variable FILEPATH_INFO, et utiliser cette variable si besoin
+ est. Autrement, il r&eacute;cup&eacute;rera ses informations
+ dans la variable PATH_INFO. Par exemple, en Perl, on pourra
+ &eacute;crire :</p>
+<pre>
+ $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
+</pre>
+
+ <p>Par cette &eacute;criture, un script fonctionnera avec tous
+ les serveurs conformes &agrave; la sp&eacute;cification
+ CGI/1.1, incluant par l&agrave; m&ecirc;me toutes les versions
+ d'Apache.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/cgi_path.html.html b/usr.sbin/httpd/htdocs/manual/cgi_path.html.html
new file mode 100644
index 00000000000..434ab2106b4
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/cgi_path.html.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>PATH_INFO Changes in the CGI Environment</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">PATH_INFO Changes in the CGI
+ Environment</h1>
+ <hr />
+
+ <h2><a id="over" name="over">Overview</a></h2>
+
+ <p>As implemented in Apache 1.1.1 and earlier versions, the
+ method Apache used to create PATH_INFO in the CGI environment
+ was counterintuitive, and could result in crashes in certain
+ cases. In Apache 1.2 and beyond, this behavior has changed.
+ Although this results in some compatibility problems with
+ certain legacy CGI applications, the Apache 1.2 behavior is
+ still compatible with the CGI/1.1 specification, and CGI
+ scripts can be easily modified (<a href="#compat">see
+ below</a>).</p>
+
+ <h2><a id="prob" name="prob">The Problem</a></h2>
+
+ <p>Apache 1.1.1 and earlier implemented the PATH_INFO and
+ SCRIPT_NAME environment variables by looking at the filename,
+ not the URL. While this resulted in the correct values in many
+ cases, when the filesystem path was overloaded to contain path
+ information, it could result in errant behavior. For example,
+ if the following appeared in a config file:</p>
+<pre>
+ Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
+</pre>
+
+ <p>In this case, <code>user.cgi</code> is the CGI script, the
+ "/ralph" is information to be passed onto the CGI. If this
+ configuration was in place, and a request came for
+ "<code>/cgi-ralph/script/</code>", the code would set PATH_INFO
+ to "<code>/ralph/script</code>", and SCRIPT_NAME to
+ "<code>/cgi-</code>". Obviously, the latter is incorrect. In
+ certain cases, this could even cause the server to crash.</p>
+
+ <h2><a id="solution" name="solution">The Solution</a></h2>
+
+ <p>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO
+ by looking directly at the URL, and determining how much of the
+ URL is client-modifiable, and setting PATH_INFO to it. To use
+ the above example, PATH_INFO would be set to
+ "<code>/script</code>", and SCRIPT_NAME to
+ "<code>/cgi-ralph</code>". This makes sense and results in no
+ server behavior problems. It also permits the script to be
+ guaranteed that
+ "<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
+ will always be an accessible URL that points to the current
+ script, something which was not necessarily true with previous
+ versions of Apache.</p>
+
+ <p>However, the "<code>/ralph</code>" information from the
+ <code>Alias</code> directive is lost. This is unfortunate, but
+ we feel that using the filesystem to pass along this sort of
+ information is not a recommended method, and a script making
+ use of it "deserves" not to work. Apache 1.2b3 and later,
+ however, do provide <a href="#compat">a workaround.</a></p>
+
+ <h2><a id="compat" name="compat">Compatibility with Previous
+ Servers</a></h2>
+
+ <p>It may be necessary for a script that was designed for
+ earlier versions of Apache or other servers to need the
+ information that the old PATH_INFO variable provided. For this
+ purpose, Apache 1.2 (1.2b3 and later) sets an additional
+ variable, FILEPATH_INFO. This environment variable contains the
+ value that PATH_INFO would have had with Apache 1.1.1.</p>
+
+ <p>A script that wishes to work with both Apache 1.2 and
+ earlier versions can simply test for the existence of
+ FILEPATH_INFO, and use it if available. Otherwise, it can use
+ PATH_INFO. For example, in Perl, one might use:</p>
+<pre>
+ $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
+</pre>
+
+ <p>By doing this, a script can work with all servers supporting
+ the CGI/1.1 specification, including all versions of
+ Apache.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/configuring.html.fr b/usr.sbin/httpd/htdocs/manual/configuring.html.fr
new file mode 100644
index 00000000000..fb556a3ce7d
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/configuring.html.fr
@@ -0,0 +1,356 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <!-- Traduction anglais 1.17 -->
+
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Fichiers de configuration</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Fichiers de configuration</h1>
+
+ <ul>
+ <li><a href="#main">Principaux fichiers de
+ configuration</a></li>
+
+ <li><a href="#syntax">Syntaxe des fichiers de
+ configuration</a></li>
+
+ <li><a href="#modules">Modules</a></li>
+
+ <li><a href="#scope">Port&eacute;e des directives</a></li>
+
+ <li><a href="#htaccess">Fichiers .htaccess</a></li>
+
+ <li><a href="#logs">Fichiers de trace</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="main" name="main">Principaux fichiers de
+ configuration</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Modules li&eacute;s</strong><br />
+ <br />
+ <a href="mod/mod_mime.html">mod_mime</a><br />
+ </td>
+
+ <td valign="top"><strong>Directives
+ li&eacute;es</strong><br />
+ <br />
+ <a
+ href="mod/core.html#accessconfig">AccessConfig</a><br />
+ <a
+ href="mod/core.html#ifdefine">&lt;IfDefine&gt;</a><br />
+ <a href="mod/core.html#include">Include</a><br />
+ <a
+ href="mod/core.html#resourceconfig">ResourceConfig</a><br />
+ <a
+ href="mod/mod_mime.html#typesconfig">TypesConfig</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <p>Apache se configure en pla&ccedil;ant des <a
+ href="mod/directives.html">directives</a> dans des fichiers
+ textes de configuration. Le fichier de configuration principal
+ est g&eacute;n&eacute;ralement appel&eacute;
+ <code>httpd.conf</code>. L'emplacement de ce fichier est
+ fix&eacute; &agrave; la compilation, mais peut &ecirc;tre
+ red&eacute;fini en utilisant l'option de ligne de commande
+ <code>-f</code>. Certains sites poss&egrave;dent
+ &eacute;galement des fichiers <code>srm.conf</code> et
+ <code>access.conf</code> pour des <a
+ href="http://httpd.apache.org/info/three-config-files.html">raisons
+ historiques</a>. De plus, d'autres fichiers de configuration
+ peuvent &ecirc;tre ajout&eacute;s en utilisant la directive
+ <code><a href="mod/core.html#include">Include</a></code>. Les
+ directives peuvent &ecirc;tre plac&eacute;es dans n'importe
+ quel fichier. Les modifications dans le fichier de
+ configuration principal ne sont prises en compte qu'au
+ d&eacute;marrage ou au red&eacute;marrage d'Apache.</p>
+
+ <p>Une nouveaut&eacute; de la version 1.3.13 d'Apache est la
+ possibilit&eacute; qu'un fichier de configuration soit en fait
+ un r&eacute;pertoire. Dans ce cas, Apache lira tous les
+ fichiers et sous r&eacute;pertoires et les traitera comme
+ fichiers de configuration. Une utilisation possible de cette
+ fonctionnalit&eacute; est de pouvoir ajouter des h&ocirc;tes
+ virtuels en cr&eacute;ant des fichiers de configuration pour
+ chaque h&ocirc;te, et de les placer dans le r&eacute;pertoire
+ de configuration. Ainsi, vous pouvez ajouter ou retirer des
+ h&ocirc;tes virtuels sans avoir &agrave; &eacute;diter de
+ fichiers, mais simplement en ajoutant ou supprimant un fichier.
+ Cel&agrave; permet d'automatiser plus facilement ce genre de
+ traitement.</p>
+
+ <p>Le serveur lit &eacute;galement un fichier d&eacute;crivant
+ les types de contenu MIME; le nom de ce fichier est
+ d&eacute;fini par la directive <a
+ href="mod/mod_mime.html#typesconfig">TypesConfig</a> et est par
+ d&eacute;faut <code>mime.types</code>.</p>
+ <hr />
+
+ <h2><a id="syntax" name="syntax">Syntaxe des fichiers de
+ configuration</a></h2>
+
+ <p>Les fichiers de configurations contiennent au plus une
+ directive par ligne. Le caract&egrave;re "\" peut &ecirc;tre
+ utilis&eacute; &agrave; la fin d'une ligne pour indiquer que la
+ directive se poursuit sur la ligne suivante. Il ne doit pas y
+ avoir d'autres caract&egrave;re ou d'espace entre le
+ caract&egrave;re "\" et la fin de la ligne.</p>
+
+ <p>Dans les fichiers de configuration, l'&eacute;criture des
+ noms des directives n'est pas sensible &agrave; la casse, mais
+ les arguments des directives le sont
+ g&eacute;n&eacute;ralement. Les lignes blanches et les espaces
+ pr&eacute;c&eacute;dant une directive sont ignor&eacute;s. Les
+ commentaires <strong>ne doivent pas</strong> &ecirc;tre inclus
+ sur la m&ecirc;me ligne qu'une directive. Les lignes
+ commen&ccedil;ant par le caract&egrave;re di&egrave;se "#" sont
+ trait&eacute;es comme des commentaires et sont ignor&eacute;s;
+ vous pouvez les utiliser pour indenter les directives et rendre
+ leur lecture plus facile.</p>
+
+ <p>Vous pouvez v&eacute;rifier la syntaxe de vos fichiers de
+ configuration en utilisant soit <code>apachectl
+ configtest</code> soit l'option de ligne de commande
+ <code>-t</code>.</p>
+ <hr />
+
+ <h2><a id="modules" name="modules">Modules</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Modules li&eacute;s</strong><br />
+ <br />
+ <a href="mod/mod_so.html">mod_so</a><br />
+ </td>
+
+ <td valign="top"><strong>Directives
+ li&eacute;es</strong><br />
+ <br />
+ <a href="mod/core.html#addmodule">AddModule</a><br />
+ <a
+ href="mod/core.html#clearmodulelist">ClearModuleList</a><br />
+ <a
+ href="mod/core.html#ifmodule">&lt;IfModule&gt;</a><br />
+ <a href="mod/mod_so.html#loadmodule">LoadModule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <p>Apache est un serveur modulaire. Cel&agrave; implique que
+ seules les fonctions de base sont incluses dans le noyau du
+ serveur. Les fonctionnalit&eacute;s plus avanc&eacute;es sont
+ disponibles gr&acirc;ce aux <a
+ href="mod/index-bytype.html">modules</a> qui peuvent &ecirc;tre
+ charg&eacute;s dans Apache. Par d&eacute;faut, un ensemble de
+ modules de <a href="mod/module-dict.html#Status">base</a> sont
+ inclus &agrave; la compilation. Si le serveur est
+ compil&eacute; pour utiliser les modules <a
+ href="dso.html">dynamiquement charg&eacute;s</a>, alors les
+ modules peuvent &ecirc;tre compil&eacute;s
+ s&eacute;par&eacute;ment et ajout&eacute; &agrave; n'importe
+ quel moment en utilisant la directive <a
+ href="mod/mod_so.html#loadmodule">LoadModule</a>. Sinon, Apache
+ doit &ecirc;tre recompil&eacute; pour ajouter ou supprimer des
+ modules. Des directives de configuration peuvent &ecirc;tre
+ incluses de mani&egrave;re conditionnelle en fonction de la
+ pr&eacute;sence d'un module particulier en les entourant par un
+ bloc <a href="mod/core.html#ifmodule">&lt;IfModule&gt;</a>.</p>
+
+ <p>Pour savoir quels modules ont &eacute;t&eacute;
+ compil&eacute;s dans le serveur, vous pouvez utiliser l'option
+ de ligne de commande <code>-l</code>.</p>
+ <hr />
+
+ <h2><a id="scope" name="scope">Port&eacute;e des
+ directives</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Directives
+ li&eacute;es</strong><br />
+ <br />
+ <a
+ href="mod/core.html#directory">&lt;Directory&gt;</a><br />
+ <a
+ href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a><br />
+ <a href="mod/core.html#files">&lt;Files&gt;</a><br />
+ <a
+ href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a><br />
+ <a
+ href="mod/core.html#location">&lt;Location&gt;</a><br />
+ <a
+ href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a><br />
+ <a
+ href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <p>Les directives plac&eacute;es dans les principaux fichiers
+ de configuration s'appliquent &agrave; l'ensemble du serveur.
+ Si vous souhaitez modifier la configuration pour une partie
+ seulement du serveur, vous pouvez mettre en contexte vos
+ directives en les pla&ccedil;ant dans des sections <code><a
+ href="mod/core.html#directory">&lt;Directory&gt;</a>, <a
+ href="mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a>,
+ <a href="mod/core.html#files">&lt;Files&gt;</a>, <a
+ href="mod/core.html#filesmatch">&lt;FilesMatch&gt;</a>, <a
+ href="mod/core.html#location">&lt;Location&gt;</a>,</code> et
+ <code><a
+ href="mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
+ . Ces sections limitent la port&eacute;e d'application des
+ directives qu'elles contiennent &agrave; un emplacement des
+ fichiers ou &agrave; certaines URL. Elles peuvent &ecirc;tre
+ imbriqu&eacute;es, permettant ainsi une configuration
+ tr&egrave;s fine.</p>
+
+ <p>Apache a la possibilit&eacute; de servir plusieurs sites web
+ simultan&eacute;ment. Cette possibilit&eacute; est
+ appel&eacute;e <a href="vhosts/">h&eacute;bergement
+ virtuel</a>. Des directives peuvent &eacute;galement &ecirc;tre
+ limit&eacute;es en utilisant des sections <code><a
+ href="mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
+ afin qu'elles ne s'appliquent qu'&agrave; certains sites
+ web.</p>
+
+ <p>Bien que la plupart des directives peuvent &ecirc;tre
+ plac&eacute;es &agrave; l'int&eacute;rieur de n'importe quelle
+ section, certaines directives n'ont pas de sens dans certains
+ contextes. Par exemple, les directives contr&ocirc;lant la
+ cr&eacute;ation des processus ne peuvent &ecirc;tre
+ plac&eacute;es que dans le contexte pricipal du serveur. Pour
+ savoir quelles directives peuvent &ecirc;tre plac&eacute;es
+ dans quelles sections, v&eacute;rifiez le <a
+ href="mod/directive-dict.html#Context">contexte</a> de la
+ directive. Pour plus d'informations, voir <a
+ href="sections.html">comment les sections Directory, Location
+ et Files fonctionnent</a>.</p>
+ <hr />
+
+ <h2><a id="htaccess" name="htaccess">Fichiers
+ .htaccess</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Directives
+ li&eacute;es</strong><br />
+ <br />
+ <a
+ href="mod/core.html#accessfilename">AccessFileName</a><br />
+ <a
+ href="mod/core.html#allowoverride">AllowOverride</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <p>Apache permet une gestion d&eacute;centralis&eacute;e de la
+ configuration par l'utilisation de fichiers sp&eacute;ciaux
+ &agrave; l'int&eacute;rieur de l'arborescence web. Ces fichiers
+ sp&eacute;ciaux sont g&eacute;n&eacute;ralement appel&eacute;s
+ <code>.htaccess</code>, mais n'importe quel nom peut &ecirc;tre
+ d&eacute;fini par la directive <a
+ href="mod/core.html#accessfilename"><code>AccessFileName</code></a>.
+ Les directives plac&eacute;es dans les fichiers
+ <code>.htaccess</code> s'appliquent au r&eacute;pertoire
+ o&ugrave; se trouve le fichier ainsi qu'aux sous
+ r&eacute;pertoires. Les fichiers <code>.htaccess</code>
+ respectent la m&ecirc;me syntaxe que les fichiers principaux de
+ configuration. Comme les fichiers <code>.htaccess</code> sont
+ lus &agrave; chaque requ&ecirc;te, Les modifications
+ effectu&eacute;es dans ces fichiers prennent effet
+ imm&eacute;diatement.</p>
+
+ <p>Pour savoir si une directive peut &ecirc;tre plac&eacute;e
+ dans les fichiers <code>.htaccess</code>, v&eacute;rifiez le <a
+ href="mod/directive-dict.html#Context">contexte</a> de la
+ directive. L'administrateur peut cont&ocirc;ler quelles
+ directives peuvent &ecirc;tre plac&eacute;es dans les fichiers
+ <code>.htaccess</code> en modifiant la directive <a
+ href="mod/core.html#allowoverride"><code>AllowOverride</code></a>
+ du fichier principal de configuration.</p>
+ <hr />
+
+ <h2><a id="logs" name="logs">Fichiers de trace</a></h2>
+
+ <h3>Avertissement sur la s&eacute;curit&eacute;</h3>
+ Toute personne pouvant &eacute;crire dans le r&eacute;pertoire
+ o&ugrave; Apache &eacute;crit un fichier de trace peut avoir
+ acc&egrave;s &agrave; l'uid sous lequel le serveur est
+ lanc&eacute;, g&eacute;n&eacute;ralement root. <em>Ne donnez
+ pas</em> acc&egrave;s en &eacute;criture au r&eacute;pertoire
+ o&ugrave; les fichiers de trace sont stock&eacute;s sans
+ &ecirc;tre clairement conscient des cons&eacute;quences; voir
+ le document <a href="misc/security_tips.html">trucs sur la
+ s&eacute;curit&eacute;</a> pour plus de d&eacute;tails.
+
+ <h3>Fichier pid</h3>
+
+ <p>Au lancement, Apache &eacute;crit le num&eacute;ro de
+ processus du processus p&egrave;re httpd dans le fichier
+ <code>logs/httpd.pid</code>. Le nom du fichier peut &ecirc;tre
+ chang&eacute; en modifiant la directive <a
+ href="mod/core.html#pidfile">PidFile</a>. Le num&eacute;ro de
+ processus est utilis&eacute; par l'administrateur pour relancer
+ et arr&ecirc;ter le d&eacute;mon. Sur Unix, un signal HUP ou
+ USR1 a pour effet de faire relire par le d&eacute;mon les
+ fichiers de configuration, et un signal TERM le fait terminer
+ de mani&egrave;re douce. Sur Windows, il faut employer l'option
+ -k. Pour plus d'information voir la page <a
+ href="stopping.html">Arr&ecirc;t et red&eacute;marrage</a>.</p>
+
+ <p>Si le processus meurt (ou est tu&eacute;) de mani&egrave;re
+ anormale, il peut alors &ecirc;tre n&eacute;cessaire de tuer
+ les processus fils.</p>
+
+ <h3>Trace des erreurs</h3>
+
+ <p>Le serveur trace les messages d'erreurs dans un fichier, par
+ d&eacute;faut <code>logs/error_log</code> sur Unix ou
+ <code>logs/error.log</code> sur Windows and OS/2. Le nom du
+ fichier peut &ecirc;tre d&eacute;fini en utilisant la directive
+ <a href="mod/core.html#errorlog">ErrorLog</a> D'autres traces
+ peuvent &ecirc;tre d&eacute;finies pour diff&eacute;rents <a
+ href="mod/core.html#virtualhost">h&ocirc;tes virtuels</a>.</p>
+
+ <h3>Trace des requ&ecirc;tes</h3>
+
+ <p>Le serveur trace g&eacute;n&eacute;ralement chaque
+ requ&ecirc;te dans un fichier de transfert, par d&eacute;faut
+ <code>logs/access_log</code> sur Unix ou
+ <code>logs/access.log</code> sur Windows and OS/2. Le nom du
+ fichier peut &ecirc;tre d&eacute;fini en utilisant la directive
+ <a href="mod/mod_log_config.html#customlog">CustomLog</a>.
+ D'autres traces peuvent &ecirc;tre d&eacute;finies pour
+ diff&eacute;rents <a
+ href="mod/core.html#virtualhost">h&ocirc;tes virtuels</a>.
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/custom-error.html.fr b/usr.sbin/httpd/htdocs/manual/custom-error.html.fr
new file mode 100644
index 00000000000..2b189cc55f4
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/custom-error.html.fr
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.14 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Messages d'erreur personnalis&eacute;s</title>
+ </head>
+
+ <body text="#000000" link="#0000ff" vlink="#000080"
+ bgcolor="#ffffff">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Messages d'erreur personnalis&eacute;s</h1>
+
+ <h3>But</h3>
+
+ <p>Fonctionnalit&eacute; additionnelle. Permet aux
+ administrateurs Web de personnaliser les r&eacute;ponses
+ donn&eacute;es par Apache en cas de probl&egrave;mes. Les
+ r&eacute;ponses personnalis&eacute;es d&eacute;finies peuvent
+ &ecirc;tre activables lorsque le serveur est &agrave;
+ m&ecirc;me de d&eacute;tecter la cause du probl&egrave;me.</p>
+
+ <p>ex. si un script termine en faute, produisant une
+ r&eacute;ponse "500 Server Error", alors cette r&eacute;ponse
+ peut &ecirc;tre remplac&eacute;e soit par un texte quelque peu
+ plus explicatif soit par une redirection vers une autre URL
+ (locale ou externe).</p>
+
+ <h3>Ancien comportement</h3>
+
+ <p>La version 1.3 d'httpd du NCSA r&eacute;pondait souvent avec
+ des messages d'erreur ennuyeux et peu am&egrave;nes qui
+ &eacute;taient sans signification pour l'utilisateur, et ne
+ donnait pas les sympt&ocirc;mes qui pouvaient causer la
+ faute.</p>
+
+ <h3>Nouveau comportement</h3>
+
+ <p>On pourra d&eacute;sormais demander au serveur :</p>
+
+ <ol>
+ <li>D'afficher un autre texte, plut&ocirc;t que les messages
+ standard NCSA, ou</li>
+
+ <li>rediriger l'utilisateur vers une URL locale, ou
+ encore</li>
+
+ <li>rediriger l'utilisateur vers une URL sur un autre
+ serveur.</li>
+ </ol>
+
+ <p>La redirection vers une autre URL peut &ecirc;tre utile,
+ mais seulement si certaines informations peuvent &ecirc;tre
+ pass&eacute;es et qui serviront &agrave; produire un affichage
+ ou un enregistrement du probl&egrave;me plus clair et
+ explicite.</p>
+
+ <p>Pour ce faire, Apache d&eacute;finira de nouvelles variables
+ d'environnement ( &agrave; la mode CGI), ex.</p>
+
+ <blockquote>
+ <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
+ image/jpeg<br />
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
+ A.09.05 9000/712)<br />
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+ REDIRECT_QUERY_STRING=<br />
+ REDIRECT_REMOTE_ADDR=121.345.78.123<br />
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
+ REDIRECT_SERVER_NAME=crash.bang.edu<br />
+ REDIRECT_SERVER_PORT=80<br />
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+ REDIRECT_URL=/cgi-bin/buggy.pl</code>
+ </blockquote>
+
+ <p>notez le pr&eacute;fixe <code>REDIRECT_</code>.</p>
+
+ <p>Seront au moins pass&eacute;s &agrave; la nouvelle URL les
+ variables <code>REDIRECT_URL</code> et
+ <code>REDIRECT_QUERY_STRING</code> (en supposant que l'URL de
+ redirection est un script CGI ou un Include CGI). Les autres
+ variables n'existeront que si elles existaient
+ d&eacute;j&agrave; avant l'apparition du probl&egrave;me.
+ <b>Aucune de ces deux variables</b> ne sera initialis&eacute;e
+ si votre Document d'erreur est le r&eacute;sultat d'une
+ redirection <i>externe</i> (c-&agrave;-d. toute adresse
+ commen&ccedil;ant par le nom d'un plan de protocole comme
+ <code>http:</code>, m&ecirc;me si le protocole invoqu&eacute;
+ aboutit sur le m&ecirc;me h&ocirc;te que le serveur &agrave;
+ l'origine de la redirection).</p>
+
+ <h3>Configuration</h3>
+
+ <dl>
+ <dd>L'utilisation des documents "ErrorDocument" est
+ autoris&eacute;e dans les fichiers .htaccess lorsque la
+ surcharge <a
+ href="mod/core.html#allowoverride">"FileInfo"</a> est
+ active.</dd>
+
+ <dd>En voici quelques exemples...</dd>
+ </dl>
+
+ <div style="margin-left: 2em">
+ <blockquote>
+ <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
+ ErrorDocument 500 "D&eacute;sol&eacute;, votre script
+ s'est vautr&eacute;. Fichtre"<br />
+ ErrorDocument 500 http://xxx/<br />
+ ErrorDocument 404 /Lame_excuses/not_found.html<br />
+ ErrorDocument 401
+ /Subscription/how_to_subscribe.html</code>
+ </blockquote>
+
+ <dl>
+ <dd>La syntaxe admise est :</dd>
+
+ <dd><a href="mod/core.html#errordocument"><font
+ face="Courier New" size="2">ErrorDocument</font></a>
+ &lt;code &agrave; trois chiffres&gt; action</dd>
+
+ <dd>dans laquelle l'action peut &ecirc;tre :</dd>
+ </dl>
+ </div>
+
+ <div style="margin-left: 4em">
+ <ol>
+ <li>Le texte devant &ecirc;tre affich&eacute;. Le texte
+ devra &ecirc;tre pr&eacute;fix&eacute; par un guillemet
+ ("). Tout ce qui suit le guillemet sur la ligne est
+ affich&eacute;. <em>Notez : le pr&eacute;fixe (")
+ lui-m&ecirc;me n'est pas affich&eacute;.</em></li>
+
+ <li>Une URL externe de redirection.</li>
+
+ <li>Une URL locale de redirection.</li>
+ </ol>
+ </div>
+ <hr />
+ <br />
+ <br />
+
+
+ <div style="margin-left: 2em">
+ <h2>Redirections et affichage d'erreurs
+ personnalis&eacute;es</h2>
+
+ <h3>But</h3>
+
+ <dl>
+ <dd>Le comportement d'Apache lorsqu'il redirige des URL a
+ &eacute;t&eacute; modifi&eacute; afin que d'autres
+ variables d'environnement additionnelles puissent
+ &ecirc;tre rendues accessibles par un
+ script/server-include.</dd>
+ </dl>
+
+ <h3>Ancien comportement</h3>
+
+ <dl>
+ <dd>Les variables CGI standard &eacute;taient transmises au
+ script vers lequel &eacute;tait redirig&eacute; le client.
+ Aucune indication n'&eacute;tait transmise quant &agrave;
+ qui redirigeait le message.</dd>
+ </dl>
+
+ <h3>Nouveau comportement</h3>
+
+ <dl>
+ <dd>Un nouvel ensemble de variables d'environnement sera
+ initialis&eacute;, &agrave; l'intention du script vers
+ lequel le client a &eacute;t&eacute; redirig&eacute;.
+ Chaque nouvelle variable de cet ensemble est
+ pr&eacute;fix&eacute;e par <code>REDIRECT_</code>. Les
+ variables d'environnement de type <code>REDIRECT_</code>
+ sont cr&eacute;&eacute;es &agrave; partir des variables
+ d'environnement CGI qui existaient avant que n'intervienne
+ la redirection, en leur rajoutant le pr&eacute;fixe. Par
+ exemple <code>HTTP_USER_AGENT</code> devient
+ <code>REDIRECT_HTTP_USER_AGENT</code>. En plus de ces
+ variables, Apache d&eacute;finit les variables
+ <code>REDIRECT_URL</code> et <code>REDIRECT_STATUS</code>
+ pour aider le script &agrave; identifier l'origine de la
+ redirection. Dans la trace d'acc&egrave;s d&eacute;duite
+ peuvent appara&icirc;tre l'URL initiale ainsi que l'URL
+ vers laquelle est redirig&eacute;e la requ&ecirc;te.</dd>
+ </dl>
+ </div>
+ <hr />
+ <br />
+ <br />
+
+
+ <p>Si la directive ErrorDocument sp&eacute;cifie une
+ redirection local vers un script CGI, le script devra inclure
+ un champ "<samp>Status:</samp>" dans l'en-t&ecirc;te de sa
+ sortie afin de garantir la retransmiison compl&egrave;te vers
+ le client des conditions d'erreurs qui ont caus&eacute; son
+ invocation. Par exemple un script Perl devrait inclure les
+ lignes suivantes :</p>
+<pre>
+ :
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ :
+</pre>
+
+ <p>Si le script est d&eacute;di&eacute; pour trait&eacute; une
+ condition d'erreur particuli&egrave;re telle que
+ <samp>404&nbsp;Not&nbsp;Found</samp>, il peut utiliser le code
+ sp&eacute;cifique et le message d'erreur &agrave; la place.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/cygwin.html b/usr.sbin/httpd/htdocs/manual/cygwin.html
new file mode 100644
index 00000000000..4d315f50aa9
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/cygwin.html
@@ -0,0 +1,541 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Using Apache with Cygwin</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER"><a id="help" name="help">Using Apache with
+ Cygwin</a></h1>
+
+ <p>This document explains how to install, configure and run
+ Apache 1.3 under the <a href="http://www.cygwin.com">Cygwin</a>
+ layer for Microsoft Windows. Cygwin is a POSIX.1 emulation
+ layer for 32-bit Microsoft Windows operating systems.</p>
+
+ <p>The Apache Group does not guarantee that this software will
+ work as documented, or even at all. If you find any bugs,
+ please document them on our <a
+ href="http://httpd.apache.org/bug_report.html">bug reporting
+ page.</a></p>
+
+ <p>Latest development news, pre-compiled distribution binaries,
+ and third-party modules as DLLs, may be found at <a
+ href="http://apache.dev.wapme.net/">http://apache.dev.wapme.net/</a>.
+ Contributions are highly welcome (please see <a
+ href="http://apache.dev.wapme.net/TODO.cygwin">TODO</a> list);
+ please submit your code or suggestions to the bug report page,
+ or join the dev@httpd.apache.org mailing list.</p>
+
+ <p>The <a href="windows.html">Win32 port</a> of Apache is built
+ on its own, custom code within Apache to assure
+ interoperability with Windows operating systems. While it is
+ considered release quality, it is slower and less thoroughly
+ tested than the Unix ports. The Cygwin alternative uses the
+ well tested Unix code by using the Cygwin portability layer for
+ POSIX.1 emulation. The Cygwin port may suffer from gaps in
+ security or reliability due to the interaction of the Cygwin
+ compatibility layer with the native Windows API.</p>
+
+ <p>The <a href="windows.html">Win32 port</a> will be more
+ familiar to most Windows users. The Cygwin port (including the
+ build environment) will be more familiar to Unix admins and
+ developers. Due to these two different code bases, the security
+ and reliability of the two ports are unrelated to each other.
+ The Win32 port should be considered the more secure of the two
+ at this time. The Win32 port is recommended for most Windows
+ users, however the Cygwin port offers an extra layer of
+ compatibility for Unix developers.</p>
+
+ <p>Apache still performs best, and is most reliable, on Unix
+ platforms. First benchmarks have shown that the same Apache
+ setup on Cygwin performs about 30% slower than the
+ corresponding native Windows version.</p>
+
+ <p>Most of this document assumes that you have a working Cygwin
+ installation and want to compile Apache yourself from the
+ original distribution sources.</p>
+ <hr />
+
+ <ul>
+ <li><a href="#hist">History of Apache for Cygwin</a></li>
+
+ <li><a href="#diff">Differences from Apache for Windows
+ (native)</a></li>
+
+ <li><a href="#req">Requirements</a></li>
+
+ <li><a href="#down">Downloading Apache for Cygwin</a></li>
+
+ <li><a href="#inst">Configuring and Installing Apache for
+ Cygwin</a></li>
+
+ <li><a href="#run">Running Apache for Cygwin</a></li>
+
+ <li><a href="#serv">Running Apache for Cygwin as a
+ Service</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="hist" name="hist">History of Apache for
+ Cygwin</a></h2>
+
+ <p>Cygwin support for Apache began with Apache 1.2.6 and Cygwin
+ b18.</p>
+
+ <p>Due to licensing issues there has not been an official
+ binary distribution until Red Hat Inc. (who merged with Cygnus
+ Solutions Inc.) changed their Cygwin license to ensure compiled
+ executables do not fall under GPL license if the distributed
+ software is considered as open source.</p>
+
+ <p>Cygwin is supported in the official source distributions
+ from Apache 1.3.20 and later. Pre-compiled binaries for the
+ Cygwin platform (without the <code>cygwin1.dll</code>) will be
+ supplied at <a
+ href="http://www.apache.org/httpd">http://www.apache.org/httpd</a>
+ for each released version.</p>
+
+ <h2><a id="diff" name="diff">Differences from Apache for
+ Windows (native)</a></h2>
+
+ <p>Both versions, Apache for Windows and Apache for Cygwin, are
+ designed to run on the same operating systems, the Windows NT
+ and Windows 2000 family. But there are considerable differences
+ between the two flavors.</p>
+
+ <p>While Apache for Windows is a native Windows port, Apache
+ for Cygwin relies on the Cygwin POSIX.1 emulation layer
+ provided by the <code>cygwin1.dll</code> dynamic library to
+ create a Unix compatible environment. Therefore we consider
+ Apache for Cygwin closer to the Unix side then to the Windows
+ side, even while it runs on Windows.</p>
+
+ <p>Most significant differences are the amount of changes to
+ the source code needed to compile and run Apache on the Cygwin
+ platform. While the native Windows port needs major changes and
+ platform specific additions, the Cygwin based port changes are
+ very small and most of the Unix source code can be used without
+ major changes on the Cygwin platform.</p>
+
+ <p><strong>When to use Apache for Cygwin and/or Apache versus
+ Windows?</strong><br />
+ Apache for Cygwin is intended to be most useful if you want a
+ seamless transition from Unix systems to Windows systems for
+ your HTTP services.</p>
+
+ <p>If you are using Windows NT or Windows 2000 for development
+ and office purposes, but your productive HTTP server
+ environments are Unix based systems, you may use Apache for
+ Cygwin to develop on Windows and simply copy whole Apache
+ configurations (<em>i.e.,</em> <code>httpd.conf</code>) and
+ Perl (<code>mod_perl</code>), PHP (<code>mod_php</code>) or
+ Python (<code>mod_snake</code>) applications to your productive
+ Unix systems.</p>
+
+ <p><strong>What about modules (<code>mod_foo</code>) for Apache
+ for Cygwin?</strong><br />
+ Apache for Cygwin can be built with most of the available
+ Apache modules with no or minimal changes. Many popular modules
+ have been compiled and tested with Apache for Cygwin, including
+ <code>mod_dav</code>, <code>mod_ssl</code>,
+ <code>mod_php</code>, <code>mod_perl</code>,
+ <code>mod_gzip</code>, and <code>mod_jserv</code>.</p>
+
+ <p>While there are developers who directly support the Windows
+ native port of Apache, very few module developers do. That is
+ why it is can be difficult to make a Unix-based Apache
+ installation with third-party modules work the same way on the
+ Windows side using the native port. Apache for Cygwin makes
+ this much easier.</p>
+
+ <p><strong>What are the differences in the configuration
+ files?</strong><br />
+ While the Apache for Windows port uses Windows native path
+ names to refer files and directorys, like</p>
+<pre>
+ # httpd.conf (for Windows)
+ DocumentRoot "c:/apache/htdocs"
+</pre>
+ Apache for Cygwin can use unmodified POSIX style path names
+ like
+<pre>
+ # httpd.conf (for Cygwin)
+ DocumentRoot "/usr/local/apache/htdocs"
+</pre>
+
+ <p><strong>What about performance?</strong><br />
+ Apache for Cygwin is not as high-performance as Apache for
+ Windows on the same hardware.</p>
+
+ <p>This is to be expected, because Cygwin emulates a Unix
+ environment on a "foreign" operating system, while Apache for
+ Windows uses Windows code in its own native environment. First
+ benchmark results have shown that Apache for Cygwin is about
+ 30% slower than native Apache for Windows counterpart.</p>
+
+ <h2><a id="req" name="req">Requirements</a></h2>
+
+ <p>This Apache 1.3 port for Cygwin is designed to run on
+ Windows NT 4.0 and Windows 2000, <strong>NOT</strong> on
+ Windows 95 or 98. Windows NT 4.0 and Windows 2000 have both
+ been successfully tested and approved. In all cases TCP/IP
+ networking must be installed.</p>
+
+ <p>Cygwin 1.x is required to compile and run this version.
+ Cygwin 1.1.8 and 1.3.2 have been tested and approved on both
+ supported OSes.</p>
+
+ <p><strong>Note:</strong>If you want to compile shared DLL
+ modules using <a
+ href="programs/apxs.html"><code>apxs</code></a> you will need a
+ patched version of <code>ld.exe</code> with
+ <code>--auto-import</code> support, which can be found at <a
+ href="http://sourceforge.net/projects/kde-cygwin/">http://sourceforge.net/projects/kde-cygwin/</a>.</p>
+
+ <h2><a id="down" name="down">Downloading Apache for
+ Cygwin</a></h2>
+
+ <p>The Cygwin platform is supported out of the box by Apache
+ 1.3.20 and later. This means there is no extra download
+ required for the Cygwin platform. The latest version of Apache
+ can be found on the Apache httpd web site at <a
+ href="http://httpd.apache.org/">http://httpd.apache.org/</a>.
+ The site lists the current release, any more recent development
+ versions, and information on any mirror sites.</p>
+
+ <h2><a id="inst" name="inst">Configuring and Installing Apache
+ for Cygwin</a></h2>
+
+ <p>Apache on Cygwin is configured and compiled the same way as
+ on Unix systems. Refer to the general <a
+ href="configuring.html">configuration</a> and <a
+ href="install.html">installation</a> documents for details.</p>
+
+ <p>There are three ways to configure and build Apache for
+ Cygwin, depending on how additional Apache modules should be
+ used:</p>
+
+ <ul>
+ <li>
+ <strong>Static linked version</strong>
+
+ <p>To build a static linked version of <code>httpd</code>
+ including additional modules, use the following commands in
+ the shell:</p>
+<pre>
+ $ cd apache_1.3.x
+ $ ./configure [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
+ $ make
+</pre>
+
+ <p>This will produce the required extra libraries or object
+ files for <i>module</i> and link everything to
+ <code>src/httpd.exe</code>.</p>
+ </li>
+
+ <li>
+ <strong>Shared core, DLL linked version ('one-for-all'
+ version)</strong>
+
+ <p>To build a DLL version of <code>httpd</code> including
+ additional modules, use the following commands:</p>
+<pre>
+ $ cd apache_1.3.x
+ $ ./configure --enable-rule=SHARED_CORE \
+ [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
+ $ make
+ $ make install
+</pre>
+
+ <p>This will produce the required extra libraries or object
+ files which hold all static linked code. Then
+ <code>dllwrap</code> and <code>dlltool</code> will export
+ all of those (including any additional module code) to the
+ shared <code>libhttpd.dll</code> and create the
+ <code>libhttpd.a</code> import library which is required
+ for linking <code>httpd.exe</code>.</p>
+
+ <p><strong>Note:</strong> After <code>make install</code>
+ is performed you will find the resulting core DLL module
+ <code>libhttpd.dll</code> within
+ <code>/usr/local/apache/libexec</code>. This is due to the
+ installation process. Please move the file to Apache's
+ <code>bin</code> directory, i.e.</p>
+<pre>
+ $ mv /usr/local/apache/libexec/libhttpd.dll /usr/local/apache/bin
+</pre>
+ The core DLL module <code>libhttpd.dll</code> is the
+ <i>only</i> file that should reside in
+ <code>/usr/local/apache/bin</code> directory. All other
+ shared DLL modules <code>mod_foo.dll</code> should be
+ located in <code>/usr/local/apache/libexec</code>.
+ </li>
+
+ <li>
+ <strong>Shared DLL modules linked version</strong>
+
+ <p>This method is currently <strong>ONLY</strong> supported
+ using a patched version of <code>ld.exe</code> which
+ support the <code>--auto-import</code> option. Please see
+ the <a href="#req">requirements</a> section for where to
+ get that version.</p>
+
+ <p>To build a dynamic loadable DLL version of
+ <code>httpd</code> which can load DLL modules on the fly
+ (at runtime), proceed as follows:</p>
+
+ <ul>
+ <li>
+ <p>First build Apache's shared core as follows:</p>
+<pre>
+ $ cd apache_1.3.x
+ $ ./configure --enable-rule=SHARED_CORE --enable-module=so \
+ [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>] \
+ [--enable-shared=<i>module</i>]
+ $ make
+</pre>
+
+ <p>You will notice that there is a warning message
+ shown which lets you know that the shared core DLL
+ library <code>src/libhttpd.dll</code> is missing while
+ trying to link the shared DLL modules
+ <code>mod_foo.dll</code>.</p>
+
+ <p>Unfortunatly while Apache's build process the shared
+ modules are linked before the shared core import
+ library <code>src/libhttpd.dll</code> has been made.
+ The shared modules depend on this import library, so
+ they can not link for the first time you run
+ <code>make</code>.</p>
+ </li>
+
+ <li>
+ Re-run <code>make</code> to build the shared module
+ DLLs and install the whole package to the installation
+ directory:
+<pre>
+ $ make
+ $ make install
+</pre>
+
+ <p>All shared modules are placed into
+ <code>libexec</code>, including the shared core DLL
+ <code>libhttpd.dll</code>. When Apache's
+ <code>/bin/httpd</code> is started it has to dynamicly
+ link <code>libhttpd.dll</code> while runtime. That is
+ why you have to place the shared core DLL
+ <code>libhttpd.dll</code> to the same direcotry where
+ <code>httpd.exe</code> resides, i.e.
+ <code>/usr/local/apache/bin</code>.</p>
+ </li>
+
+ <li>
+ Add configuration directives to
+ <code>conf/httpd.conf</code> to load and activate
+ shared DLL modules at runtime:
+<pre>
+ # httpd.conf
+ [...]
+ LoadModule foo_module libexec/mod_foo.dll
+ AddModule mod_foo.c
+ [...]
+</pre>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong>Using apxs to create shared DLL modules</strong>
+
+ <p>To make the extending <code>httpd</code> with shared DLL
+ modules easier, you can use <a
+ href="programs/apxs.html"><code>apxs</code></a>.</p>
+
+ <p>Make sure you have configured
+ <code>$CFG_LDFLAGS_SHLIB</code> within <code>apxs</code> to
+ include the <code>--shared</code> directive and the path to
+ the shared code DLL <code>libhttpd.dll</code>.</p>
+
+ <p>After performing <code>make install</code> you will
+ probably have the following lines within your
+ <code>apxs</code>:</p>
+<pre>
+ # apxs
+ [...]
+ my $CFG_LD_SHLIB = q(dllwrap --export-all --output-def libhttpd.def --implib libhttpd.a --driver-name gcc); # substituted via Makefile.tmpl
+ my $CFG_LDFLAGS_SHLIB = q(-g); # substituted via Makefile.tmpl
+ my $CFG_LIBS_SHLIB = q(); # substituted via Makefile.tmpl
+ [...]
+</pre>
+ Change these to reflect the new compile options needed for
+ shared DLL modules as follows:
+<pre>
+ # apxs
+ [...]
+ my $CFG_LD_SHLIB = q(gcc); # substituted via Makefile.tmpl
+ my $CFG_LDFLAGS_SHLIB = q(-g --shared); # substituted via Makefile.tmpl
+ my $CFG_LIBS_SHLIB = q(<i>/path/to/libhttpd.dll</i>); # substituted via Makefile.tmpl
+ [...]
+</pre>
+
+ <p>Now you should be able to create a shared DLL module
+ from a <code>mod_foo.c</code> source file with:</p>
+<pre>
+ $ apxs -c mod_foo.c -o mod_foo.dll
+</pre>
+ Place the resulting DLL in Apache's <code>libexec</code>
+ directory, so the <code>dlopen()</code> function within the
+ compiled in <code>mod_so.c</code> module can find and load
+ it at runtime.
+ </li>
+ </ul>
+
+ <h2><a id="run" name="run">Running Apache for Cygwin</a></h2>
+
+ <p>Apache on Cygwin can be started and stopped in the same
+ manner as on Unix systems. You may also use the <a
+ href="programs/apachctl.html"><code>apachectl</code></a> tool
+ for starting and stopping Apache.</p>
+
+ <ul>
+ <li>
+ <strong>Starting Apache</strong>
+
+ <p>If installed with the default Apache directory layout,
+ you can start <code>httpd</code> as follows:</p>
+<pre>
+ $ /usr/local/apache/bin/httpd
+</pre>
+
+ <p>An explicit background indicator (<code>&amp;</code>) is
+ not required. The parent process is automatically detached
+ from the current terminal. Check the global
+ <code>error_log</code> to see if Apache started cleanly
+ without any major problems.</p>
+ </li>
+
+ <li>
+ <strong>Stopping Apache</strong>
+
+ <p>To stop Apache send at least a <code>SIGTERM</code>
+ signal to the parent <code>httpd</code> process:</p>
+<pre>
+ $ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+ </li>
+
+ <li>
+ <strong>Gracefully Restarting Apache</strong>
+
+ <p>In order to update configuration directives and reload
+ the <code>httpd.conf</code> configuration file, send a
+ <code>SIGHUP</code> to the parent <code>httpd</code>
+ process:</p>
+<pre>
+ $ kill -HUP `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+ </li>
+ </ul>
+
+ <h2><a id="serv" name="serv">Running Apache for Cygwin as a
+ Service</a></h2>
+
+ <p>Apache on Cygwin can be invoked as a Windows NT or Windows
+ 2000 service. Cygwin has its own <code>cygrunsrv.exe</code>
+ facility to define, remove, start, and stop services as
+ follows:</p>
+
+ <ul>
+ <li>
+ <strong>Installing Apache as a new Service</strong>
+
+ <p>Use the following statement to install
+ <code>httpd.exe</code> as a new service:</p>
+<pre>
+ $ cygrunsrv -I <i>service_name</i>-p /usr/local/apache/bin/httpd.exe [-a <i>arguments</i>] \
+ [-e <i>VAR=VALUE</i>] [-t auto|manual] [-u <i>user</i>] [-w <i>passwd</i>]
+</pre>
+
+ <p>Where <code>-a</code> is used to pass command line
+ arguments (such as <code>-DFOO</code> defines) to
+ <code>httpd.exe</code>, and <code>-e</code> is used to pass
+ environment variables. If necessary you may use the
+ <code>-t</code> options to set the autostart configuration
+ for the service. If you want the new service to run under a
+ different userid, you will have to supply the
+ <code>-u</code> and <code>-w</code> options.</p>
+ </li>
+
+ <li>
+ <strong>Starting Apache as a Service</strong>
+
+ <p>After the new service is installed it can be started
+ using the following command:</p>
+<pre>
+ $ cygrunsrv -S <i>service_name</i>
+</pre>
+
+ <p>Check your process table and global
+ <code>error_log</code> file to ensure Apache has started
+ without any major problems.</p>
+ </li>
+
+ <li>
+ <strong>Stopping an Apache Service</strong>
+
+ <p>A running Apache service may be stopped using the
+ following command:</p>
+<pre>
+ $ cygrunsrv -E <i>service_name</i>
+</pre>
+
+ <p>This will stop all running <code>httpd.exe</code>
+ processes and shutdown the HTTP service for the
+ machine.</p>
+ </li>
+
+ <li>
+ <strong>Removing an Apache Service</strong>
+
+ <p>An installed Apache service may be removed from Windows
+ NT or Windows 2000 using the following command:</p>
+<pre>
+ $ cygrunsrv -R <i>service_name</i>
+</pre>
+
+ <p>This will remove your previously defined and installed
+ service from the machine.</p>
+ </li>
+ </ul>
+
+ <p>Please refer to the <code>man</code> page for
+ <code>cygrunsrv</code> and the Cygwin mailing list for further
+ details of how services are invoked.</p>
+
+ <p>Any additional contributions to this document and the Cygwin
+ support for Apache are highly welcome. Please send them to
+ Stipe Tolj <a
+ href="mailto:tolj@wapme-systems.de">&lt;tolj@wapme-systems.de&gt;</a>.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/dns-caveats.html.en b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.en
new file mode 100644
index 00000000000..3d472f49c75
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.en
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Issues Regarding DNS and Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Issues Regarding DNS and Apache</h1>
+
+ <p>This page could be summarized with the statement: <em>don't
+ require Apache to use DNS for any parsing of the configuration
+ files</em>. If Apache has to use DNS to parse the configuration
+ files then your server may be subject to reliability problems
+ (it might not boot), or denial and theft of service attacks
+ (including users able to steal hits from other users).</p>
+
+ <h3>A Simple Example</h3>
+ Consider this configuration snippet:
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>In order for Apache to function properly it absolutely needs
+ to have two pieces of information about each virtual host: the
+ <a href="mod/core.html#servername"><code>ServerName</code></a>
+ and at least one IP address that the server responds to. This
+ example does not include the IP address, so Apache must use DNS
+ to find the address of <code>www.abc.dom</code>. If for some
+ reason DNS is not available at the time your server is parsing
+ its config file, then this virtual host <strong>will not be
+ configured</strong>. It won't be able to respond to any hits to
+ this virtual host (prior to Apache version 1.2 the server would
+ not even boot).</p>
+
+ <p>Suppose that <code>www.abc.dom</code> has address 10.0.0.1.
+ Then consider this configuration snippet:</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Now Apache needs to use reverse DNS to find the
+ <code>ServerName</code> for this virtualhost. If that reverse
+ lookup fails then it will partially disable the virtualhost
+ (prior to Apache version 1.2 the server would not even boot).
+ If the virtual host is name-based then it will effectively be
+ totally disabled, but if it is IP-based then it will mostly
+ work. However if Apache should ever have to generate a full URL
+ for the server which includes the server name then it will fail
+ to generate a valid URL.</p>
+
+ <p>Here is a snippet that avoids both of these problems.</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <h3>Denial of Service</h3>
+
+ <p>There are (at least) two forms that denial of service can
+ come in. If you are running a version of Apache prior to
+ version 1.2 then your server will not even boot if one of the
+ two DNS lookups mentioned above fails for any of your virtual
+ hosts. In some cases this DNS lookup may not even be under your
+ control. For example, if <code>abc.dom</code> is one of your
+ customers and they control their own DNS then they can force
+ your (pre-1.2) server to fail while booting simply by deleting
+ the <code>www.abc.dom</code> record.</p>
+
+ <p>Another form is far more insidious. Consider this
+ configuration snippet:</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.def.dom&gt;
+ ServerAdmin webguy@def.dom
+ DocumentRoot /www/def
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Suppose that you've assigned 10.0.0.1 to
+ <code>www.abc.dom</code> and 10.0.0.2 to
+ <code>www.def.dom</code>. Furthermore, suppose that
+ <code>def.com</code> has control of their own DNS. With this
+ config you have put <code>def.com</code> into a position where
+ they can steal all traffic destined to <code>abc.com</code>. To
+ do so, all they have to do is set <code>www.def.dom</code> to
+ 10.0.0.1. Since they control their own DNS you can't stop them
+ from pointing the <code>www.def.com</code> record wherever they
+ wish.</p>
+
+ <p>Requests coming in to 10.0.0.1 (including all those where
+ users typed in URLs of the form
+ <code>http://www.abc.dom/whatever</code>) will all be served by
+ the <code>def.com</code> virtual host. To better understand why
+ this happens requires a more in-depth discussion of how Apache
+ matches up incoming requests with the virtual host that will
+ serve it. A rough document describing this <a
+ href="vhosts/details.html">is available</a>.</p>
+
+ <h3>The "main server" Address</h3>
+
+ <p>The addition of <a href="vhosts/name-based.html">name-based
+ virtual host support</a> in Apache 1.1 requires Apache to know
+ the IP address(es) of the host that httpd is running on. To get
+ this address it uses either the global <code>ServerName</code>
+ (if present) or calls the C function <code>gethostname</code>
+ (which should return the same as typing "hostname" at the
+ command prompt). Then it performs a DNS lookup on this address.
+ At present there is no way to avoid this lookup.</p>
+
+ <p>If you fear that this lookup might fail because your DNS
+ server is down then you can insert the hostname in
+ <code>/etc/hosts</code> (where you probably already have it so
+ that the machine can boot properly). Then ensure that your
+ machine is configured to use <code>/etc/hosts</code> in the
+ event that DNS fails. Depending on what OS you are using this
+ might be accomplished by editing <code>/etc/resolv.conf</code>,
+ or maybe <code>/etc/nsswitch.conf</code>.</p>
+
+ <p>If your server doesn't have to perform DNS for any other
+ reason then you might be able to get away with running Apache
+ with the <code>HOSTRESORDER</code> environment variable set to
+ "local". This all depends on what OS and resolver libraries you
+ are using. It also affects CGIs unless you use <a
+ href="mod/mod_env.html"><code>mod_env</code></a> to control the
+ environment. It's best to consult the man pages or FAQs for
+ your OS.</p>
+
+ <h3><a id="tips" name="tips">Tips to Avoid these
+ problems</a></h3>
+
+ <ul>
+ <li>use IP addresses in <code>&lt;VirtualHost&gt;</code></li>
+
+ <li>use IP addresses in <code>Listen</code></li>
+
+ <li>use IP addresses in <code>BindAddress</code></li>
+
+ <li>ensure all virtual hosts have an explicit
+ <code>ServerName</code></li>
+
+ <li>create a <code>&lt;VirtualHost _default_:*&gt;</code>
+ server that has no pages to serve</li>
+ </ul>
+
+ <h3>Appendix: Future Directions</h3>
+
+ <p>The situation regarding DNS is highly undesirable. For
+ Apache 1.2 we've attempted to make the server at least continue
+ booting in the event of failed DNS, but it might not be the
+ best we can do. In any event requiring the use of explicit IP
+ addresses in configuration files is highly undesirable in
+ today's Internet where renumbering is a necessity.</p>
+
+ <p>A possible work around to the theft of service attack
+ described above would be to perform a reverse DNS lookup on the
+ ip address returned by the forward lookup and compare the two
+ names. In the event of a mismatch the virtualhost would be
+ disabled. This would require reverse DNS to be configured
+ properly (which is something that most admins are familiar with
+ because of the common use of "double-reverse" DNS lookups by
+ FTP servers and TCP wrappers).</p>
+
+ <p>In any event it doesn't seem possible to reliably boot a
+ virtual-hosted web server when DNS has failed unless IP
+ addresses are used. Partial solutions such as disabling
+ portions of the configuration might be worse than not booting
+ at all depending on what the webserver is supposed to
+ accomplish.</p>
+
+ <p>As HTTP/1.1 is deployed and browsers and proxies start
+ issuing the <code>Host</code> header it will become possible to
+ avoid the use of IP-based virtual hosts entirely. In this event
+ a webserver has no requirement to do DNS lookups during
+ configuration. But as of March 1997 these features have not
+ been deployed widely enough to be put into use on critical
+ webservers. <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/dns-caveats.html.fr b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.fr
new file mode 100644
index 00000000000..0b59d7f12de
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.fr
@@ -0,0 +1,279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.4 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Apache et le DNS</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Apache et le DNS</h1>
+
+ <p>Cette page aurait pu &ecirc;tre r&eacute;sum&eacute;e par la
+ phrase : <i>ne demandez pas &agrave; Apache d'utiliser le DNS
+ pour la lecture des fichiers de configuration</i>. Si Apache
+ doit utiliser le DNS pour r&eacute;cup&eacute;rer ses fichiers
+ de configuration, alors votre serveur peut &ecirc;tre sujet
+ &agrave; des probl&egrave;mes de fiabilit&eacute; (il peut tout
+ simplement ne pas d&eacute;marrer), ou s'ouvrir &agrave; des
+ attaques et des vols d'information (y compris des utilisateurs
+ qui pourraient "voler" des hits d'autres utilisateurs).</p>
+
+ <h3>Un exemple simple</h3>
+ Consid&eacute;rez ce court extrait de code de configuration :
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Pour qu'Apache fonctionne correctement, il a absolument
+ besoin d'au moins deux informations pour chaque h&ocirc;te
+ virtuel : le <a
+ href="mod/core.html#servername"><code>ServerName</code></a> et
+ au moins une adresse IP &agrave; laquelle ce serveur doit
+ r&eacute;pondre. Cet exemple ne fait pas appara&icirc;tre
+ d'adresse IP ; Apache doit donc utiliser le DNS pour trouver
+ l'adresse correspondant &agrave; <code>www.abc.dom</code>. Si
+ pour telle ou telle raison, le service de noms de domaines
+ n'est pas accessible au moment ou le serveur interpr&egrave;te
+ ses fichiers de configuration, alors cet h&ocirc;te virtuel
+ <b>ne pourra pas &ecirc;tre configur&eacute;</b>. Il ne pourra
+ donc pas r&eacute;pondre aux requ&ecirc;tes &eacute;mises vers
+ cet h&ocirc;te virtuel (les versions d'Apache
+ ant&eacute;rieures &agrave; la 1.2 n'auraient m&ecirc;me pas pu
+ d&eacute;marrer).</p>
+
+ <p>Supposons que le doamine <code>www.abc.dom</code> ait pour
+ adresse 10.0.0.1. Consid&eacute;rez alors ce nouvel extrait de
+ code de configuration :</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Apache doit alors effectuer une r&eacute;solution DNS
+ inverse pour trouver le nom <code>ServerName</code> pour cet
+ h&ocirc;te virtuel. Si cette r&eacute;solution &eacute;choue,
+ alors il devra partiellement d&eacute;sactiver cet h&ocirc;te
+ virtuel (les versions d'Apache ant&eacute;rieures &agrave; la
+ 1.2 n'auraient m&ecirc;me pas d&eacute;marr&eacute;). Si
+ l'h&ocirc;te virtuel est bas&eacute; sur un nom de domaine
+ alors il sera totalement inhib&eacute;, si par contre il se
+ base sur une adresse IP, alors il tournera probablement.
+ Cependant, si Apache devait g&eacute;n&eacute;rer une URL
+ compl&egrave;te pour ce serveur, incluant le nom de domaine,
+ l'URL produite ne pourrait &ecirc;tre correctement
+ constitu&eacute;e.</p>
+
+ <p>Voici un extrait qui &eacute;limine ces deux
+ probl&egrave;mes.</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <h3>Refus de service</h3>
+
+ <p>Il existe (au moins) deux situations o&ugrave; Apache refuse
+ de fournir le service. Si vous ex&eacute;cutez une version
+ ant&eacute;rieure &agrave; la version 1.2 d'Apache, votre
+ serveur ne d&eacute;marrera m&ecirc;me pas si l'une des deux
+ r&eacute;solutions DNS mentionn&eacute;es ci-avant
+ &eacute;choue pour au moins un h&ocirc;te virtuel. Dans
+ certains cas, cette r&eacute;solution peut ne m&ecirc;me pas
+ &ecirc;tre sous votre contr&ocirc;le. Par exemple, si
+ <code>abc.dom</code> est l'un de vos clients, lequel
+ contr&ocirc;le son propre serveur DNS, ce dernier peut forcer
+ votre serveur Apache (en version ant&eacute;rieure &agrave;
+ 1.2) &agrave; s'arr&ecirc;ter au d&eacute;marrage en supprimant
+ simplement l'enregistrement du nom
+ <code>www.abc.dom</code>.</p>
+
+ <p>Une autre situation est beaucoup plus pernicieuse.
+ Consid&eacute;rez cet extrait de code de configuration :</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.def.dom&gt;
+ ServerAdmin webguy@def.dom
+ DocumentRoot /www/def
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Supposez que vous avez assign&eacute; 10.0.0.1 au domaine
+ <code>www.abc.dom</code> et 10.0.0.2 au domaine
+ <code>www.def.dom</code>. De plus, supposez que
+ <code>def.com</code> contr&ocirc;le son propre service DNS.
+ Avec la pr&eacute;c&eacute;dente configuration, vous permettez
+ &agrave; <code>def.com</code> de "voler" tout le trafic
+ destin&eacute; &agrave; <code>abc.com</code>. Tout ce qu'ils
+ auraient &agrave; faire pour y parvenir est d'assigner
+ <code>www.def.dom</code> &agrave; l'adresse 10.0.0.1. Dans la
+ mesure o&ugrave; ils contr&ocirc;lent leur propre DNS, vous ne
+ pouvez les emp&ecirc;cher de pi&eacute;ger leur enregistrement
+ de <code>www.def.com</code>.</p>
+
+ <p>Les requ&ecirc;tes arrivant pour 10.0.0.1 (y compris toutes
+ celles o&ugrave; les utilisateurs auront tap&eacute; une URL de
+ la forme <code>http://www.abc.dom/qqchose</code>) seront toutes
+ servies par l'h&ocirc;te virtuel <code>def.com</code>. Mieux
+ comprendre comment cela est possible demande une discussion
+ plus d&eacute;taill&eacute;e sur la mani&egrave;re dont Apache
+ traite des requ&ecirc;tes arrivant pour des h&ocirc;tes
+ virtuels. Un premier document descrivant ceci est <a
+ href="vhosts/details.html">disponible</a>.</p>
+
+ <h3>L'adresse du "serveur principal"</h3>
+
+ <p>L'addition du <a href="vhosts/name-based.html">support
+ d'h&ocirc;tes virtuels bas&eacute;s sur les noms</a> dans
+ Apache 1.1 n&eacute;cessite qu'Apache connaisse les adresses IP
+ de l'h&ocirc;te sur lequel est ex&eacute;cut&eacute; httpd.
+ Pour obtenir cette adresse, il utilise soit le
+ <code>ServerName</code> global (si d&eacute;fini) ou appelle la
+ fonction C <code>gethostname</code> (qui renvoie une
+ information similaire &agrave; celle donn&eacute;e par la
+ commande interactive "hostname"). Puis il proc&egrave;de
+ &agrave; une r&eacute;solution DNS pour cette adresse.
+ Jusqu'&agrave; pr&eacute;sent, il n'y a aucun moyen
+ d'&eacute;viter cette r&eacute;solution.</p>
+
+ <p>Si vous craignez que cette r&eacute;solution &eacute;choue
+ parceque votre serveur DNS est arr&ecirc;t&eacute;, alors vous
+ popuvez ajouter le nom d'h&ocirc;te dans le fichier
+ <code>/etc/hosts</code> (o&ugrave; il devrait normalement
+ d&eacute;j&agrave; figurer, ne serait-ce que pour assurer un
+ d&eacute;marrage correct de la machine). Vous devrez en outre
+ vous assurer que votre machine est configur&eacute;e pour
+ exploiter le fichier <code>/etc/hosts</code> en cas
+ d'&eacute;chec d'une r&eacute;solution dynamique. Suivant l'OS
+ que vous utilisez, ceci peut &ecirc;tre fait en &eacute;ditant
+ le code <code>/etc/resolv.conf</code>, ou peut &ecirc;tre
+ <code>/etc/nsswitch.conf</code>.</p>
+
+ <p>Si votre machine n'a pas de r&eacute;solution DNS &agrave;
+ effectuer pour toute autre raison (par exemple parce qu'elle
+ est isol&eacute;e), alors vous pourrez n&eacute;anmoins faire
+ tourner Apache en initialisant la variable d'environnement
+ <code>HOSTRESORDER</code> &agrave; "local". Tout ceci
+ d&eacute;pend de l'OS et des librairies de r&eacute;solveur que
+ vous utilisez. Les CGI sont &eacute;galement affect&eacute;s
+ sauf si vous utilisez la fonctionnalit&eacute; <a
+ href="mod/mod_env.html"><code>mod_env</code></a> pour
+ contr&ocirc;ler l'environnement. Il est prudent de consulter
+ les pages de manuel ou les FAQ sp&eacute;cifiques &agrave;
+ votre OS.</p>
+
+ <h3><a id="tips" name="tips">Astuces pour &eacute;viter ces
+ probl&egrave;mes</a></h3>
+
+ <ul>
+ <li>utilisez des adresses IP dans les sections
+ <code>&lt;VirtualHost&gt;</code></li>
+
+ <li>utilisez des adresses IP dans la clause
+ <code>Listen</code></li>
+
+ <li>utilisez des adresses IP dans la clause
+ <code>BindAddress</code></li>
+
+ <li>assurez vous que tous les h&ocirc;tes virtuels on un
+ <code>ServerName</code></li>
+
+ <li>cr&eacute;ez un serveur <code>&lt;VirtualHost
+ _default_:*&gt;</code> qui ne sert aucune page.</li>
+ </ul>
+
+ <h3>Annexe: Directions futures</h3>
+
+ <p>Cette situation vis-&agrave;-vis du DNS est largement
+ insatisfaisante. Pour Apache 1.2, nous avons travaill&eacute;
+ pour que le serveur puisse continuer &agrave; d&eacute;marrer
+ dans le cas de l'&eacute;chec d'une r&eacute;solution DNS, mais
+ il est possible que nous puissions en faire plus. Toute
+ &eacute;criture n&eacute;cessitant l'usage d'adresses IP
+ explicites dans le fichier de configuration n'est pas
+ souhaitable dans le contexte Internet actuel o&ugrave; la <a
+ href="http://www.ietf.org/html.charters/pier-charter.html">rotation
+ d'adresses</a> est une n&eacute;cessit&eacute;.</p>
+
+ <p>Une parade au vol de service serait d'effectuer une
+ r&eacute;solution DNS inverse sur l'adresse IP renvoy&eacute;e
+ par la r&eacute;solution directe, et comparer les deux noms. En
+ cas de non concordance, cet h&ocirc;te virtuel serait
+ d&eacute;sactiv&eacute;. Ceci impliquerait que la
+ r&eacute;solution DNS inverse soit correctement
+ configur&eacute;e (ce qui reste assez connu des administrateurs
+ du fait de l'usage commun de la r&eacute;solution inverse
+ double par les serveurs FTP et les transposeurs TCP).</p>
+
+ <p>Dans tous les cas, il ne semble pas possible de garantir la
+ fiabilit&eacute; du d&eacute;marrage d'un serveur web
+ g&eacute;rant des h&ocirc;tes virtuels lorsque la
+ r&eacute;solution DNS a &eacute;chou&eacute;, sauf si la
+ d&eacute;finition de ces h&ocirc;tes utilise des adresses IP
+ explicites. Une solution partielle consistant &agrave; ignorer
+ certaines portions du fichier de configuration serait encore
+ pire que ne pas d&eacute;marrer du tout, dans certains cas
+ d'exploitation.</p>
+
+ <p>Par l'extension de l'usage de HTTP/1.1, les navigateurs et
+ proxies fournissent de plus en plus souvent l'en-t&ecirc;te
+ <code>Host</code>, et il deviendra possible d'&eacute;viter
+ totalement la d&eacute;finition d'h&ocirc;tes virtuels
+ bas&eacute;s sur des adresses IP. Dans ce cas, un serveur Web
+ n'aura plus de r&eacute;solution DNS &agrave; effectuer pendant
+ la configuration. Mais &agrave; la date de Mars 1997, ces
+ fonctionnalit&eacute;s n'ont pas &eacute;t&eacute; suffisament
+ largement d&eacute;ploy&eacute;es pour pouvoir &ecirc;tre
+ exploit&eacute;es par des serveurs en situation critique.
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/dns-caveats.html.html b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.html
new file mode 100644
index 00000000000..bd3702e551f
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/dns-caveats.html.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Issues Regarding DNS and Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Issues Regarding DNS and Apache</h1>
+
+ <p>This page could be summarized with the statement: <em>don't
+ require Apache to use DNS for any parsing of the configuration
+ files</em>. If Apache has to use DNS to parse the configuration
+ files then your server may be subject to reliability problems
+ (it might not boot), or denial and theft of service attacks
+ (including users able to steal hits from other users).</p>
+
+ <h3>A Simple Example</h3>
+ Consider this configuration snippet:
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>In order for Apache to function properly it absolutely needs
+ to have two pieces of information about each virtual host: the
+ <a href="mod/core.html#servername"><code>ServerName</code></a>
+ and at least one IP address that the server responds to. This
+ example does not include the IP address, so Apache must use DNS
+ to find the address of <code>www.abc.dom</code>. If for some
+ reason DNS is not available at the time your server is parsing
+ its config file, then this virtual host <strong>will not be
+ configured</strong>. It won't be able to respond to any hits to
+ this virtual host (prior to Apache version 1.2 the server would
+ not even boot).</p>
+
+ <p>Suppose that <code>www.abc.dom</code> has address 10.0.0.1.
+ Then consider this configuration snippet:</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Now Apache needs to use reverse DNS to find the
+ <code>ServerName</code> for this virtualhost. If that reverse
+ lookup fails then it will partially disable the virtualhost
+ (prior to Apache version 1.2 the server would not even boot).
+ If the virtual host is name-based then it will effectively be
+ totally disabled, but if it is IP-based then it will mostly
+ work. However if Apache should ever have to generate a full URL
+ for the server which includes the server name then it will fail
+ to generate a valid URL.</p>
+
+ <p>Here is a snippet that avoids both of these problems.</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost 10.0.0.1&gt;
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <h3>Denial of Service</h3>
+
+ <p>There are (at least) two forms that denial of service can
+ come in. If you are running a version of Apache prior to
+ version 1.2 then your server will not even boot if one of the
+ two DNS lookups mentioned above fails for any of your virtual
+ hosts. In some cases this DNS lookup may not even be under your
+ control. For example, if <code>abc.dom</code> is one of your
+ customers and they control their own DNS then they can force
+ your (pre-1.2) server to fail while booting simply by deleting
+ the <code>www.abc.dom</code> record.</p>
+
+ <p>Another form is far more insidious. Consider this
+ configuration snippet:</p>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.abc.dom&gt;
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <blockquote>
+<pre>
+ &lt;VirtualHost www.def.dom&gt;
+ ServerAdmin webguy@def.dom
+ DocumentRoot /www/def
+ &lt;/VirtualHost&gt;
+</pre>
+ </blockquote>
+
+ <p>Suppose that you've assigned 10.0.0.1 to
+ <code>www.abc.dom</code> and 10.0.0.2 to
+ <code>www.def.dom</code>. Furthermore, suppose that
+ <code>def.com</code> has control of their own DNS. With this
+ config you have put <code>def.com</code> into a position where
+ they can steal all traffic destined to <code>abc.com</code>. To
+ do so, all they have to do is set <code>www.def.dom</code> to
+ 10.0.0.1. Since they control their own DNS you can't stop them
+ from pointing the <code>www.def.com</code> record wherever they
+ wish.</p>
+
+ <p>Requests coming in to 10.0.0.1 (including all those where
+ users typed in URLs of the form
+ <code>http://www.abc.dom/whatever</code>) will all be served by
+ the <code>def.com</code> virtual host. To better understand why
+ this happens requires a more in-depth discussion of how Apache
+ matches up incoming requests with the virtual host that will
+ serve it. A rough document describing this <a
+ href="vhosts/details.html">is available</a>.</p>
+
+ <h3>The "main server" Address</h3>
+
+ <p>The addition of <a href="vhosts/name-based.html">name-based
+ virtual host support</a> in Apache 1.1 requires Apache to know
+ the IP address(es) of the host that httpd is running on. To get
+ this address it uses either the global <code>ServerName</code>
+ (if present) or calls the C function <code>gethostname</code>
+ (which should return the same as typing "hostname" at the
+ command prompt). Then it performs a DNS lookup on this address.
+ At present there is no way to avoid this lookup.</p>
+
+ <p>If you fear that this lookup might fail because your DNS
+ server is down then you can insert the hostname in
+ <code>/etc/hosts</code> (where you probably already have it so
+ that the machine can boot properly). Then ensure that your
+ machine is configured to use <code>/etc/hosts</code> in the
+ event that DNS fails. Depending on what OS you are using this
+ might be accomplished by editing <code>/etc/resolv.conf</code>,
+ or maybe <code>/etc/nsswitch.conf</code>.</p>
+
+ <p>If your server doesn't have to perform DNS for any other
+ reason then you might be able to get away with running Apache
+ with the <code>HOSTRESORDER</code> environment variable set to
+ "local". This all depends on what OS and resolver libraries you
+ are using. It also affects CGIs unless you use <a
+ href="mod/mod_env.html"><code>mod_env</code></a> to control the
+ environment. It's best to consult the man pages or FAQs for
+ your OS.</p>
+
+ <h3><a id="tips" name="tips">Tips to Avoid these
+ problems</a></h3>
+
+ <ul>
+ <li>use IP addresses in <code>&lt;VirtualHost&gt;</code></li>
+
+ <li>use IP addresses in <code>Listen</code></li>
+
+ <li>use IP addresses in <code>BindAddress</code></li>
+
+ <li>ensure all virtual hosts have an explicit
+ <code>ServerName</code></li>
+
+ <li>create a <code>&lt;VirtualHost _default_:*&gt;</code>
+ server that has no pages to serve</li>
+ </ul>
+
+ <h3>Appendix: Future Directions</h3>
+
+ <p>The situation regarding DNS is highly undesirable. For
+ Apache 1.2 we've attempted to make the server at least continue
+ booting in the event of failed DNS, but it might not be the
+ best we can do. In any event requiring the use of explicit IP
+ addresses in configuration files is highly undesirable in
+ today's Internet where renumbering is a necessity.</p>
+
+ <p>A possible work around to the theft of service attack
+ described above would be to perform a reverse DNS lookup on the
+ ip address returned by the forward lookup and compare the two
+ names. In the event of a mismatch the virtualhost would be
+ disabled. This would require reverse DNS to be configured
+ properly (which is something that most admins are familiar with
+ because of the common use of "double-reverse" DNS lookups by
+ FTP servers and TCP wrappers).</p>
+
+ <p>In any event it doesn't seem possible to reliably boot a
+ virtual-hosted web server when DNS has failed unless IP
+ addresses are used. Partial solutions such as disabling
+ portions of the configuration might be worse than not booting
+ at all depending on what the webserver is supposed to
+ accomplish.</p>
+
+ <p>As HTTP/1.1 is deployed and browsers and proxies start
+ issuing the <code>Host</code> header it will become possible to
+ avoid the use of IP-based virtual hosts entirely. In this event
+ a webserver has no requirement to do DNS lookups during
+ configuration. But as of March 1997 these features have not
+ been deployed widely enough to be put into use on critical
+ webservers. <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/env.html.en b/usr.sbin/httpd/htdocs/manual/env.html.en
new file mode 100644
index 00000000000..b01b47af28b
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/env.html.en
@@ -0,0 +1,342 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Environment Variables in Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="center">Environment Variables in Apache</h1>
+
+ <p>The Apache HTTP Server provides a mechanism for storing
+ information in named variables that are called <em>environment
+ variables</em>. This information can be used to control various
+ operations such as logging or access control. The variables are
+ also used as a mechanism to communicate with external programs
+ such as CGI scripts. This document discusses different ways to
+ manipulate and use these variables.</p>
+
+ <p>Although these variables are referred to as <em>environment
+ variables</em>, they are not the same as the environment
+ variables controlled by the underlying operating system.
+ Instead, these variables are stored and manipulated in an
+ internal Apache structure. They only become actual operating
+ system environment variables when they are provided to CGI
+ scripts and Server Side Include scripts. If you wish to
+ manipulate the operating system environment under which the
+ server itself runs, you must use the standard environment
+ manipulation mechanisms provided by your operating system
+ shell.</p>
+
+ <ul>
+ <li><a href="#setting">Setting Environment Variables</a></li>
+
+ <li><a href="#using">Using Environment Variables</a></li>
+
+ <li><a href="#special">Special Purpose Environment
+ Variables</a></li>
+
+ <li><a href="#examples">Examples</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="setting" name="setting">Setting Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_env.html">mod_env</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+ <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
+ <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
+ <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>Basic Environment Manipulation</h3>
+
+ <p>The most basic way to set an environment variable in Apache
+ is using the unconditional <code>SetEnv</code> directive.
+ Variables may also be passed from the environment of the shell
+ which started the server using the <code>PassEnv</code>
+ directive.</p>
+
+ <h3>Conditional Per-Request Settings</h3>
+
+ <p>For additional flexibility, the directives provided by
+ mod_setenvif allow environment variables to be set on a
+ per-request basis, conditional on characteristics of particular
+ requests. For example, a variable could be set only when a
+ specific browser (User-Agent) is making a request, or only when
+ a specific Referer [sic] header is found. Even more flexibility
+ is available through the mod_rewrite's <code>RewriteRule</code>
+ which uses the <code>[E=...]</code> option to set environment
+ variables.</p>
+
+ <h3>Unique Identifiers</h3>
+
+ <p>Finally, mod_unique_id sets the environment variable
+ <code>UNIQUE_ID</code> for each request to a value which is
+ guaranteed to be unique across "all" requests under very
+ specific conditions.</p>
+
+ <h3>Standard CGI Variables</h3>
+
+ <p>In addition to all environment variables set within the
+ Apache configuration and passed from the shell, CGI scripts and
+ SSI pages are provided with a set of environment variables
+ containing meta-information about the request as required by
+ the <a href="misc/FAQ.html#cgi-spec">CGI specification</a>.</p>
+
+ <h3>Some Caveats</h3>
+
+ <ul>
+ <li>It is not possible to override or change the standard CGI
+ variables using the environment manipulation directives.</li>
+
+ <li>When <a href="suexec.html">suexec</a> is used to launch
+ CGI scripts, the environment will be cleaned down to a set of
+ <em>safe</em> variables before CGI scripts are launched. The
+ list of <em>safe</em> variables is defined at compile-time in
+ <code>suexec.c</code>.</li>
+
+ <li>For portability reasons, the names of environment
+ variables may contain only letters, numbers, and the
+ underscore character. In addition, the first character may
+ not be a number. Characters which do not match this
+ restriction will be replaced by an underscore when passed to
+ CGI scripts and SSI pages.</li>
+ </ul>
+ <hr />
+
+ <h2><a id="using" name="using">Using Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_access.html">mod_access</a><br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_include.html">mod_include</a><br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a href="mod/mod_access.html#allow">Allow</a><br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a href="mod/mod_access.html#deny">Deny</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>CGI Scripts</h3>
+
+ <p>One of the primary uses of environment variables is to
+ communicate information to CGI scripts. As discussed above, the
+ environment passed to CGI scripts includes standard
+ meta-information about the request in addition to any variables
+ set within the Apache configuration. For more details, see the
+ <a href="howto/cgi.html">CGI tutorial</a>.</p>
+
+ <h3>SSI Pages</h3>
+
+ <p>Server-parsed (SSI) documents processed by mod_include's
+ <code>server-parsed</code> handler can print environment
+ variables using the <code>echo</code> element, and can use
+ environment variables in flow control elements to makes parts
+ of a page conditional on characteristics of a request. Apache
+ also provides SSI pages with the standard CGI environment
+ variables as discussed above. For more details, see the <a
+ href="howto/ssi.html">SSI tutorial</a>.</p>
+
+ <h3>Access Control</h3>
+
+ <p>Access to the server can be controlled based on the value of
+ environment variables using the <code>allow from env=</code>
+ and <code>deny from env=</code> directives. In combination with
+ <code>SetEnvIf</code>, this allows for flexible control of
+ access to the server based on characteristics of the client.
+ For example, you can use these directives to deny access to a
+ particular browser (User-Agent).</p>
+
+ <h3>Conditional Logging</h3>
+
+ <p>Environment variables can be logged in the access log using
+ the <code>LogFormat</code> option <code>%e</code>. In addition,
+ the decision on whether or not to log requests can be made
+ based on the status of environment variables using the
+ conditional form of the <code>CustomLog</code> directive. In
+ combination with <code>SetEnvIf</code> this allows for flexible
+ control of which requests are logged. For example, you can
+ choose not to log requests for filenames ending in
+ <code>gif</code>, or you can choose to only log requests from
+ clients which are outside your subnet.</p>
+
+ <h3>URL Rewriting</h3>
+
+ <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in
+ the <code>RewriteCond</code> allows mod_rewrite's rewrite
+ engine to make decisions conditional on environment variables.
+ Note that the variables accessible in mod_rewrite without the
+ <code>ENV:</code> prefix are not actually environment
+ variables. Rather, they are variables special to mod_rewrite
+ which cannot be accessed from other modules.</p>
+ <hr />
+
+ <h2><a id="special" name="special">Special Purpose Environment
+ Variables</a></h2>
+
+ <p>Interoperability problems have led to the introduction of
+ mechanisms to modify the way Apache behaves when talking to
+ particular clients. To make these mechanisms as flexible as
+ possible, they are invoked by defining environment variables,
+ typically with <a
+ href="mod/mod_browser.html#browsermatch">BrowserMatch</a>,
+ though <a href="mod/mod_env.html#setenv">SetEnv</a> and <a
+ href="mod/mod_env.html#passenv">PassEnv</a> could also be used,
+ for example.</p>
+
+ <h2>downgrade-1.0</h2>
+
+ <p>This forces the request to be treated as a HTTP/1.0 request
+ even if it was in a later dialect.</p>
+
+ <h2>force-no-vary</h2>
+
+ <p>This causes any <code>Vary</code> fields to be removed from
+ the response header before it is sent back to the client. Some
+ clients don't interpret this field correctly (see the <a
+ href="misc/known_client_problems.html">known client
+ problems</a> page); setting this variable can work around this
+ problem. Setting this variable also implies
+ <strong>force-response-1.0</strong>.</p>
+
+ <h2>force-response-1.0</h2>
+
+ <p>This forces an HTTP/1.0 response when set. It was originally
+ implemented as a result of a problem with AOL's proxies. Some
+ clients may not behave correctly when given an HTTP/1.1
+ response, and this can be used to interoperate with them.</p>
+
+ <h2>nokeepalive</h2>
+
+ <p>This disables <a
+ href="mod/core.html#keepalive">KeepAlive</a> when set.</p>
+ <hr />
+
+ <h2><a id="examples" name="examples">Examples</a></h2>
+
+ <h3>Changing protocol behavior with misbehaving clients</h3>
+
+ <p>We recommend that the following lines be included in
+ httpd.conf to deal with known client problems.</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+ <h3>Do not log requests for images in the access log</h3>
+
+ <p>This example keeps requests for images from appearing in the
+ access log. It can be easily modified to prevent logging of
+ particular directories, or to prevent logging of requests
+ coming from particular hosts.</p>
+<pre>
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log env=!image-request
+</pre>
+
+ <h3>Prevent "Image Theft"</h3>
+
+ <p>This example shows how to keep people not on your server
+ from using images on your server as inline-images on their
+ pages. This is not a recommended configuration, but it can work
+ in limited circumstances. We assume that all your images are in
+ a directory called /web/images.</p>
+<pre>
+ SetEnvIf Referer "^http://www.example.com/" local_referal
+ # Allow browsers that do not send Referer info
+ SetEnvIf Referer "^$" local_referal
+ &lt;Directory /web/images&gt;
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+ &lt;/Directory&gt;
+</pre>
+
+ <p><em>Note:</em> spelling of 'referer' and 'referal' is
+ intentional.</p>
+
+ <p>For more information about this technique, see the
+ ApacheToday tutorial " <a
+ href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
+ Keeping Your Images from Adorning Other Sites</a>".</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/env.html.html b/usr.sbin/httpd/htdocs/manual/env.html.html
new file mode 100644
index 00000000000..80f44cad6db
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/env.html.html
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Environment Variables in Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="center">Environment Variables in Apache</h1>
+
+ <p>The Apache HTTP Server provides a mechanism for storing
+ information in named variables that are called <em>environment
+ variables</em>. This information can be used to control various
+ operations such as logging or access control. The variables are
+ also used as a mechanism to communicate with external programs
+ such as CGI scripts. This document discusses different ways to
+ manipulate and use these variables.</p>
+
+ <p>Although these variables are referred to as <em>environment
+ variables</em>, they are not the same as the environment
+ variables controlled by the underlying operating system.
+ Instead, these variables are stored and manipulated in an
+ internal Apache structure. They only become actual operating
+ system environment variables when they are provided to CGI
+ scripts and Server Side Include scripts. If you wish to
+ manipulate the operating system environment under which the
+ server itself runs, you must use the standard environment
+ manipulation mechanisms provided by your operating system
+ shell.</p>
+
+ <ul>
+ <li><a href="#setting">Setting Environment Variables</a></li>
+
+ <li><a href="#using">Using Environment Variables</a></li>
+
+ <li><a href="#special">Special Purpose Environment
+ Variables</a></li>
+
+ <li><a href="#examples">Examples</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="setting" name="setting">Setting Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_env.html">mod_env</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+ <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
+ <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
+ <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>Basic Environment Manipulation</h3>
+
+ <p>The most basic way to set an environment variable in Apache
+ is using the unconditional <code>SetEnv</code> directive.
+ Variables may also be passed from the environment of the shell
+ which started the server using the <code>PassEnv</code>
+ directive.</p>
+
+ <h3>Conditional Per-Request Settings</h3>
+
+ <p>For additional flexibility, the directives provided by
+ mod_setenvif allow environment variables to be set on a
+ per-request basis, conditional on characteristics of particular
+ requests. For example, a variable could be set only when a
+ specific browser (User-Agent) is making a request, or only when
+ a specific Referer [sic] header is found. Even more flexibility
+ is available through the mod_rewrite's <code>RewriteRule</code>
+ which uses the <code>[E=...]</code> option to set environment
+ variables.</p>
+
+ <h3>Unique Identifiers</h3>
+
+ <p>Finally, mod_unique_id sets the environment variable
+ <code>UNIQUE_ID</code> for each request to a value which is
+ guaranteed to be unique across "all" requests under very
+ specific conditions.</p>
+
+ <h3>Standard CGI Variables</h3>
+
+ <p>In addition to all environment variables set within the
+ Apache configuration and passed from the shell, CGI scripts and
+ SSI pages are provided with a set of environment variables
+ containing meta-information about the request as required by
+ the <a href="misc/FAQ.html#cgi-spec">CGI specification</a>.</p>
+
+ <h3>Some Caveats</h3>
+
+ <ul>
+ <li>It is not possible to override or change the standard CGI
+ variables using the environment manipulation directives.</li>
+
+ <li>When <a href="suexec.html">suexec</a> is used to launch
+ CGI scripts, the environment will be cleaned down to a set of
+ <em>safe</em> variables before CGI scripts are launched. The
+ list of <em>safe</em> variables is defined at compile-time in
+ <code>suexec.c</code>.</li>
+
+ <li>For portability reasons, the names of environment
+ variables may contain only letters, numbers, and the
+ underscore character. In addition, the first character may
+ not be a number. Characters which do not match this
+ restriction will be replaced by an underscore when passed to
+ CGI scripts and SSI pages.</li>
+ </ul>
+ <hr />
+
+ <h2><a id="using" name="using">Using Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_access.html">mod_access</a><br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_include.html">mod_include</a><br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a href="mod/mod_access.html#allow">Allow</a><br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a href="mod/mod_access.html#deny">Deny</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>CGI Scripts</h3>
+
+ <p>One of the primary uses of environment variables is to
+ communicate information to CGI scripts. As discussed above, the
+ environment passed to CGI scripts includes standard
+ meta-information about the request in addition to any variables
+ set within the Apache configuration. For more details, see the
+ <a href="howto/cgi.html">CGI tutorial</a>.</p>
+
+ <h3>SSI Pages</h3>
+
+ <p>Server-parsed (SSI) documents processed by mod_include's
+ <code>server-parsed</code> handler can print environment
+ variables using the <code>echo</code> element, and can use
+ environment variables in flow control elements to makes parts
+ of a page conditional on characteristics of a request. Apache
+ also provides SSI pages with the standard CGI environment
+ variables as discussed above. For more details, see the <a
+ href="howto/ssi.html">SSI tutorial</a>.</p>
+
+ <h3>Access Control</h3>
+
+ <p>Access to the server can be controlled based on the value of
+ environment variables using the <code>allow from env=</code>
+ and <code>deny from env=</code> directives. In combination with
+ <code>SetEnvIf</code>, this allows for flexible control of
+ access to the server based on characteristics of the client.
+ For example, you can use these directives to deny access to a
+ particular browser (User-Agent).</p>
+
+ <h3>Conditional Logging</h3>
+
+ <p>Environment variables can be logged in the access log using
+ the <code>LogFormat</code> option <code>%e</code>. In addition,
+ the decision on whether or not to log requests can be made
+ based on the status of environment variables using the
+ conditional form of the <code>CustomLog</code> directive. In
+ combination with <code>SetEnvIf</code> this allows for flexible
+ control of which requests are logged. For example, you can
+ choose not to log requests for filenames ending in
+ <code>gif</code>, or you can choose to only log requests from
+ clients which are outside your subnet.</p>
+
+ <h3>URL Rewriting</h3>
+
+ <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in
+ the <code>RewriteCond</code> allows mod_rewrite's rewrite
+ engine to make decisions conditional on environment variables.
+ Note that the variables accessible in mod_rewrite without the
+ <code>ENV:</code> prefix are not actually environment
+ variables. Rather, they are variables special to mod_rewrite
+ which cannot be accessed from other modules.</p>
+ <hr />
+
+ <h2><a id="special" name="special">Special Purpose Environment
+ Variables</a></h2>
+
+ <p>Interoperability problems have led to the introduction of
+ mechanisms to modify the way Apache behaves when talking to
+ particular clients. To make these mechanisms as flexible as
+ possible, they are invoked by defining environment variables,
+ typically with <a
+ href="mod/mod_browser.html#browsermatch">BrowserMatch</a>,
+ though <a href="mod/mod_env.html#setenv">SetEnv</a> and <a
+ href="mod/mod_env.html#passenv">PassEnv</a> could also be used,
+ for example.</p>
+
+ <h2>downgrade-1.0</h2>
+
+ <p>This forces the request to be treated as a HTTP/1.0 request
+ even if it was in a later dialect.</p>
+
+ <h2>force-no-vary</h2>
+
+ <p>This causes any <code>Vary</code> fields to be removed from
+ the response header before it is sent back to the client. Some
+ clients don't interpret this field correctly (see the <a
+ href="misc/known_client_problems.html">known client
+ problems</a> page); setting this variable can work around this
+ problem. Setting this variable also implies
+ <strong>force-response-1.0</strong>.</p>
+
+ <h2>force-response-1.0</h2>
+
+ <p>This forces an HTTP/1.0 response when set. It was originally
+ implemented as a result of a problem with AOL's proxies. Some
+ clients may not behave correctly when given an HTTP/1.1
+ response, and this can be used to interoperate with them.</p>
+
+ <h2>nokeepalive</h2>
+
+ <p>This disables <a
+ href="mod/core.html#keepalive">KeepAlive</a> when set.</p>
+ <hr />
+
+ <h2><a id="examples" name="examples">Examples</a></h2>
+
+ <h3>Changing protocol behavior with misbehaving clients</h3>
+
+ <p>We recommend that the following lines be included in
+ httpd.conf to deal with known client problems.</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+ <h3>Do not log requests for images in the access log</h3>
+
+ <p>This example keeps requests for images from appearing in the
+ access log. It can be easily modified to prevent logging of
+ particular directories, or to prevent logging of requests
+ coming from particular hosts.</p>
+<pre>
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log env=!image-request
+</pre>
+
+ <h3>Prevent "Image Theft"</h3>
+
+ <p>This example shows how to keep people not on your server
+ from using images on your server as inline-images on their
+ pages. This is not a recommended configuration, but it can work
+ in limited circumstances. We assume that all your images are in
+ a directory called /web/images.</p>
+<pre>
+ SetEnvIf Referer "^http://www.example.com/" local_referal
+ # Allow browsers that do not send Referer info
+ SetEnvIf Referer "^$" local_referal
+ &lt;Directory /web/images&gt;
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+ &lt;/Directory&gt;
+</pre>
+
+ <p><em>Note:</em> spelling of 'referer' and 'referal' is
+ intentional.</p>
+
+ <p>For more information about this technique, see the
+ ApacheToday tutorial " <a
+ href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
+ Keeping Your Images from Adorning Other Sites</a>".</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/env.html.ja.jis b/usr.sbin/httpd/htdocs/manual/env.html.ja.jis
new file mode 100644
index 00000000000..8a04319c257
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/env.html.ja.jis
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+ <head>
+
+
+ <title>Apache $B$N4D6-JQ?t(B</title>
+ </head>
+ <!-- English revision: 1.16 -->
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="center">Apache $B$K$*$1$k4D6-JQ?t(B</h1>
+
+ <p>$BB?$/$N%*%Z%l!<%F%#%s%0%7%9%F%`$O!"(B<em>$B4D6-JQ?t(B</em>$B$H8F$P$l$k!"(B
+ $B>pJs$NJ]B8!"EAC#$N$?$a$N5!G=$rDs6!$7$F$$$^$9!#F0:nJ}K!$r@)8f$7$?$j!"(B
+ CGI $B%9%/%j%W%H$N$h$&$JB>$N%W%m%0%i%`$HDL?.$7$?$j$9$k$?$a$K!"(BApache
+ $B$OB?$/$NJ}K!$G4D6-JQ?t$r;H$$$^$9!#$3$NJ8=q$G$O!"(BApache
+ $B$K$*$1$k4D6-JQ?t$N;HMQK!$r$$$/$D$+@bL@$7$^$9!#(B
+ </p>
+
+
+ <ul>
+ <li><a href="#setting">$B4D6-JQ?t$N@_Dj(B</a></li>
+
+ <li><a href="#using">$B4D6-JQ?t$N;HMQ(B</a></li>
+
+ <li><a href="#special">$BFCJL$JL\E*$N4D6-JQ?t(B</a></li>
+
+ <li><a href="#examples">$BNc(B</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="setting" name="setting">$B4D6-JQ?t$N@_Dj(B</a></h2>
+
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>$B4XO"%b%8%e!<%k(B</strong><br />
+ <br />
+ <a href="mod/mod_env.html">mod_env</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+ <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+ </td>
+
+ <td valign="top"><strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br />
+ <br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
+ <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
+ <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>$B4pK\E*$J4D6-$NA`:n(B</h3>
+
+ <p>Apache $B$K$*$$$F4D6-JQ?t$r@_Dj$9$k0lHV4pK\E*$JJ}K!$O!"(B
+ $BL5>r7o$K4D6-JQ?t$r@_Dj$9$k(B <code>SetEnv</code>
+ $B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9!#(B <code>PassEnv</code>
+ $B%G%#%l%/%F%#%V$K$h$j!"(BApache $B$,5/F0$5$l$?%7%'%k$N(B
+ $B4D6-JQ?t$rEO$9$3$H$b$G$-$^$9!#(B</p>
+
+ <h3>$B%j%/%(%9%HKh$K>r7o$K4p$E$$$F@_Dj$9$k(B</h3>
+
+ <p>$B$h$j=@Fp@-$r9b$a$k$?$a$K!"(Bmod_setenvif
+ $B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G!"%j%/%(%9%H$N(B
+ $BFC@-$K4p$E$$$F4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#Nc$($P!"FCDj$N%V%i%&%6(B
+ (User-Agent) $B$N%j%/%(%9%H$dFCDj$N(B Referer [$B0U?^E*$JDV$j$G$9(B]
+ ($BLuCm(B: $B@5$7$$DV$j$O(B referrer $B$G$9$,!"(BHTTP $B$N;EMM$G$O(B Referer
+ $B$H$J$C$F$$$^$9(B) $B%X%C%@$,8+$D$+$C$?$H$-$N$_JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#(B
+ mod_rewrite $B$N(B <code>RewriteRule</code> $B%G%#%l%/%F%#%V$K$*$$$F(B
+ $B4D6-JQ?t$r@_Dj$9$k(B <code>[E=...]</code> $B%*%W%7%g%s$r;HMQ$9$k$3$H$G!"(B
+ $B$h$j=@Fp$J@_Dj$r9T$J$&$3$H$,$G$-$^$9!#(B</p>
+
+ <h3>$B0l0U$J<1JL;R(B</h3>
+
+ <p>mod_unique_id $B$O!"Hs>o$K8B$i$l$?>r7o$N2<$G(B
+ $B!V$9$Y$F!W$N%j%/%(%9%H$K$D$$$F!"0l0U$G$"$k$3$H$,J]>Z$5$l$F$$$kCM$r4D6-JQ?t(B
+ <code>UNIQUE_ID</code> $B$K@_Dj$7$^$9!#(B
+ </p>
+
+ <h3>$BI8=`(B CGI $BJQ?t(B</h3>
+
+ <p>Apache $B$N@_Dj%U%!%$%k$G@_Dj$5$l$?4D6-JQ?t$H%7%'%k$+$iEO$5$l$k(B
+ $B4D6-JQ?t$K2C$($F!"(BCGI $B%9%/%j%W%H$H(B SSI $B%Z!<%8$K$O(B <a
+ href="misc/FAQ.html#cgi-spec">CGI $B$N;EMM(B</a>$B$GMW5a$5$l$F$$$k!"(B
+ $B%j%/%(%9%H$N%a%?>pJs$r;}$C$?4D6-JQ?t$NAH$,Ds6!$5$l$^$9!#(B
+ </p>
+
+ <h3>$B$$$/$D$+$NCm0U(B</h3>
+
+ <ul>
+ <li>$B4D6-$rA`:n$9$k%G%#%l%/%F%#%V$r;H$C$FI8=`(B CGI
+ $BJQ?t$r>e=q$-$7$?$jJQ99$7$?$j$9$k$3$H$O$G$-$^$;$s!#(B</li>
+
+ <li>CGI $B%9%/%j%W%H$r5/F0$9$k$?$a$K(B <a href="suexec.html">suexec</a>
+ $B$,;HMQ$5$l$F$$$k>l9g!"(BCGI $B%9%/%j%W%H$,5/F0$9$k$?$a$K!"4D6-JQ?t$O(B<em
+ >$B0BA4(B</em>$B$J4D6-JQ?t$NAH$K@0M}$5$l$^$9!#(B
+ $B$3$N0BA4$J4D6-JQ?t$N=89g$O!"%3%s%Q%$%k;~$K(B <code>suexec.c</code>
+ $B$GDj5A$5$l$^$9!#(B</li>
+
+ <li>$B0\?"@-$N$?$a$K!"4D6-JQ?t$NL>A0$O%"%k%U%!%Y%C%H!"(B
+ $B?t;z$H%"%s%@!<%9%3%"(B ($BLuCm(B: '_') $B$@$1$+$i@.$j$^$9!#(B
+ $B$5$i$K!":G=i$NJ8;z$O?t;z$G$"$C$F$O$$$1$^$;$s!#(B
+ $B$3$N@)8B$K9g$o$J$$J8;z$O(B CGI $B%9%/%j%W%H$H(B SSI
+ $B%Z!<%8$KEO$5$l$k$H$-$K%"%s%@!<%9%3%"$KCV49$5$l$^$9!#(B
+ </li>
+ </ul>
+ <hr />
+
+ <h2><a id="using" name="using">$B4D6-JQ?t$N;HMQ(B</a></h2>
+
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>$B4XO"%b%8%e!<%k(B</strong><br />
+ <br />
+ <a href="mod/mod_access.html">mod_access</a><br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_include.html">mod_include</a><br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ </td>
+
+ <td valign="top"><strong>$B4XO"%G%#%l%/%F%#%V(B</strong><br />
+ <br />
+ <a href="mod/mod_access.html#allow">Allow</a><br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a href="mod/mod_access.html#deny">Deny</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>CGI $B%9%/%j%W%H(B</h3>
+
+ <p>$B4D6-JQ?t$N<g$JMxMQK!$N0l$D$O!"(BCGI $B%9%/%j%W%H$K>pJs$rEA$($k$3$H$G$9!#(B
+ $B>e$G@bL@$5$l$F$$$k$h$&$K!"(BCGI $B%9%/%j%W%H$KEO$5$l$k4D6-JQ?t$O(B Apache
+ $B$N@_Dj$K$h$j@_Dj$5$l$kJQ?t$K2C$($F!"%j%/%(%9%H$NI8=`$N%a%?>pJs$r4^$s$G$$$^$9!#(B
+ $B>\:Y$O(B <a href="howto/cgi.html">CGI $B%A%e!<%H%j%"%k(B</a> $B$r;2>H$7$F$/$@$5$$!#(B
+ </p>
+
+
+ <h3>SSI $B%Z!<%8(B</h3>
+
+ <p>
+ mod_include $B$N(B <code>server-parsed</code> $B%O%s%I%i$G=hM}$5$l$k(B
+ server-parsed (SSI) $B%I%-%e%a%s%H$G$O!"(B<code>echo</code>
+ $BMWAG$r;HMQ$9$k$H4D6-JQ?t$,=PNO$5$l$^$9!#(B
+ $B$^$?!"%Z!<%8$N$"$kItJ,$,%j%/%(%9%H$N@-<A$K1~$8$FJQ99$5$l$k$h$&$K!"(B
+ $B4D6-JQ?t$r%U%m!<@)8fMWAG$G;H$&$3$H$,$G$-$^$9!#>\:Y$O(B
+ <a href="howto/ssi.html">SSI $B%A%e!<%H%j%"%k(B</a> $B$r;2>H$7$F$/$@$5$$!#(B
+ </p>
+
+ <h3>$B%"%/%;%9@)8f(B</h3>
+
+ <p><code>allow from env=</code> $B%G%#%l%/%F%#%V$H(B <code>deny from env=</code>
+ $B%G%#%l%/%F%#%V$r;HMQ$7$F!"%5!<%P$X$N%"%/%;%9$r4D6-JQ?t$NCM$G@)8f$9$k$3$H$,$G$-$^$9!#(B
+ <code>SetEnvIf</code> $B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"%/%i%$%"%s%H$NFC@-$K4p$E$$$F(B
+ $B%5!<%P$X$N%"%/%;%9@)8f$r=@Fp$K9T$J$&$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B
+ $BNc$($P!"$3$l$i$N%G%#%l%/%F%#%V$r;HMQ$7$F!"FCDj$N%V%i%&%6(B (User-Agent)
+ $B$+$i$N%"%/%;%9$r5qH]$9$k$3$H$,$G$-$^$9!#(B
+ </p>
+
+ <h3>$B>r7oIU$-%m%05-O?(B</h3>
+
+ <p>
+ <code>LogFormat</code> $B%G%#%l%/%F%#%V$N%*%W%7%g%s(B <code>%e</code>
+ $B$r;HMQ$9$k$3$H$G!"4D6-JQ?t$r%"%/%;%9%m%0$K5-O?$9$k$3$H$,$G$-$^$9!#$5$i$K!"(B
+ <code>CustomLog</code> $B%G%#%l%/%F%#%V$N>r7oJ,4t<0$r;HMQ$9$k$3$H$G!"(B
+ $B4D6-JQ?t$NCM$K$h$C$F%j%/%(%9%H$r%m%0$K5-O?$9$k$+$I$&$+$r7h$a$k$3$H$,$G$-$^$9!#(B
+ <code>SetEnvIf</code> $B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"(B
+ $B$I$N%j%/%(%9%H$r%m%0$K5-O?$9$k$+$r=@Fp$K@)8f$9$k$3$H$,2DG=$K$J$j$^$9!#Nc$($P!"(B
+ <code>gif</code> $B$G=*$o$k%U%!%$%kL>$X$N%j%/%(%9%H$O%m%0$K5-O?$7$J$$!"(B
+ $B0c$&%5%V%M%C%H$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$@$1$r%m%0$K5-O?$9$k!"$H$$$&A*Br$,2DG=$G$9!#(B
+ </p>
+
+ <h3>URL $B$N=q$-49$((B</h3>
+
+ <p><code>RewriteCond</code> $B%G%#%l%/%F%#%V$G(B<em>$BI>2AJ8;zNs(B</em>$B$H$7$F(B
+ <code>%{ENV:...}</code> $B<0$r;XDj$9$k$3$H$G!"(Bmod_rewrite
+ $B$N=q$-49$(%(%s%8%s$,4D6-JQ?t$K4p$$$F>r7oJ,4t$r9T$J$&$3$H$,$G$-$^$9!#(B
+ mod_rewrite $B$,;HMQ2DG=$JJQ?t$G(B <code>ENV:</code> $B$,A0$K$D$$$F$$$J$$JQ?t$O!"(B
+ $B<B:]$O4D6-JQ?t$G$O$J$$$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#(B
+ $B$=$l$i$OB>$N%b%8%e!<%k$+$i$O;HMQ$G$-$J$$(B mod_rewrite $BMQ$NFCJL$JJQ?t$G$9!#(B
+ </p>
+ <hr />
+
+ <h2><a id="special" name="special">$BFCJL$JL\E*$N4D6-JQ?t(B</a></h2>
+
+
+ <p>
+ $B8_49@-$NLdBj$r2r7h$9$k$?$a$K!"FCDj$N%/%i%$%"%s%H$HDL?.$7$F$$$k$H$-$O(B
+ Apache $B$NF0:n$rJQ99$G$-$k5!9=$,F3F~$5$l$^$7$?!#$G$-$k$@$1=@Fp$K$9$k$?$a$K!"(B
+ $B$3$l$i$N5!9=$O4D6-JQ?t$rDj5A$9$k$3$H$G8F$S=P$5$l$^$9!#IaDL$O!"(B
+ <a href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a>
+ $B%G%#%l%/%F%#%V$r;H$$$^$9$,!"Nc$($P(B <a href="mod/mod_env.html#setenv"
+ >SetEnv</a> $B%G%#%l%/%F%#%V$d(B <a href="mod/mod_env.html#passenv"
+ >PassEnv</a> $B%G%#%l%/%F%#%V$b;HMQ$9$k$3$H$,$G$-$^$9!#(B
+ </p>
+
+ <h2>downgrade-1.0</h2>
+
+ <p>$B$3$l$r;XDj$9$k$3$H$G!"%j%/%(%9%H$,(B HTTP/1.0
+ $B$h$j?7$7$$%W%m%H%3%k$N>l9g$G$b!"(BHTTP/1.0 $B$H$7$F07$o$l$^$9!#(B</p>
+
+ <h2>force-no-vary</h2>
+
+ <p>$B1~Ez%X%C%@$,%/%i%$%"%s%H$KAw$i$l$kA0$K(B <code>Vary</code>
+ $B%U%#!<%k%I$r<h$j=|$-$^$9!#(B
+ $B%/%i%$%"%s%H$NCf$K$O$3$N%U%#!<%k%I$r@5$7$/2r<a$7$J$$$b$N$,$"$j$^$9(B
+ (<a href="misc/known_client_problems.html">$B%/%i%$%"%s%H$N4{CN$NLdBj(B</a>
+ $B$N%Z!<%8$r;2>H$7$F$/$@$5$$(B)$B!#$3$NJQ?t$r@_Dj$9$k$3$H$G$=$NLdBj$r2sHr(B
+ $B$9$k$3$H$,$G$-$^$9!#$3$NJQ?t$r@_Dj$9$k$H!"(B<strong>force-response-1.0</strong>
+ $B$,@_Dj$5$l$?$3$H$K$J$j$^$9!#(B</p>
+
+ <h2>force-response-1.0</h2>
+
+ <p>$B$3$l$,@_Dj$5$l$F$$$k$H!">o$K(B HTTP/1.0 $B$G$N1~Ez$K$J$j$^$9!#$3$N5!G=$O!"(B
+ $B85!9$O(B AOL $B$N%W%m%-%7$NLdBj$N$?$a$K<BAu$5$l$^$7$?!#%/%i%$%"%s%H$NCf$K$O!"(B
+ HTTP/1.1 $B$N1~Ez$rJV$5$l$k$H@5$7$/F0:n$7$J$$$b$N$,$"$k$+$b$7$l$^$;$s!#(B
+ $B$3$N5!G=$r;HMQ$9$k$3$H$G!"$=$N$h$&$J%/%i%$%"%s%H$H$N4V$N8_49@-LdBj$r2r7h$G$-$^$9!#(B</p>
+
+ <h2>nokeepalive</h2>
+
+ <p>$B$3$l$,@_Dj$5$l$F$$$k>l9g$O!"(B<a href="mod/core.html#keepalive"
+ >KeepAlive</a> $B$r;HMQ$7$J$$$h$&$K$7$^$9!#(B</p>
+ <hr />
+
+ <h2><a id="examples" name="examples">$BNc(B</a></h2>
+
+ <h3>$B$*$+$7$J5sF0$r$9$k%/%i%$%"%s%H$KBP$7$F%W%m%H%3%k$NF0:n$rJQ99$9$k(B</h3>
+
+ <p>$B%/%i%$%"%s%H$K4X$9$k4{CN$NLdBj$KBP=h$9$k$?$a$K!"0J2<$N9T$r(B
+ httpd.conf $B$KF~$l$k$3$H$r?d>)$7$F$$$^$9!#(B</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+ <h3>$B2hA|$X$N%j%/%(%9%H$r%"%/%;%9%m%0$K5-O?$7$J$$(B</h3>
+
+ <p>$B$3$NNc$G$O!"2hA|$X$N%j%/%(%9%H$,%"%/%;%9%m%0$K8=$l$J$$$h$&$K$7$^$9!#(B
+ $B$3$l$rJQ99$9$k$3$H$G!"FCDj$N%G%#%l%/%H%j$N%m%0<}=8$r$d$a$?$j!"(B
+ $BFCDj$N%[%9%H$+$i$N%j%/%(%9%H$N%m%0<}=8$r$d$a$?$j$9$k$3$H$,4JC1$K$G$-$^$9!#(B
+ </p>
+<pre>
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log env=!image-request
+</pre>
+
+ <h3>$B!V2hA|$NEpMQ!W$rKI$0(B</h3>
+
+ <p>$B$3$NNc$O!"JL$N%5!<%P$K$$$k?M$,!"$"$J$?$N%5!<%P$K$"$k2hA|$r(B
+ inline $B2hA|$H$7$F;HMQ$9$k$3$H$rKI$.$^$9!#(B
+ $B$3$l$O?d>)$5$l$F$$$k@_Dj$G$O$"$j$^$;$s$,!"$"$k8BDj$5$l$?>u67$G$OM-8z$G$9!#(B
+ $B$3$3$G$O!"$9$Y$F$N2hA|$O(B /web/images $B$H$$$&%G%#%l%/%H%j$K$"$k$H2>Dj$7$^$9!#(B
+ </p>
+<pre>
+ SetEnvIf Referer "^http://www.example.com/" local_referal
+ # Allow browsers that do not send Referer info
+ SetEnvIf Referer "^$" local_referal
+ &lt;Directory /web/images&gt;
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+ &lt;/Directory&gt;
+</pre>
+
+ <p><em>$BCm(B:</em> 'referer' $B$H(B 'referal' $B$NDV$j$O0U?^E*$J$b$N$G$9(B ($BLuCm(B:
+ $B@5$7$$DV$j$O(B referrer $B$H(B referral)$B!#(B</p>
+
+ <p>$B$3$N<jK!$K4X$9$k>\$7$$>pJs$O(B ApacheToday $B$N%A%e!<%H%j%"%k(B &quot;<a
+ href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-ps"
+ >Keeping Your Images from Adorning Other Sites</a>&quot;
+ $B$r;2>H$7$F$/$@$5$$!#(B</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/howto/auth.html b/usr.sbin/httpd/htdocs/manual/howto/auth.html
new file mode 100644
index 00000000000..44372fd6982
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/howto/auth.html
@@ -0,0 +1,1196 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Authentication, Authorization, and Access Control</title>
+ </head>
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+
+<h1 align="center">Authentication, Authorization, and Access
+Control</h1>
+
+ <a name="TOC"></a>
+
+ <ul>
+ <li><a href="#intro">Introduction</a></li>
+ <li>
+ <a href="#basic">Basic authentication</a>
+
+ <ul>
+ <li><a href="#basicworks">How basic
+ authentication works</a></li>
+
+ <li>
+ <a href="#basicconfig">Configuration:
+ Protecting content with basic authentication</a>
+
+ </li>
+
+ <li>
+ <a href="#basicfaq">Frequently asked
+ questions about basic auth</a>
+ </li>
+
+ <li><a href="#basiccaveat">Security
+ caveat</a></li>
+ </ul>
+ <br />
+ </li>
+
+ <li>
+ <a href="#digest">Digest authentication</a>
+
+ <ul>
+ <li><a href="#digestworks">How digest auth
+ works</a></li>
+
+ <li>
+ <a href="#digestconfig">Configuration:
+ Protecting content with digest authentication</a>
+ </li>
+
+ <li><a href="#digestcaveat">Caveats</a></li>
+ </ul>
+ <br />
+ </li>
+
+ <li>
+ <a href="#database">Database authentication
+ modules</a>
+
+ <ul>
+ <li><a href="#modauthdb">mod_auth_db and
+ mod_auth_dbm</a></li>
+
+ <li><a href="#dbfiles">Berkeley DB files</a></li>
+
+ <li><a href="#installauthdb">Installing mod_auth_db</a></li>
+
+ <li>
+ <a href="#authdbconfig">Protecting a
+ directory with mod_auth_db</a>
+ </li>
+ </ul>
+ <br />
+ </li>
+
+ <li>
+ <a href="#access">Access control</a>
+
+ <ul>
+ <li><a href="#allowdeny">Allow and Deny</a></li>
+
+ <li><a href="#satisfy">Satisfy</a></li>
+ </ul>
+ <br />
+ </li>
+
+ <li><a href="#summary">Summary</a></li>
+ </ul>
+ <!--End of Table of Child-Links-->
+ <hr />
+
+ <h1><a name="auth"></a><br />
+ Authentication, Authorization, and Access Control</h1>
+
+ <h1><a name="intro">Introduction</a></h1>
+
+ <p>Apache has three distinct ways of dealing with the question
+ of whether a particular request for a resource will result in
+ that resource actually be returned. These criteria are called
+ <i>Authorization</i>, <i>Authentication</i>, and <i>Access
+ control</i>.</p>
+
+ <p>Authentication is any process by which you verify that
+ someone is who they claim they are. This usually involves a
+ username and a password, but can include any other method of
+ demonstrating identity, such as a smart card, retina scan,
+ voice recognition, or fingerprints. Authentication is
+ equivalent to showing your drivers license at the ticket
+ counter at the airport.</p>
+
+ <p>Authorization is finding out if the person, once identified,
+ is permitted to have the resource. This is usually determined
+ by finding out if that person is a part of a particular group,
+ if that person has paid admission, or has a particular level of
+ security clearance. Authorization is equivalent to checking the
+ guest list at an exclusive party, or checking for your ticket
+ when you go to the opera.</p>
+
+ <p>Finally, access control is a much more general way of
+ talking about controlling access to a web resource. Access can
+ be granted or denied based on a wide variety of criteria, such
+ as the network address of the client, the time of day, the
+ phase of the moon, or the browser which the visitor is using.
+ Access control is analogous to locking the gate at closing
+ time, or only letting people onto the ride who are more than 48
+ inches tall - it's controlling entrance by some arbitrary
+ condition which may or may not have anything to do with the
+ attributes of the particular visitor.</p>
+
+ <p>Because these three techniques are so closely related in
+ most real applications, it is difficult to talk about them
+ separate from one another. In particular, authentication and
+ authorization are, in most actual implementations,
+ inextricable.</p>
+
+ <p>If you have information on your web site that is sensitive,
+ or intended for only a small group of people, the techniques in
+ this tutorial will help you make sure that the people that see
+ those pages are the people that you wanted to see them.</p>
+
+ <h1><a name="basic"></a>Basic authentication</h1>
+
+ <p>As the name implies, basic authentication is the simplest
+ method of authentication, and for a long time was the most
+ common authentication method used. However, other methods of
+ authentication have recently passed basic in common usage, due
+ to usability issues that will be discussed in a minute.</p>
+
+ <h2><a name="basicworks"></a><br />
+ How basic authentication works</h2>
+
+ <p>When a particular resource has been protected using basic
+ authentication, Apache sends a <tt>401 Authentication
+ Required</tt> header with the response to the request, in order
+ to notify the client that user credentials must be supplied in
+ order for the resource to be returned as requested.</p>
+
+ <p>Upon receiving a <tt>401</tt> response header, the client's
+ browser, if it supports basic authentication, will ask the user
+ to supply a username and password to be sent to the server. If
+ you are using a graphical browser, such as Netscape or Internet
+ Explorer, what you will see is a box which pops up and gives
+ you a place to type in your username and password, to be sent
+ back to the server. If the username is in the approved list,
+ and if the password supplied is correct, the resource will be
+ returned to the client.</p>
+
+ <p>Because the HTTP protocol is stateless, each request will be
+ treated in the same way, even though they are from the same
+ client. That is, every resource which is requested from the
+ server will have to supply authentication credentials over
+ again in order to receive the resource.</p>
+
+ <p>Fortunately, the browser takes care of the details here, so
+ that you only have to type in your username and password one
+ time per browser session - that is, you might have to type it
+ in again the next time you open up your browser and visit the
+ same web site.</p>
+
+ <p>Along with the <tt>401</tt> response, certain other
+ information will be passed back to the client. In particular,
+ it sends a name which is associated with the protected area of
+ the web site. This is called the <i>realm</i><a id="11257"
+ name="11257"></a>, or just the authentication name. The client
+ browser caches the username and password that you supplied, and
+ stores it along with the authentication realm, so that if other
+ resources are requested from the same realm, the same username
+ and password can be returned to authenticate that request
+ without requiring the user to type them in again. This caching
+ is usually just for the current browser session, but some
+ browsers allow you to store them permanently, so that you never
+ have to type in your password again.</p>
+
+ <p>The authentication name, or realm, will appear in the pop-up
+ box, in order to identify what the username and password are
+ being requested for.</p>
+
+ <h2><a name="basicconfig"></a>
+ Configuration: Protecting content with basic
+ authentication</h2>
+
+ <p>There are two configuration steps which you must complete in
+ order to protect a resource using basic authentication. Or
+ three, depending on what you are trying to do.</p>
+
+ <ol>
+ <li>Create a password file</li>
+
+ <li>Set the configuration to use this password file</li>
+
+ <li>Optionally, create a group file</li>
+ </ol>
+
+ <h3><a name="htpasswd"></a><br />
+ Create a password file</h3>
+
+ <p>In order to determine whether a particular username/password
+ combination is valid, the username and password supplied by the
+ user will need to be compared to some authoritative listing of
+ usernames and password. This is the password file, which you
+ will need to create on the server side, and populate with valid
+ users and their passwords.</p>
+
+ <p>Because this file contains sensitive information, it should
+ be stored outside of the document directory. Although, as you
+ will see in a moment, the passwords are encrypted in the file,
+ if a cracker were to gain access to the file, it would be an
+ aid in their attempt to figure out the passwords. And, because
+ people tend to be sloppy with the passwords that they choose,
+ and use the same password for web site authentication as for
+ their bank account, this potentially be a very serious breach
+ of security, even if the content on your web site is not
+ particularly sensitive.</p>
+
+ <p><b>Caution:</b> Encourage your users to use a different
+ password for your web site than for other more essential
+ things. For example, many people tend to use two passwords -
+ one for all of their extremely important things, such as the
+ login to their desktop computer, and for their bank account,
+ and another for less sensitive things, the compromise of which
+ would be less serious.</p>
+
+ <p>To create the password file, use the <tt>htpasswd</tt>
+ utility that came with Apache. This will be located in the
+ <tt>bin</tt> directory of wherever you installed Apache. For
+ example, it will probably be located at
+ <tt>/usr/local/apache/bin/htpasswd</tt> if you installed Apache
+ from source.</p>
+
+ <p>To create the file, type:</p>
+<pre>
+htpasswd -c /usr/local/apache/passwd/password username
+</pre>
+
+ <p><tt>htpasswd</tt> will ask you for the password, and then
+ ask you to type it again to confirm it:</p>
+<pre>
+# htpasswd -c /usr/local/apache/passwd/passwords rbowen
+New password: mypassword
+Re-type new password: mypassword
+Adding password for user rbowen
+</pre>
+
+ <p>Note that in the example shown, a password file is being
+ created containing a user called <tt>rbowen</tt>, and this
+ password file is being placed in the location
+ <tt>/usr/local/apache/passwd/passwords</tt>. You will
+ substitute the location, and the username, which you want to
+ use to start your password file.</p>
+
+ <p>If <tt>htpasswd</tt> is not in your path, you will have to
+ type the full path to the file to get it to run. That is, in
+ the example above, you would replace <tt>htpasswd</tt> with
+ <tt>/usr/local/apache/bin/htpasswd</tt></p>
+
+ <p>The <tt>-c</tt> flag is used only when you are creating a
+ new file. After the first time, you will omit the <tt>-c</tt>
+ flag, when you are adding new users to an already-existing
+ password file.</p>
+<pre>
+htpasswd /usr/local/apache/passwd/passwords sungo
+</pre>
+
+ <p>The example just shown will add a user named <tt>sungo</tt>
+ to a password file which has already been created earlier. As
+ before, you will be asked for the password at the command line,
+ and then will be asked to confirm the password by typing it
+ again.</p>
+
+ <p><b>Caution:</b> Be very careful when you add new users to an
+ existing password file that you don't use the <tt>-c</tt> flag
+ by mistake. Using the <tt>-c</tt> flag will create a new
+ password file, even if you already have an existing file of
+ that name. That is, it will remove the contents of the file
+ that is there, and replace it with a new file containing only
+ the one username which you were adding.</p>
+
+ <p>The password is stored in the password file in encrypted
+ form, so that users on the system will not be able to read the
+ file and immediately determine the passwords of all the users.
+ Nevertheless, you should store the file in as secure a location
+ as possible, with whatever minimum permissions on the file so
+ that the web server itself can read the file. For example, if
+ your server is configured to run as user <tt>nobody</tt> and
+ group <tt>nogroup</tt>, then you should set permissions on the
+ file so that only that user can read the file:</p>
+<pre>
+chown nobody.nogroup /usr/local/apache/passwd/passwords
+chmod 640 /usr/local/apache/passwd/passwords
+</pre>
+
+ <p>On Windows, a similar precaution should be taken, changing
+ the ownership of the password file to the web server user, so
+ that other users cannot read the file.</p>
+
+ <h3><a name="htpasswdconfig"></a><br />
+ Set the configuration to use this password file</h3>
+
+ <p>Once you have created the password file, you need to tell
+ Apache about it, and tell Apache to use this file in order to
+ require user credentials for admission. This configuration is
+ done with the following directives:</p>
+
+ <table cellpadding="3">
+ <tr>
+ <td align="left">AuthType</td>
+
+ <td align="left" valign="top" width="360">Authentication
+ type being used. In this case, it will be set to
+ <tt>Basic</tt></td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthName</td>
+
+ <td align="left" valign="top" width="360">The
+ authentication realm or name</td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthUserFile</td>
+
+ <td align="left" valign="top" width="360">The location of
+ the password file</td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthGroupFile</td>
+
+ <td align="left" valign="top" width="360">The location of
+ the group file, if any</td>
+ </tr>
+
+ <tr>
+ <td align="left">Require</td>
+
+ <td align="left" valign="top" width="360">The
+ requirement(s) which must be satisfied in order to grant
+ admission</td>
+ </tr>
+ </table>
+
+ <p>These directives may be placed in a <tt>.htaccess</tt> file
+ in the particular directory being protected, or may go in the
+ main server configuration file, in a <tt>&lt;Directory&gt;</tt>
+ section, or other scope container.</p>
+
+ <p>The example shown below defines an authentication realm
+ called ``By Invitation Only''. The password file located at
+ <tt>/usr/local/apache/passwd/passwords</tt> will be used to
+ verify the user's identity. Only users named <tt>rbowen</tt> or
+ <tt>sungo</tt> will be granted access, and even then only if
+ they provide a password which matches the password stored in
+ the password file.</p>
+<pre>
+AuthType Basic
+AuthName "By Invitation Only"
+AuthUserFile /usr/local/apache/passwd/passwords
+Require user rbowen sungo
+</pre>
+
+ <p>The phrase ``By Invitation Only'' will be displayed in the
+ password pop-up box, where the user will have to type their
+ credentials.</p>
+
+ <p>You will need to restart your Apache server in order for the
+ new configuration to take effect, if these directives were put
+ in the main server configuration file. Directives placed in
+ <tt>.htaccess</tt> files take effect immediately, since
+ <tt>.htaccess</tt> files are parsed each time files are
+ served.</p>
+
+ <p>The next time that you load a file from that directory, you
+ will see the familiar username/password dialog box pop up,
+ requiring that you type the username and password before you
+ are permitted to proceed.</p>
+
+ <p>Note that in addition to specifically listing the users to
+ whom you want to grant access, you can specify that any valid
+ user should be let in. This is done with the
+ <tt>valid-user</tt> keyword:</p>
+<pre>
+Require valid-user
+</pre>
+
+ <h3><a name="basicgroupfile"></a><br />
+ Optionally, create a group file</h3>
+
+ <p>Most of the time, you will want more than one, or two, or
+ even a dozen, people to have access to a resource. You want to
+ be able to define a group of people that have access to that
+ resource, and be able to manage that group of people, adding
+ and removing members, without having to edit the server
+ configuration file, and restart Apache, each time.</p>
+
+ <p>This is handled using authentication groups. An
+ authentication group is, as you would expect, a group name
+ associated with a list of members. This list is stored in a
+ group file, which should be stored in the same location as the
+ password file, so that you are able to keep track of these
+ things.</p>
+
+ <p>The format of the group file is exceedingly simple. A group
+ name appears first on a line, followed by a colon, and then a
+ list of the members of the group, separated by spaces. For
+ example:</p>
+<pre>
+authors: rich daniel allan
+</pre>
+
+ <p>Once this file has been created, you can <tt>Require</tt>
+ that someone be in a particular group in order to get the
+ requested resource. This is done with the
+ <tt>AuthGroupFile</tt> directive, as shown in the following
+ example.</p>
+<pre>
+AuthType Basic
+AuthName "Apache Admin Guide Authors"
+AuthUserFile /usr/local/apache/passwd/passwords
+AuthGroupFile /usr/local/apache/passwd/groups
+Require group authors
+</pre>
+
+ <p>The authentication process is now one step more involved.
+ When a request is received, and the requested username and
+ password are supplied, the group file is first checked to see
+ if the supplied username is even in the required group. If it
+ is, then the password file will be checked to see if the
+ username is in there, and if the supplied password matches the
+ password stored in that file. If any of these steps fail,
+ access will be forbidden.</p>
+
+ <h2><a name="basicfaq"></a><br />
+ Frequently asked questions about basic auth</h2>
+
+ <p>The following questions tend to get asked very frequently
+ with regard to basic authentication. It should be understood
+ that basic authentication is very basic, and so is limited to
+ the set of features that has been presented above. Most of the
+ more interesting things that people tend to want, need to be
+ implemented using some alternate authentication scheme.</p>
+
+ <h3><a name="logout"></a><br />
+ How do I log out?</h3>
+
+ <p>Since browsers first started implementing basic
+ authentication, website administrators have wanted to know how
+ to let the user log out. Since the browser caches the username
+ and password with the authentication realm, as described
+ earlier in this tutorial, this is not a function of the server
+ configuration, but is a question of getting the browser to
+ forget the credential information, so that the next time the
+ resource is requested, the username and password must be
+ supplied again. There are numerous situations in which this is
+ desirable, such as when using a browser in a public location,
+ and not wishing to leave the browser logged in, so that the
+ next person can get into your bank account.</p>
+
+ <p>However, although this is perhaps the most frequently asked
+ question about basic authentication, thus far none of the major
+ browser manufacturers have seen this as being a desirable
+ feature to put into their products.</p>
+
+ <p>Consequently, the answer to this question is, you can't.
+ Sorry.</p>
+
+ <h3><a name="passworddialog"></a><br />
+ How can I change what the password box looks like?</h3>
+
+ <p>The dialog that pops up for the user to enter their username
+ and password is ugly. It contains text that you did not
+ indicate that you wanted in there. It looks different in
+ Internet Explorer and Netscape, and contains different text.
+ And it asks for fields that the user might not understand -
+ for example, Netscape asks the user to type in their ``User
+ ID'', and they might not know what that means. Or, you might
+ want to provide additional explanatory text so that the user
+ has a better idea what is going on.</p>
+
+ <p>Unfortunately, these things are features of the browser, and
+ cannot be controlled from the server side. If you want the
+ login to look different, then you will need to implement your
+ own authentication scheme. There is no way to change what this
+ login box looks like if you are using basic authentication.</p>
+
+ <h3><a name="persistpass"></a><br />
+ How to I make it not ask me for my password the next
+ time?</h3>
+
+ <p>Because most browsers store your password information only
+ for the current browser session, when you close your browser it
+ forgets your username and password. So, when you visit the same
+ web site again, you will need to re-enter your username and
+ password.</p>
+
+ <p>There is nothing that can be done about this on the server
+ side.</p>
+
+ <p>However, the most recent versions of the major browsers
+ contain the ability to remember your password forever, so that
+ you never have to log in again. While it is debatable whether
+ this is a good idea, since it effectively overrides the entire
+ point of having security in the first place, it is certainly
+ convenient for the user, and simplifies the user
+ experience.</p>
+
+ <h3><a name="passwordtwice"></a><br />
+ Why does it sometimes ask me for my password twice?</h3>
+
+ <p>When entering a password-protected web site for the first
+ time, you will occasionally notice that you are asked for your
+ password twice. This may happen immediately after you entered
+ the password the first time, or it may happen when you click on
+ the first link after authenticating the first time.</p>
+
+ <p>This happens for a very simple, but nonetheless confusing,
+ reason, again having to do with the way that the browser caches
+ the login information.</p>
+
+ <p>Login information is stored on the browser based on the
+ authentication realm, specified by the <tt>AuthName</tt>
+ directive, and by the server name. In this way, the browser can
+ distinguish between the <tt>Private</tt> authentication realm
+ on one site and on another. So, if you go to a site using one
+ name for the server, and internal links on the server refer to
+ that server by a different name, the browser has no way to know
+ that they are in fact the same server.</p>
+
+ <p>For example, if you were to visit the URL
+ <tt>http://example.com/private/</tt>, which required
+ authentication, your browser would remember the supplied
+ username and password, associated with the hostname
+ <tt>example.com</tt>. If, by virtue of an internal redirect, or
+ fully-qualified HTML links in pages, you are then sent to the
+ URL <tt>http://www.example.com/private/</tt>, even though this
+ is really exactly the same URL, the browser does not know this
+ for sure, and is forced to request the authentication
+ information again, since <tt>example.com</tt> and
+ <tt>www.example.com</tt> are not exactly the same hostname.
+ Your browser has no particular way to know that these are the
+ same web site.</p>
+
+ <h2><a name="basiccaveat"></a><br />
+ Security caveat</h2>
+
+ <p>Basic authentication should not be considered secure for any
+ particularly rigorous definition of secure.</p>
+
+ <p>Although the password is stored on the server in encrypted
+ format, it is passed from the client to the server in plain
+ text across the network. Anyone listening with any variety of
+ packet sniffer will be able to read the username and password
+ in the clear as it goes across.</p>
+
+ <p>Not only that, but remember that the username and password
+ are passed with every request, not just when the user first
+ types them in. So the packet sniffer need not be listening at a
+ particularly strategic time, but just for long enough to see
+ any single request come across the wire.</p>
+
+ <p>And, in addition to that, the content itself is also going
+ across the network in the clear, and so if the web site
+ contains sensitive information, the same packet sniffer would
+ have access to that information as it went past, even if the
+ username and password were not used to gain direct access to
+ the web site.</p>
+
+ <p>Don't use basic authentication for anything that requires
+ real security. It is a detriment for most users, since very few
+ people will take the trouble, or have the necessary software
+ and/or equipment, to find out passwords. However, if someone
+ had a desire to get in, it would take very little for them to
+ do so.</p>
+
+ <h1><a name="digest"></a>Digest authentication</h1>
+
+ <p>Addressing one of the security caveats of basic
+ authentication, digest authentication provides an alternate
+ method for protecting your web content. However, it to has a
+ few caveats.</p>
+
+ <h2><a name="digestworks">How digest auth works</a></h2>
+
+ <p>Digest authentication is implemented by the module
+ <tt>mod_auth_digest</tt>. There is an older module,
+ <tt>mod_digest</tt>, which implemented an older version of the
+ digest authentication specification, but which will probably
+ not work with newer browsers.</p>
+
+ <p>Using digest authentication, your password is never sent
+ across the network in the clear, but is always transmitted as
+ an MD5 digest of the user's password. In this way, the password
+ cannot be determined by sniffing network traffic.</p>
+
+ <p>The full specification of digest authentication can be seen
+ in the internet standards document RFC 2617, which you can see
+ at <tt>http://www1.ics.uci.edu/pub/ietf/http/rfc2617.txt</tt>.
+ Additional information and resources about MD5 can be found at
+ <tt>http://userpages.umbc.edu/&nbsp;mabzug1/cs/md5/md5.html</tt></p>
+
+ <h2><a name="digestconfig"></a>Configuration:
+ Protecting content with digest authentication</h2>
+
+ <p>The steps for configuring your server for digest
+ authentication are very similar for those for basic
+ authentication.</p>
+
+ <ol>
+ <li>Create the password file</li>
+
+ <li>Set the configuration to use this password file</li>
+
+ <li>Optionally, create a group file</li>
+ </ol>
+
+ <h3><a name="htdigest"></a>Creating a password file</h3>
+
+ <p>As with basic authentication, a simple utility is provided
+ to create and maintain the password file which will be used to
+ determine whether a particular user's name and password are
+ valid. This utility is called <tt>htdigest</tt>, and will be
+ located in the <tt>bin</tt> directory of wherever you installed
+ Apache. If you installed Apache from some variety of package
+ manager, <tt>htdigest</tt> is likely to have been placed
+ somewhere in your path.</p>
+
+ <p>To create a new digest password file, type:</p>
+<pre>
+htdigest -c /usr/local/apache/passwd/digest realm username
+</pre>
+
+ <p><tt>htdigest</tt> will ask you for the desired password, and
+ then ask you to type it again to confirm it.</p>
+
+ <p>Note that the realm for which the authentication will be
+ required is part of the argument list.</p>
+
+ <p>Once again, as with basic authentication, you are encouraged
+ to place the generated file somewhere outside of the document
+ directory.</p>
+
+ <p>And, as with the <tt>htpasswd</tt> utility, the <tt>-c</tt>
+ flag creates a new file, or, if a file of that name already
+ exists, deletes the contents of that file and generates a new
+ file in its place. Omit the <tt>-c</tt> flag in order to add
+ new user information to an existing password file.</p>
+
+ <h3><a name="htdigestconfig"></a>Set the configuration
+ to use this password file</h3>
+
+ <p>Once you have created a password file, you need to tell
+ Apache about it in order to start using it as a source of
+ authenticated user information. This configuration is done with
+ the following directives:</p>
+
+ <table cellpadding="3">
+ <tr>
+ <td align="left">AuthType</td>
+
+ <td align="left" valign="top" width="360">Authentication
+ type being used. In this case, it will be set to
+ <tt>Digest</tt></td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthName</td>
+
+ <td align="left" valign="top" width="360">The
+ authentication realm or name</td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthDigestFile</td>
+
+ <td align="left" valign="top" width="360">The location of
+ the password file</td>
+ </tr>
+
+ <tr>
+ <td align="left">AuthDigestGroupFile</td>
+
+ <td align="left" valign="top" width="360">Location of the
+ group file, if any</td>
+ </tr>
+
+ <tr>
+ <td align="left">Require</td>
+
+ <td align="left" valign="top" width="360">The
+ requirement(s) which must be satisfied in order to grant
+ admission</td>
+ </tr>
+ </table>
+
+ <p>These directives may be places in a <tt>.htaccess</tt> file
+ in the particular directory being protected, or may go in the
+ main server configuration file, in a <tt>&lt;Directory&gt;</tt>
+ section, or another scope container.</p>
+
+ <p>The following example defines an authentication realm called
+ "Private". The password file located at
+ <tt>/usr/local/apache/passwd/digest</tt> will be used to verify
+ the user's identity. Only users named <tt>drbacchus</tt> or
+ <tt>dorfl</tt> will be granted access, if they provide a
+ password that patches the password stored in the password
+ file.</p>
+<pre>
+AuthType Digest
+AuthName "Private"
+AuthDigestFile /usr/local/apache/passwd/digest
+Require user drbacchus dorfl
+</pre>
+
+ <p>The phrase "Private" will be displayed in the password
+ pop-up box, where the user will have to type their
+ credentials.</p>
+
+ <h3><a name="digestgroup"></a>Optionally, create a group file</h3>
+
+ <p>As you have observed, there are not many differences between
+ this configuration process and that required by basic
+ authentication, described in the previous section. This is true
+ also of group functionality. The group file used for digest
+ authentication is exactly the same as that used for basic
+ authentication. That is to say, lines in the group file consist
+ the name of the group, a colon, and a list of the members of
+ that group. For example:</p>
+<pre>
+admins: jim roy ed anne
+</pre>
+
+ <p>Once this file has been created, you can <tt>Require</tt>
+ that someone be in a particular group in order to get the
+ requested resource. This is done with the
+ <tt>AuthDigestGroupFile</tt> directive, as shown in the
+ following example.</p>
+<pre>
+AuthType Digest
+AuthName "Private"
+AuthDigestFile /usr/local/apache/passwd/digest
+AuthDigestGroupFile /usr/local/apache/passwd/digest.groups
+Require group admins
+</pre>
+
+ <p>The authentication process is the same as that used by basic
+ authentication. It is first verified that the user is in the
+ required group, and, if this is true, then the password is
+ verified.</p>
+
+ <h2><a name="digestcaveat">Caveats</a></h2>
+
+ <p>Before you leap into using digest authentication instead of
+ basic authentication, there are a few things that you should
+ know about.</p>
+
+ <p>Most importantly, you need to know that, although digest
+ authentication has this great advantage that you don't send
+ your password across the network in the clear, it is not
+ supported by all major browsers in use today, and so you should
+ not use it on a web site on which you cannot control the
+ browsers that people will be using, such as on your intranet
+ site. In particular, Opera 4.0 or later, Microsoft Internet
+ Explorer 5.0 or later, and Amaya support digest authentication,
+ while Netscape, Mozilla, and various other browsers do not.</p>
+
+ <p>Next, with regard to security considerations, you should
+ understand two things. Although your password is not passed in
+ the clear, all of your data is, and so this is a rather small
+ measure of security. And, although your password is not really
+ sent at all, but a digest form of it, someone very familiar
+ with the workings of HTTP could use that information - just
+ your digested password - and use that to gain access to the
+ content, since that digested password is really all the
+ information required to access the web site.</p>
+
+ <p>The moral of this is that if you have content that really
+ needs to be kept secure, use SSL.</p>
+
+ <h1><a name="database">Database authentication
+ modules</a></h1>
+
+ <p>Basic authentication and digest authentication both suffer
+ from the same major flaw. They use text files to store the
+ authentication information. The problem with this is that
+ looking something up in a text file is very slow. It's rather
+ like trying to find something in a book that has no index. You
+ have to start at the beginning, and work through it one page at
+ a time until you find what you are looking for. Now imagine
+ that the next time you need to find the same thing, you don't
+ remember where it was before, so you have to start at the
+ beginning again, and work through one page at a time until you
+ find it again. And the next time. And the time after that.</p>
+
+ <p>Since HTTP is stateless, authentication has to be verified
+ every time that content is requested. And so every time a
+ document is accessed which is secured with basic or digest
+ authentication, Apache has to open up those text password files
+ and look through them one line at a time, until it finds the
+ user that is trying to log in, and verifies their password. In
+ the worst case, if the username supplied is not in there at
+ all, every line in the file will need to be checked. On
+ average, half of the file will need to be read before the user
+ is found. This is very slow.</p>
+
+ <p>While this is not a big problem for small sets of users,
+ when you get into larger numbers of users (where "larger" means
+ a few hundred) this becomes prohibitively slow. In many cases,
+ in fact, valid username/password combinations will get rejected
+ because the authentication module just had to spend so much
+ time looking for the username in the file that Apache will just
+ get tired of waiting and return a failed authentication.</p>
+
+ <p>In these cases, you need an alternative, and that
+ alternative is to use some variety of database. Databases are
+ optimized for looking for a particular piece of information in
+ a very large data set. It builds indexes in order to rapidly
+ locate a particular record, and they have query languages for
+ swiftly locating records that match particular criteria.</p>
+
+ <p>There are numerous modules available for Apache to
+ authenticate using a variety of different databases. In this
+ section, we'll just look at two modules which ship with Apache.
+ </p>
+
+ <h2><a name="modauthdb"></a>mod_auth_db and mod_auth_dbm</h2>
+
+ <p><tt>mod_auth_db</tt> and <tt>mod_auth_dbm</tt> are modules
+ which lets you keep your usernames and passwords in DB or DBM
+ files. There are few practical differences between DB files and
+ DBM files. And, on some operating systems, such as various
+ BSDs, and Linux, they are exactly the same thing. You should
+ pick whichever of the two modules makes the most sense on your
+ particular platform of choice. If you do not have DB support on
+ your platform, you may need to install it. You download an
+ implementation of DB at <tt>http://www.sleepycat.com/</tt>. <a
+ id="11415" name="11415"></a></p>
+
+ <h2><a name="dbfiles"></a>Berkeley DB files</h2>
+
+ <p>DB files, also known as Berkeley database files, are the
+ simplest form of database, and are rather ideally suited for
+ the sort of data that needs to be stored for HTTP
+ authentication. DB files store key/value pairs. That is, the
+ name of a variable, and the value of that variable. While other
+ databases allow the storage of many fields in a given record, a
+ DB file allows only this pairing of key and value.<a
+ name="foot1_return" href="#foot1"><sup>21.1</sup></a> This is ideal for
+ authentication, which requires only the pair of a username and
+ password.</p>
+
+ <h2><a name="installauthdb">Installing mod_auth_db</a></h2>
+ <tt>mod_auth_db!installing</tt>
+
+ <p>For the purposes of this tutorial, we'll talk about
+ installing and configuring <tt>mod_auth_db</tt>. However,
+ everything that is said here can be directly applied to
+ <tt>mod_auth_dbm</tt> by simply replacing 'db' with 'dbm' and
+ 'DB' with 'DBM' in the various commands, file names, and
+ directives.</p>
+
+ <p>Since <tt>mod_auth_db</tt> is not compiled in by default,
+ you will need to rebuild Apache in order to get the
+ functionality, unless you built in everything when we started.
+ Note that if you installed Apache with shared object
+ support, you may be able to just build the module and load it
+ in to Apache.</p>
+
+ <p>To build Apache from scratch with <tt>mod_auth_db</tt> built
+ in, use the following <tt>./configure</tt> line in your apache
+ source code directory.</p>
+<pre>
+./configure --enable-module=auth_db
+</pre>
+
+ <p>Or, if you had a more complex <tt>configure</tt> command
+ line, you can just add the <tt>-enable-module=auth_db</tt>
+ option to that command line, and you'll get
+ <tt>mod_auth_db</tt> built into your server.</p>
+
+ <h2><a name="authdbconfig">Protecting a directory with
+ mod_auth_db</a></h2>
+
+ <p>Once you have compiled the <tt>mod_auth_db</tt> module, and
+ loaded it into your web server, you'll find that there's very
+ little difference between using regular authentication and
+ using <tt>mod_auth_db</tt> authentication. The procedure is the
+ same as that we went through with basic and digest
+ authentication:</p>
+
+ <ol>
+ <li>Create the user file.</li>
+
+ <li>Configure Apache to use that file for
+ authentication.</li>
+
+ <li>Optionally, create a group file.</li>
+ </ol>
+
+ <h3><a name="dbmmanage"></a>Create the user file</h3>
+
+ <p>The user file for authentication is, this time, not a flat
+ text file, but is a DB file<a name="foot2_return"
+ href="#foot2"><sup>21.2</sup></a>. Fortunately, once again,
+ Apache provides us with a simple utility for the purpose of
+ managing this user file. This time, the utility is called
+ <tt>dbmmanage</tt>, and will be located in the <tt>bin</tt>
+ subdirectory of wherever you installed Apache.</p>
+
+ <p><tt>dbmmanage</tt> is somewhat more complicated to use than
+ <tt>htpasswd</tt> or <tt>htdigest</tt>, but it is still fairly
+ simple. The syntax which you will usually be using is as
+ follows:</p>
+<pre>
+dbmmanage passwords.db adduser montressor
+</pre>
+
+ <p>As with <tt>htpasswd</tt>, you will at this point be
+ prompted for a password, and then asked to confirm that
+ password by typing it again. The main difference here is that
+ rather than a text file being created, you are creating a
+ binary file containing the information that you have
+ supplied.</p>
+
+ <p>Type <tt>dbmmanage</tt> with no arguments to get the full
+ list of options available with this utility.</p>
+
+ <h3><a name="perl_dbfile">Creating your user file with
+ Perl</a></h3>
+
+ <p>Note that, if you are so inclined, you can manage your user
+ file with Perl, or any other language which has a DB-file
+ module, for interfacing with this type of database. This covers
+ a number of popular programming languages.</p>
+
+ <p>The following Perl code, for example, will add a user
+ 'rbowen', with password 'mypassword', to your password
+ file:</p>
+<pre>
+use DB_File;
+tie %database, 'DB_File', "passwords.dat"
+ or die "Can't initialize database: $!\n";
+
+$username = 'rbowen';
+$password = 'mypassword';
+@chars=(0..9,'a'..'z');
+$salt = '', map { $chars[int rand @chars] } (0..1);
+
+$crypt = crypt($password, $salt);
+$database{$username} = $crypt;
+
+untie %database;
+</pre>
+
+ <p>As you can imagine, this makes it very simple to write tools
+ to manage the user and password information stored in these
+ files.</p>
+
+ <p>Passwords are stored in Unix <tt>crypt</tt> format, just as
+ they were in the "regular" password files. The 'salt' that is
+ created in the middle there is part of the process, generating
+ a random starting point for that encryption. The technique
+ being used is called a 'tied hash'. The idea is to tie a
+ built-in data structure to the contents of the file, such that
+ when the data structure is changed, the file is automatically
+ modified at the same time.</p>
+
+ <h3><a name="authdbuserfile"></a>Configuration Apache
+ to use this password file</h3>
+
+ <p>Once you have created the password file, you need to tell
+ Apache about it, and tell Apache to use this file to verify
+ user credentials. This configuration will look almost the same
+ as that for basic authentication. This configuration can go in
+ a <tt>.htaccess</tt> file in the directory to be protected, or
+ can go in the main server configuration, in a
+ <tt>&lt;Directory&gt;</tt> section, or other scope container
+ directive.</p>
+
+ <p>The configuration will look something like the
+ following:</p>
+<pre>
+AuthName "Members Only"
+AuthType Basic
+AuthDBUserFile /usr/local/apache/passwd/passwords.dat
+require user rbowen
+</pre>
+
+ <p>Now, users accessing the directory will be required to
+ authenticate against the list of valid users who are in
+ <tt>/usr/local/apache/passwd/passwords.dat</tt>.</p>
+
+ <h3><a name="authdbgroupfile"></a><br />
+ Optionally, create a group file</h3>
+
+ <p>As mentioned earlier, DB files store a key/value pair. In
+ the case of group files, the key is the name of the user, and
+ the value is a comma-separated list of the groups to which the
+ user belongs.</p>
+
+ <p>While this is the opposite of the way that group files are
+ stored elsewhere, note that we will primarily be looking up
+ records based on the username, so it is more efficient to index
+ the file by username, rather than by the group name.</p>
+
+ <p>Groups can be added to your group file using
+ <tt>dbmmanage</tt> and the <tt>add</tt> command:</p>
+<pre>
+dbmmanage add groupfile rbowen one,two,three
+</pre>
+
+ <p>In the above example, <tt>groupfile</tt> is the literal name
+ of the group file, <tt>rbowen</tt> is the user being added, and
+ <tt>one</tt>, <tt>two</tt>, and <tt>three</tt> are names of
+ three groups to which this user belongs.</p>
+
+ <p>Once you have your groups in the file, you can require a
+ group in the regular way:</p>
+<pre>
+AuthName "Members Only"
+AuthType Basic
+AuthDBUserFile /usr/local/apache/passwd/passwords.dat
+AuthDBGroupFile /usr/local/apache/passwd/groups.dat
+require group three
+</pre>
+
+ <p>Note that if you want to use the same file for both password
+ and group information, you can do so, but this is a little more
+ complicated to manage, as you have to encrypt the password
+ yourself before you feed it to the <tt>dbmmanage</tt>
+ utility.</p>
+
+ <h1><a name="access"></a>Access control</h1>
+
+ <p>Authentication by username and password is only part of the
+ story. Frequently you want to let people in based on something
+ other than who they are. Something such as where they are
+ coming from. Restricting access based on something other than
+ the identity of the user is generally referred to as <i>Access
+ Control</i>.</p>
+
+ <h2><a name="allowdeny"></a>Allow and Deny</h2>
+
+ <p>The <tt>Allow</tt> and <tt>Deny</tt> directives let you
+ allow and deny access based on the host name, or host address,
+ of the machine requesting a document. The directive goes
+ hand-in-hand with these is the <tt>Order</tt> directive, which
+ tells Apache in which order to apply the filters.</p>
+
+ <p>The usage of these directives is:</p>
+<pre>
+allow from address
+</pre>
+
+ <p>where <i>address</i> is an IP address (or a partial IP
+ address) or a fully qualified domain name (or a partial domain
+ name); you may provide multiple addresses or domain names, if
+ desired.</p>
+
+ <p>For example, if you have someone spamming your message
+ board, and you want to keep them out, you could do the
+ following: <a id="11494" name="11494"></a></p>
+<pre>
+deny from 205.252.46.165
+</pre>
+
+ <p>Visitors coming from that address will not be able to see
+ the content behind this directive. If, instead, you have a
+ machine name, rather than an IP address, you can use that. <a
+ id="11497" name="11497"></a></p>
+<pre>
+deny from dc.numbersusa.com
+</pre>
+
+ <p>And, if you'd like to block access from an entire domain,
+ you can specify just part of an address or domain name:</p>
+<pre>
+deny from 192.101.205
+deny from cyberthugs.com moreidiots.com
+deny from ke
+</pre>
+
+ <p>Using <tt>Order</tt> will let you be sure that you are
+ actually restricting things to the group that you want to let
+ in, by combining a <tt>deny</tt> and an <tt>allow</tt>
+ directive:</p>
+<pre>
+Order Deny,Allow
+Deny from all
+Allow from hostname.example.com
+</pre>
+
+ <p>Listing just the <tt>allow</tt> directive would not do what
+ you want, because it will let users from that host in, in
+ addition to letting everyone in. What you want is to let in
+ <i>only</i> users from that host.</p>
+
+ <h2><a name="satisfy"></a>Satisfy</h2>
+
+ <p>The <tt>Satisfy</tt> directive can be used to specify that
+ several criteria may be considered when trying to decide if a
+ particular user will be granted admission. <tt>Satisfy</tt> can
+ take as an argument one of two options - <tt>all</tt> or
+ <tt>any</tt>. By default, it is assumed that the value is
+ <tt>all</tt>. This means that if several criteria are
+ specified, then all of them must be met in order for someone to
+ get in. However, if set to <tt>any</tt>, then several criteria
+ may be specified, but if the user satisfies any of these, then
+ they will be granted entrance.</p>
+
+ <p>A very good example of this is using access control to
+ assure that, although a resource is password protected from
+ outside your network, all hosts inside the network will be
+ given free access to the resource. This would be accomplished
+ by using the <tt>Satisfy</tt> directive, as shown below.</p>
+<pre>
+&lt;Directory /usr/local/apache/htdocs/sekrit&gt;
+ AuthType Basic
+ AuthName intranet
+ AuthUserFile /www/passwd/users
+ AuthGroupFile /www/passwd/groups
+ Require group customers
+ Allow from internal.com
+ Satisfy any
+&lt;/Directory&gt;
+</pre>
+
+ <p>In this scenario, users will be let in if they either have a
+ password, or if they are in the internal network.</p>
+
+ <h1><a name="summary">Summary</a></h1>
+
+ <p>The various authentication modules provide a number of ways
+ to restrict access to your host based on the identity of the
+ user. They offer a somewhat standard interface to this
+ functionality, but provide different back-end mechanisms for
+ actually authenticating the user.</p>
+
+ <p>And the access control mechanism allows you to restrict
+ access based on criteria unrelated to the identity of the
+ user.<br />
+ </p>
+ <hr />
+
+ <h4>Footnotes</h4>
+
+ <dl>
+ <dt><a name="foot1">... value.</a><a
+ href="#foot1_return"><sup>21.1</sup></a></dt>
+
+ <dd>There are actually a number of implementations that get
+ around this limitation. MLDBM is one of them, for example.
+ However, for the purposes of this discussion, we'll just deal
+ with standard Berkeley DB, which is likely to have shipped
+ with whatever operating system you are already running.</dd>
+
+ <dt><a name="foot2">... file</a><a
+ href="#foot2_return"><sup>21.2</sup></a></dt>
+
+ <dd>Or, if you are using mod_auth_dbm, a DBM file.</dd>
+ </dl>
+ <hr />
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/install.html.es b/usr.sbin/httpd/htdocs/manual/install.html.es
new file mode 100644
index 00000000000..693010262a3
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/install.html.es
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- translation 1.31 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Compilaci&oacute;n e Instalaci&oacute;n de
+ Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Compilaci&oacute;n e Instalaci&oacute;n de
+ Apache 1.3</h1>
+
+ <p>Este documento cubre la compilaci&oacute;n e
+ instalaci&oacute;n de Apache en sistemas Unix, usando el
+ m&eacute;todo manual de construcci&oacute;n e
+ instalaci&oacute;n. Si desea usar la interfaz estilo autoconf,
+ deber&aacute; leer el fichero <code>INSTALL</code> en el
+ directorio ra&iacute;z de la distribuci&oacute;n fuente de
+ Apache. Para la compilaci&oacute;n e instalaci&oacute;n en
+ plataformas espec&iacute;ficas, consulte</p>
+
+ <ul>
+ <li><a href="windows.html">Usar Apache con Microsoft
+ Windows</a></li>
+
+ <li><a href="cygwin.html">Usar Apache con Cygwin</a></li>
+
+ <li><a href="netware.html">Usar Apache con Novell Netware
+ 5</a></li>
+
+ <li><a href="mpeix.html">Usar Apache con HP MPE/iX</a></li>
+
+ <li><a href="unixware.html">Compilaci&oacute;n de Apache bajo
+ UnixWare</a></li>
+
+ <li><a href="readme-tpf.html">Vistazo general de la
+ versi&oacute;n TPF de Apache</a></li>
+ </ul>
+
+ <h2>Bajarse Apache</h2>
+
+ <p>La informaci&oacute;n de la &uacute;ltima versi&oacute;n de
+ Apache puede encontrarla en <a
+ href="http://www.apache.org/">http://www.apache.org/</a>. En
+ esta web podr&aacute; encontrar las versiones finales,
+ versiones beta e informaci&oacute;n de sitios y r&eacute;plicas
+ en la web y por ftp an&oacute;nimo.</p>
+
+ <p>Si se ha bajado la distribuci&oacute;n binaria, vaya a <a
+ href="#install">Instalaci&oacute;n de Apache</a>. Si no es
+ as&iacute; lea la siguiente secci&oacute;n como compilar el
+ servidor.</p>
+
+ <h2>Compilaci&oacute;n de Apache</h2>
+
+ <p>La compilaci&oacute;n de Apache consiste en tres pasos.
+ Primero seleccionar qu&eacute; <strong>m&oacute;dulos</strong>
+ de Apache quiere incluir en el servidor. Segundo crear una
+ configuraci&oacute;n para su sistema operativo. Tercero
+ compilar el ejecutable.</p>
+
+ <p>Toda la configuraci&oacute;n de Apache est&aacute; en el
+ directorio <code>src</code> de la distribuci&oacute;n. Vaya al
+ directorio <code>src</code>.</p>
+
+ <ol>
+ <li>
+ <p>Seleccione m&oacute;dulos para compilar, en el fichero
+ de <code>configuraci&oacute;n</code> de Apache. Descomente
+ las l&iacute;neas correspondientes a los m&oacute;dulos
+ opcionales que desee incluir (entre las l&iacute;neas
+ <code>AddModule</code> al final del fichero), o escriba
+ nuevas l&iacute;neas correspondientes a m&oacute;dulos
+ adicionales que haya bajado o programado. (Vea <a
+ href="misc/API.html">API.html</a> para ver la
+ documentaci&oacute;n preliminar de c&oacute;mo escribir
+ m&oacute;dulos Apache). Los usuarios avanzados pueden
+ comentar los m&oacute;dulos por defecto si est&aacute;n
+ seguros de que no los necesitan (tenga cuidado, ya que
+ algunos de estos m&oacute;dulos son necesarios para el buen
+ funcionamiento y una correcta seguridad del servidor).</p>
+
+ <p>Deber&iacute;a leer tambi&eacute;n las instrucciones del
+ fichero de <code>Configuraci&oacute;n</code> para comprobar
+ si necesita configurar unas <code>l&iacute;neas</code> u
+ otras.</p>
+ </li>
+
+ <li>
+ <p>Configure Apache para su sistema operativo. Usted puede
+ ejecutar un script como el mostrado m&aacute;s abajo.
+ Aunque si esto falla o usted tiene alg&uacute;n
+ requerimiento especial (<i>por ejemplo</i> incluir una
+ librer&iacute;a adicional exigida por un m&oacute;dulo
+ opcional) puede editarlo para utilizar en el fichero de
+ <code>Configuraci&oacute;n</code> las siguientes opciones:
+ <code>EXTRA_CFLAGS, LIBS, LDFLAGS,INCLUDES.</code></p>
+
+ <p>Ejecute el script de
+ <code>configuraci&oacute;n</code>:</p>
+
+ <blockquote>
+<pre>
+ % Configure
+ Using 'Configuration' as config file
+ + configured for &lt;whatever&gt; platform
+ + setting C compiler to &lt;whatever&gt; *
+ + setting C compiler optimization-level to &lt;whatever&gt; *
+ + Adding selected modules
+ + doing sanity check on compiler and options
+ Creating Makefile in support
+ Creating Makefile in main
+ Creating Makefile in os/unix
+ Creating Makefile in modules/standard
+</pre>
+ </blockquote>
+
+ <p>(*: Dependiendo de la configuraci&oacute;n y de su
+ sistema. El resultado podr&iacute;a no coincidir con el
+ mostrado; no hay problema).</p>
+
+ <p>Esto genera un fichero <code>Makefile</code> a ser usado
+ en el tercer paso. Tambi&eacute;n crea un
+ <code>Makefile</code> en el directorio
+ <code>support</code>, para la compilaci&oacute;n de
+ programas de soporte.</p>
+
+ <p>(Si quiere mantener varias configuraciones, puede
+ indicarle a <code>Configure</code> una de las opciones en
+ un fichero, como <code>Configure -fichero
+ configuraci&oacute;n.ai</code>).</p>
+ </li>
+
+ <li>Escriba <code>make</code>.</li>
+ </ol>
+
+ <p>Los m&oacute;dulos de la distribuci&oacute;n de Apache son
+ aquellos que hemos probado y utilizado regularmente varios
+ miembros del grupo de desarrollo de Apache. Los m&oacute;dulos
+ adicionales (creados por miembros del grupo o por terceras
+ personas) para necesidades o funciones espec&iacute;ficas
+ est&aacute;n disponibles en &lt;<a
+ href="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</a>&gt;.
+ Hay instrucciones en esa p&aacute;gina para a&ntilde;adir estos
+ m&oacute;dulos en el n&uacute;cleo de Apache.</p>
+
+ <h2><a id="install" name="install">Instalaci&oacute;n de
+ Apache</a></h2>
+
+ <p>Tendr&aacute; un fichero binario llamado <code>hhtpd</code>
+ en el directorio <code>src</code>. Una distribuci&oacute;n
+ binaria de Apache ya traer&aacute; este fichero.</p>
+
+ <p>El pr&oacute;ximo paso es instalar el programa y
+ configurarlo. Apache esta dise&ntilde;ado para ser configurado
+ y ejecutado desde los directorios donde fue compilado. Si
+ quiere ejecutarlo desde otro lugar, cree un directorio y copie
+ los directorios <code>conf</code>, <code>logs</code> e
+ <code>icons</code>. En cualquier caso deber&iacute;a leer las
+ <a href="misc/security_tips.html#serverroot">sugerencias de
+ seguridad</a> que describen c&oacute;mo poner los permisos del
+ directorio ra&iacute;z.</p>
+
+ <p>El paso siguiente es editar los ficheros de
+ configuraci&oacute;n del servidor. Consiste en configurar
+ varias <strong>directivas</strong> en los tres ficheros
+ principales. Por defecto, estos ficheros est&aacute;n en el
+ directorio <code>conf</code> y se llaman <code>srm.conf</code>,
+ <code>access.conf</code> y <code>httpd.conf</code>. Para
+ ayudarle a comenzar, hay ejemplos de estos ficheros en el
+ directorio de la distribuci&oacute;n, llamados
+ <code>srm.conf-dist</code>, <code>access.conf-dist</code> y
+ <code>httpd.conf-dist</code>. Copie o renombre estos ficheros a
+ los correspondientes nombres sin la terminaci&oacute;n
+ <code>-dist</code>. Edite cada uno de ellos. Lea los
+ comentarios cuidadosamente. Un error en la configuraci&oacute;n
+ de estos ficheros podr&iacute;a provocar fallos en el servidor
+ o volverlo inseguro. Tendr&aacute; tambi&eacute;n un fichero
+ adicional en el directorio <code>conf</code> llamado
+ <code>mime.conf</code>. Este fichero normalmente no tiene que
+ ser editado.</p>
+
+ <p>Primero edite el fichero <code>http.conf</code>. Este
+ configura atributos generales del servidor: el n&uacute;mero de
+ puerto, el usuario que lo ejecuta, <i>etc.</i> El siguiente a
+ editar es <code>srm.conf</code>; este fichero configura la
+ ra&iacute;z del &aacute;rbol de los documentos, funciones
+ especiales como HTML analizado sint&aacute;cticamente por el
+ servidor, mapa de imagen, <i>etc.</i> Finalmente, edite
+ <code>access.conf</code> que configura los accesos.</p>
+
+ <p>Adem&aacute;s de estos tres ficheros, el comportamiento del
+ servidor puede ser modificado directorio a directorio usando
+ los ficheros <code>.htaccess</code> para los directorios en los
+ que acceda el servidor.</p>
+
+ <h3>&iexcl;Configure el sistema de tiempo correctamente!</h3>
+
+ <p>Una operaci&oacute;n de un servidor web requiere un tiempo
+ concreto, ya que algunos elementos del protocolo HTTP se
+ expresan en funci&oacute;n de la hora y el d&iacute;a. Por eso,
+ es hora de investigar la configuraci&oacute;n de NTP o de otro
+ sistema de sincronizaci&oacute;n de su Unix o lo que haga de
+ equivalente en NT.</p>
+
+ <h2>Programas de soporte para la compilaci&oacute;n</h2>
+
+ <p>Adem&aacute;s del servidor principal <code>httpd</code> que
+ se compila y configura como hemos visto, Apache incluye
+ programas de soporte. Estos no son compilados por defecto. Los
+ programas de soporte est&aacute;n en el directorio
+ <code>support</code>. Para compilar esos programas, entre en el
+ directorio indicado y ejecute el comando:</p>
+
+ <blockquote>
+<pre>
+ make
+</pre>
+ </blockquote>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/invoking.html.en b/usr.sbin/httpd/htdocs/manual/invoking.html.en
new file mode 100644
index 00000000000..715f8a048fa
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/invoking.html.en
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Starting Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Starting Apache</h1>
+
+ <ul>
+ <li><a href="#windows">Starting Apache on Windows</a></li>
+
+ <li>
+ <a href="#unix">Starting Apache on Unix</a>
+
+ <ul>
+ <li><a href="#errors">Errors During Start-up</a></li>
+
+ <li><a href="#boot">Starting at Boot-Time</a></li>
+
+ <li><a href="#info">Additional Information</a></li>
+ </ul>
+ </li>
+ </ul>
+ <hr />
+
+ <h2><a id="windows" name="windows">Starting Apache On
+ Windows</a></h2>
+
+ <p>On Windows, Apache is normally run as a service on Windows
+ NT, or as a console application on Windows 95. This does not
+ apply in its full extend for the Cygwin platform. For details,
+ see <a href="windows.html#run">running Apache for
+ Windows</a>.</p>
+
+ <h2><a id="unix" name="unix">Starting Apache on Unix</a></h2>
+
+ <p>On Unix, the <a href="programs/httpd.html">httpd</a> program
+ is run as a daemon which executes continuously in the
+ background to handle requests. It is possible to have Apache
+ invoked by the Internet daemon <code>inetd</code> each time a
+ connection to the HTTP service is made using the <a
+ href="mod/core.html#servertype">ServerType</a> directive, but
+ this is not recommended.</p>
+
+ <p>If the <a href="mod/core.html#port">Port</a> specified in
+ the configuration file is the default of 80 (or any other port
+ below 1024), then it is necessary to have root privileges in
+ order to start Apache, so that it can bind to this privileged
+ port. Once the server has started and completed a few
+ preliminary activities such as opening its log files, it will
+ launch several <em>child</em> processes which do the work of
+ listening for and answering requests from clients. The main
+ <code>httpd</code> process continues to run as the root user,
+ but the child processes run as a less privileged user. This is
+ controlled by Apache's <a
+ href="server-wide.html#process">process creation
+ directives</a>.</p>
+
+ <p>The first thing that <code>httpd</code> does when it is
+ invoked is to locate and read the <a
+ href="configuring.html">configuration file</a>
+ <code>httpd.conf</code>. The location of this file is set at
+ compile-time, but it is possible to specify its location at run
+ time using the <code>-f</code> command-line option as in</p>
+
+ <blockquote>
+ <code>/usr/local/apache/bin/httpd -f
+ /usr/local/apache/conf/httpd.conf</code>
+ </blockquote>
+
+ <p>As an alternative to invoking the <code>httpd</code> binary
+ directly, a shell script called <a
+ href="programs/apachectl.html">apachectl</a> is provided which
+ can be used to control the daemon process with simple commands
+ such as <code>apachectl start</code> and <code>apachectl
+ stop</code>.</p>
+
+ <p>If all goes well during startup, the server will detach from
+ the terminal and the command prompt will return almost
+ immediately. This indicates that the server is up and running.
+ You can then use your browser to connect to the server and view
+ the test page in the <a
+ href="mod/core.html#documentroot">DocumentRoot</a> directory
+ and the local copy of the documentation linked from that
+ page.</p>
+
+ <h3><a id="errors" name="errors">Errors During
+ Start-up</a></h3>
+
+ <p>If Apache suffers a fatal problem during startup, it will
+ write a message describing the problem either to the console or
+ to the <a href="mod/core.html#errorlog">ErrorLog</a> before
+ exiting. One of the most common error messages is "<code>Unable
+ to bind to Port ...</code>". This message is usually caused by
+ either:</p>
+
+ <ul>
+ <li>Trying to start the server on a privileged port when not
+ logged in as the root user; or</li>
+
+ <li>Trying to start the server when there is another instance
+ of Apache or some other web server already bound to the same
+ port.</li>
+ </ul>
+
+ <p>For further trouble-shooting instructions, consult the
+ Apache <a href="misc/FAQ.html">FAQ</a>.</p>
+
+ <h3><a id="boot" name="boot">Starting at Boot-Time</a></h3>
+
+ <p>If you want your server to continue running after a system
+ reboot, you should add a call to <code>httpd</code> or
+ <code>apachectl</code> to your system startup files (typically
+ <code>rc.local</code> or a file in an <code>rc.N</code>
+ directory). This will start Apache as root. Before doing this
+ ensure that your server is properly configured for security and
+ access restrictions. The <code>apachectl</code> script is
+ designed so that it can often be linked directly as an init
+ script, but be sure to check the exact requirements of your
+ system.</p>
+
+ <h3><a id="info" name="info">Additional Information</a></h3>
+
+ <p>Additional information about the command-line options of <a
+ href="programs/httpd.html">httpd</a> and <a
+ href="programs/apachectl.html">apachectl</a> as well as other
+ support programs included with the server is available on the
+ <a href="programs/">Server and Supporting Programs</a> page.
+ There is also documentation on all the <a
+ href="mod/">modules</a> included with the Apache distribution
+ and the <a href="mod/directives.html">directives</a> that they
+ provide.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/invoking.html.html b/usr.sbin/httpd/htdocs/manual/invoking.html.html
new file mode 100644
index 00000000000..3102e09eac1
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/invoking.html.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Starting Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Starting Apache</h1>
+
+ <ul>
+ <li><a href="#windows">Starting Apache on Windows</a></li>
+
+ <li>
+ <a href="#unix">Starting Apache on Unix</a>
+
+ <ul>
+ <li><a href="#errors">Errors During Start-up</a></li>
+
+ <li><a href="#boot">Starting at Boot-Time</a></li>
+
+ <li><a href="#info">Additional Information</a></li>
+ </ul>
+ </li>
+ </ul>
+ <hr />
+
+ <h2><a id="windows" name="windows">Starting Apache On
+ Windows</a></h2>
+
+ <p>On Windows, Apache is normally run as a service on Windows
+ NT, or as a console application on Windows 95. This does not
+ apply in its full extend for the Cygwin platform. For details,
+ see <a href="windows.html#run">running Apache for
+ Windows</a>.</p>
+
+ <h2><a id="unix" name="unix">Starting Apache on Unix</a></h2>
+
+ <p>On Unix, the <a href="programs/httpd.html">httpd</a> program
+ is run as a daemon which executes continuously in the
+ background to handle requests. It is possible to have Apache
+ invoked by the Internet daemon <code>inetd</code> each time a
+ connection to the HTTP service is made using the <a
+ href="mod/core.html#servertype">ServerType</a> directive, but
+ this is not recommended.</p>
+
+ <p>If the <a href="mod/core.html#port">Port</a> specified in
+ the configuration file is the default of 80 (or any other port
+ below 1024), then it is necessary to have root privileges in
+ order to start Apache, so that it can bind to this privileged
+ port. Once the server has started and completed a few
+ preliminary activities such as opening its log files, it will
+ launch several <em>child</em> processes which do the work of
+ listening for and answering requests from clients. The main
+ <code>httpd</code> process continues to run as the root user,
+ but the child processes run as a less privileged user. This is
+ controlled by Apache's <a
+ href="server-wide.html#process">process creation
+ directives</a>.</p>
+
+ <p>The first thing that <code>httpd</code> does when it is
+ invoked is to locate and read the <a
+ href="configuring.html">configuration file</a>
+ <code>httpd.conf</code>. The location of this file is set at
+ compile-time, but it is possible to specify its location at run
+ time using the <code>-f</code> command-line option as in</p>
+
+ <blockquote>
+ <code>/usr/local/apache/bin/httpd -f
+ /usr/local/apache/conf/httpd.conf</code>
+ </blockquote>
+
+ <p>As an alternative to invoking the <code>httpd</code> binary
+ directly, a shell script called <a
+ href="programs/apachectl.html">apachectl</a> is provided which
+ can be used to control the daemon process with simple commands
+ such as <code>apachectl start</code> and <code>apachectl
+ stop</code>.</p>
+
+ <p>If all goes well during startup, the server will detach from
+ the terminal and the command prompt will return almost
+ immediately. This indicates that the server is up and running.
+ You can then use your browser to connect to the server and view
+ the test page in the <a
+ href="mod/core.html#documentroot">DocumentRoot</a> directory
+ and the local copy of the documentation linked from that
+ page.</p>
+
+ <h3><a id="errors" name="errors">Errors During
+ Start-up</a></h3>
+
+ <p>If Apache suffers a fatal problem during startup, it will
+ write a message describing the problem either to the console or
+ to the <a href="mod/core.html#errorlog">ErrorLog</a> before
+ exiting. One of the most common error messages is "<code>Unable
+ to bind to Port ...</code>". This message is usually caused by
+ either:</p>
+
+ <ul>
+ <li>Trying to start the server on a privileged port when not
+ logged in as the root user; or</li>
+
+ <li>Trying to start the server when there is another instance
+ of Apache or some other web server already bound to the same
+ port.</li>
+ </ul>
+
+ <p>For further trouble-shooting instructions, consult the
+ Apache <a href="misc/FAQ.html">FAQ</a>.</p>
+
+ <h3><a id="boot" name="boot">Starting at Boot-Time</a></h3>
+
+ <p>If you want your server to continue running after a system
+ reboot, you should add a call to <code>httpd</code> or
+ <code>apachectl</code> to your system startup files (typically
+ <code>rc.local</code> or a file in an <code>rc.N</code>
+ directory). This will start Apache as root. Before doing this
+ ensure that your server is properly configured for security and
+ access restrictions. The <code>apachectl</code> script is
+ designed so that it can often be linked directly as an init
+ script, but be sure to check the exact requirements of your
+ system.</p>
+
+ <h3><a id="info" name="info">Additional Information</a></h3>
+
+ <p>Additional information about the command-line options of <a
+ href="programs/httpd.html">httpd</a> and <a
+ href="programs/apachectl.html">apachectl</a> as well as other
+ support programs included with the server is available on the
+ <a href="programs/">Server and Supporting Programs</a> page.
+ There is also documentation on all the <a
+ href="mod/">modules</a> included with the Apache distribution
+ and the <a href="mod/directives.html">directives</a> that they
+ provide.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/keepalive.html.en b/usr.sbin/httpd/htdocs/manual/keepalive.html.en
new file mode 100644
index 00000000000..92674fdfbab
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/keepalive.html.en
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache Keep-Alive Support</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Apache Keep-Alive Support</h1>
+ <hr />
+
+ <h2>What is Keep-Alive?</h2>
+ The Keep-Alive extension to HTTP, as defined by the
+ <code>HTTP/1.1</code> draft, allows persistent connections.
+ These long-lived HTTP sessions allow multiple requests to be
+ send over the same TCP connection, and in some cases have been
+ shown to result in an almost 50% speedup in latency times for
+ HTML documents with lots of images.
+
+ <h2>Enabling Keep-Alive Support</h2>
+ Apache 1.1 comes with Keep-Alive support on by default, however
+ there are some directives you can use to modify Apache's
+ behavior:
+
+ <p><strong>Note</strong>: Apache 1.2 uses a different syntax
+ for the <a href="mod/core.html#keepalive">KeepAlive</a>
+ directive.</p>
+
+ <h3>KeepAlive</h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAlive
+ <em>max-requests</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAlive
+ 5</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>This directive enables Keep-Alive support. Set
+ <em>max-requests</em> to the maximum number of requests you
+ want Apache to entertain per connection. A limit is imposed to
+ prevent a client from hogging your server resources. Set this
+ to <code>0</code> to disable support.</p>
+
+ <h3>KeepAliveTimeout</h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+ <em>seconds</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+ 15</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>The number of seconds Apache will wait for a subsequent
+ request before closing the connection. Once a request has been
+ received, the timeout value specified by the <a
+ href="mod/core.html#timeout"><code>Timeout</code></a> directive
+ applies.</p>
+
+ <h2>When Keep-Alive Is Used</h2>
+ In order for Keep-Alive support to be used, first the browser
+ must support it. Many current browsers, including Netscape
+ Navigator 2.0, and Spyglass Mosaic-based browsers (including
+ Microsoft Internet Explorer) do. Note, however, that some
+ Windows 95-based browsers misbehave with Keep-Alive-supporting
+ servers; they may occasionally hang on a connect. This has been
+ observed with several Windows browsers, and occurs when
+ connecting to any Keep-Alive server, not just Apache. Netscape
+ 3.0b5 and later versions are known to work around this problem.
+
+
+ <p>However, Keep-Alive support only is active with files where
+ the length is known beforehand. This means that most CGI
+ scripts, server-side included files and directory listings will
+ not use the Keep-Alive protocol. While this should be
+ completely transparent to the end user, it is something the
+ web-master may want to keep in mind.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/keepalive.html.html b/usr.sbin/httpd/htdocs/manual/keepalive.html.html
new file mode 100644
index 00000000000..f00e2b1f1a0
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/keepalive.html.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache Keep-Alive Support</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="CENTER">Apache Keep-Alive Support</h1>
+ <hr />
+
+ <h2>What is Keep-Alive?</h2>
+ The Keep-Alive extension to HTTP, as defined by the
+ <code>HTTP/1.1</code> draft, allows persistent connections.
+ These long-lived HTTP sessions allow multiple requests to be
+ send over the same TCP connection, and in some cases have been
+ shown to result in an almost 50% speedup in latency times for
+ HTML documents with lots of images.
+
+ <h2>Enabling Keep-Alive Support</h2>
+ Apache 1.1 comes with Keep-Alive support on by default, however
+ there are some directives you can use to modify Apache's
+ behavior:
+
+ <p><strong>Note</strong>: Apache 1.2 uses a different syntax
+ for the <a href="mod/core.html#keepalive">KeepAlive</a>
+ directive.</p>
+
+ <h3>KeepAlive</h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAlive
+ <em>max-requests</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAlive
+ 5</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>This directive enables Keep-Alive support. Set
+ <em>max-requests</em> to the maximum number of requests you
+ want Apache to entertain per connection. A limit is imposed to
+ prevent a client from hogging your server resources. Set this
+ to <code>0</code> to disable support.</p>
+
+ <h3>KeepAliveTimeout</h3>
+ <a href="mod/directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+ <em>seconds</em><br />
+ <a href="mod/directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+ 15</code><br />
+ <a href="mod/directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="mod/directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core
+
+ <p>The number of seconds Apache will wait for a subsequent
+ request before closing the connection. Once a request has been
+ received, the timeout value specified by the <a
+ href="mod/core.html#timeout"><code>Timeout</code></a> directive
+ applies.</p>
+
+ <h2>When Keep-Alive Is Used</h2>
+ In order for Keep-Alive support to be used, first the browser
+ must support it. Many current browsers, including Netscape
+ Navigator 2.0, and Spyglass Mosaic-based browsers (including
+ Microsoft Internet Explorer) do. Note, however, that some
+ Windows 95-based browsers misbehave with Keep-Alive-supporting
+ servers; they may occasionally hang on a connect. This has been
+ observed with several Windows browsers, and occurs when
+ connecting to any Keep-Alive server, not just Apache. Netscape
+ 3.0b5 and later versions are known to work around this problem.
+
+
+ <p>However, Keep-Alive support only is active with files where
+ the length is known beforehand. This means that most CGI
+ scripts, server-side included files and directory listings will
+ not use the Keep-Alive protocol. While this should be
+ completely transparent to the end user, it is something the
+ web-master may want to keep in mind.</p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/keepalive.html.ja.jis b/usr.sbin/httpd/htdocs/manual/keepalive.html.ja.jis
new file mode 100644
index 00000000000..380b81531b9
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/keepalive.html.ja.jis
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+ <head>
+
+ <title>Apache $B$N(B keep-alive $B%5%]!<%H(B</title>
+ <!-- English revision:1.12 -->
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="center">Apache $B$G%5%]!<%H$9$k(B keep-alive</h1>
+ <hr />
+
+ <h2>keep-alive $B$H$O(B</h2>
+ <code>HTTP/1.1</code> $B%I%i%U%H$KDj5A$5$l$F$$$k$h$&$K!"(BHTTP
+ $B$N3HD%5!G=$G$"$k(B keep-alive $B$K$h$C$F;}B3E*$J%3%M%/%7%g%s$,2DG=$K$J$j$^$9!#(B
+ $B$3$l$i$N;}B3E*$J(B HTTP $B%;%C%7%g%s$N$*$+$2$G!"J#?t$N%j%/%(%9%H$rF10l$N(B
+ TCP $B%3%M%/%7%g%s$r7PM3$7$FAw?.$9$k$3$H$,2DG=$H$J$j$^$9!#(B
+ $BB??t$N%$%a!<%8$rE=$jIU$1$F$"$k(B HTML $B%I%-%e%a%s%H$rAw?.$9$k$H$-$K!"(B
+ $B>l9g$K$h$C$F$O!"BT$A;~4V$,$[$\(B 50% $B$H$J$k$[$IB.$/$J$k$3$H$,<($5$l$F$$$^$9!#(B
+
+ <h2>Keep-Alive $B$N%5%]!<%H$rM-8z$K$9$k(B</h2>
+ Apache 1.1 $B$G$O%G%U%)%k%H$G(B keep-alive $B$N%5%]!<%H$OM-8z$K$J$C$F$$$^$9!#(B
+ $B$3$l$@$1$G$O$J$/!"(BApache $B$NF0:n$rJQ99$G$-$k%G%#%l%/%F%#%V$,(B
+ $B0J2<$N$h$&$K$$$/$D$+$"$j$^$9!#(B
+
+ <p><strong>$BCm0U(B</strong>: Apache 1.2 $B$G$O(B <a
+ href="mod/core.html#keepalive">KeepAlive</a>
+ $B%G%#%l%/%F%#%V$N9=J8$O0[$J$j$^$9!#(B</p>
+
+ <h3>KeepAlive</h3>
+ <a href="mod/directive-dict.html#syntax"
+ rel="help"><strong>$B9=J8(B:</strong></a> KeepAlive
+ <em>max-requests</em><br />
+ <a href="mod/directive-dict.html#default"
+ rel="help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>KeepAlive
+ 5</code><br />
+ <a href="mod/directive-dict.html#context"
+ rel="help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br />
+ <a href="mod/directive-dict.html#status"
+ rel="help"><strong>$B%9%F!<%?%9(B:</strong></a> Core
+
+ <p>$B$3$N%G%#%l%/%F%#%V$G(B keep-alive $B$N%5%]!<%H$rM-8z$K$7$^$9!#(B
+ <em>max-requests</em> $B$K$D$$$F$O(B Apache $B$K<u$1F~$l$5$;$?$$(B
+ 1 $B%3%M%/%7%g%sEv$?$j$N%j%/%(%9%H$N:GBg?t$r@_Dj$7$F$/$@$5$$!#(B
+ $B@)8B$r@_$1$F%/%i%$%"%s%H$K%5!<%P$N;q8;$rO2Hq$5$;$J$$$h$&$K$7$^$9!#(B
+ $B%5%]!<%H$rL58z$K$9$k$K$O$3$N9`L\$K(B <code>0</code> $B$r@_Dj$7$F$/$@$5$$!#(B</p>
+
+ <h3>KeepAliveTimeout</h3>
+ <a href="mod/directive-dict.html#syntax"
+ rel="help"><strong>$B9=J8(B:</strong></a> KeepAliveTimeout
+ <em>seconds</em><br />
+ <a href="mod/directive-dict.html#default"
+ rel="help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>KeepAliveTimeout
+ 15</code><br />
+ <a href="mod/directive-dict.html#context"
+ rel="help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br />
+ <a href="mod/directive-dict.html#status"
+ rel="help"><strong>$B%9%F!<%?%9(B:</strong></a> Core
+
+ <p>Apache $B$K8eB3$N%j%/%(%9%H$,E~Ce$9$k$N$r(B <em>seconds</em>
+ $BIC$@$1BT$?$;$?8e!"(B($B%j%/%(%9%H$,E~Ce$7$J$$>l9g$K$O(B)
+ $B%3%M%/%7%g%s$r%/%m!<%:$7$^$9!#%j%/%(%9%H$r<u?.$7$?>l9g$K$O!"(B
+ <a href="mod/core.html#timeout"><code>Timeout</code></a>
+ $B%G%#%l%/%F%#%V$G;XDj$7$?(B timeout $BCM$rE,MQ$7$^$9!#(B</p>
+
+ <h2>keep-alive $B$,;HMQ$5$l$k>l9g(B</h2>
+ keep-alive $B%5%]!<%H$r;HMQ$9$k$K$O!"$^$:!"%V%i%&%6$,(B keep-alive $B$r%5%]!<%H(B
+ $B$7$F$$$J$1$l$P$J$j$^$;$s!#8=:_$NB?$/$N%V%i%&%6!"Nc$($P(B Netscape Navigator
+ 2.0 $B$d(B (Microsoft Internet Explorer $B$J$I$N(B) Spyglass Mosaic
+ $B$K4p$E$/%V%i%&%6$O$3$N5!G=$r%5%]!<%H$7$F$$$^$9!#$7$+$7!"(BWindows 95
+ $B%Y!<%9$N$$$/$D$+$N%V%i%&%6$O!"(Bkeep-alive $B$r%5%]!<%H$7$F$$$k%5!<%P$K(B
+ $BBP$7$F8mF0:n$9$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$i$N%V%i%&%6$O%3%M%/%H(B
+ $B;~$K%O%s%0$9$k$3$H$,$"$j$^$9!#$3$N8mF0:n$O$$$/$D$+$N(B Windows
+ $B$N%V%i%&%6$K8+$i$l!"(BApache $B$@$1$G$O$J$/(B keep-alive $B$r%5%]!<%H$9$k(B
+ $B$9$Y$F$N%5!<%P$H%3%M%/%H$9$k$H$-$KH/@8$7$^$9!#(BNetscape 3.0b5
+ $B0J9_$N%P!<%8%g%s$K$D$$$F$O$3$NLdBj$X$NBP=h$,$J$5$l$F$$$^$9!#(B
+
+ <p>$B$?$@$7!"(B keep-alive $B%5%]!<%H$,M-8z$K$J$k$N$O!"(B
+ $B$"$i$+$8$aD9$5$,H=L@$7$F$$$k%U%!%$%k$KBP$7$F$N$_$G$9!#(B
+ $B$=$N$?$a!"BgItJ,$N(B CGI $B%9%/%j%W%H!"%5!<%P%5%$%I%$%s%/%k!<%I%U%!%$%k!"(B
+ $B%G%#%l%/%H%j%j%9%H$G$O!"(Bkeep-alive $B%W%m%H%3%k$r;HMQ$7$J$$$3$H$K$J$j$^$9!#(B
+ $B$3$l$O%(%s%I%f!<%6$K$O40A4$KF)2aE*$K$J$C$F$$$k$Y$-$b$N$G$9$,!"(B
+ $B%&%'%V%^%9%?$OCN$C$F$*$$$?J}$,NI$$$3$H$G$7$g$&!#(B</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/logs.html b/usr.sbin/httpd/htdocs/manual/logs.html
new file mode 100644
index 00000000000..f84d81e60a5
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/logs.html
@@ -0,0 +1,677 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Log Files - Apache HTTP Server</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="center">Log Files</h1>
+
+ <p>In order to effectively manage a web server, it is necessary
+ to get feedback about the activity and performance of the
+ server as well as any problems that may be occuring. The Apache
+ HTTP Server provides very comprehensive and flexible logging
+ capabilities. This document describes how to configure its
+ logging capabilities, and how to understand what the logs
+ contain.</p>
+
+ <ul>
+ <li><a href="#security">Security Warning</a></li>
+
+ <li><a href="#errorlog">Error Log</a></li>
+
+ <li>
+ <a href="#accesslog">Access Log</a>
+
+ <ul>
+ <li><a href="#common">Common Log Format</a></li>
+
+ <li><a href="#combined">Combined Log Format</a></li>
+
+ <li><a href="#multiple">Multiple Access Logs</a></li>
+
+ <li><a href="#conditional">Conditional Logging</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#rotation">Log Rotation</a></li>
+
+ <li><a href="#piped">Piped Logs</a></li>
+
+ <li><a href="#virtualhosts">VirtualHosts</a></li>
+
+ <li>
+ <a href="#other">Other Log Files</a>
+
+ <ul>
+ <li><a href="#pidfile">PID File</a></li>
+
+ <li><a href="#scriptlog">Script Log</a></li>
+
+ <li><a href="#rewritelog">Rewrite Log</a></li>
+ </ul>
+ </li>
+ </ul>
+ <hr />
+
+ <h2><a id="security" name="security">Security Warning</a></h2>
+
+ <p>Anyone who can write to the directory where Apache is
+ writing a log file can almost certainly gain access to the uid
+ that the server is started as, which is normally root. Do
+ <em>NOT</em> give people write access to the directory the logs
+ are stored in without being aware of the consequences; see the
+ <a href="misc/security_tips.html">security tips</a> document
+ for details.</p>
+
+ <p>In addition, log files may contain information supplied
+ directly by the client, without escaping. Therefore, it is
+ possible for malicious clients to insert control-characters in
+ the log files, so care must be taken in dealing with raw
+ logs.</p>
+ <hr />
+
+ <h2><a id="errorlog" name="errorlog">Error Log</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a href="mod/core.html#errorlog">ErrorLog</a><br />
+ <a href="mod/core.html#loglevel">LogLevel</a> </td>
+ </tr>
+ </table>
+
+ <p>The server error log, whose name and location is set by the
+ <a href="mod/core.html#errorlog">ErrorLog</a> directive, is the
+ most important log file. This is the place where Apache httpd
+ will send diagnostic information and record any errors that it
+ encounters in processing requests. It is the first place to
+ look when a problem occurs with starting the server or with the
+ operation of the server, since it will often contain details of
+ what went wrong and how to fix it.</p>
+
+ <p>The error log is usually written to a file (typically
+ <code>error_log</code> on unix systems and
+ <code>error.log</code> on Windows and OS/2). On unix systems it
+ is also possible to have the server send errors to
+ <code>syslog</code> or <a href="#pipe">pipe them to a
+ program</a>.</p>
+
+ <p>The format of the error log is relatively free-form and
+ descriptive. But there is certain information that is contained
+ in most error log entries. For example, here is a typical
+ message.</p>
+
+ <blockquote>
+ <code>[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
+ client denied by server configuration:
+ /export/home/live/ap/htdocs/test</code>
+ </blockquote>
+
+ <p>The first item in the log entry is the date and time of the
+ message. The second entry lists the severity of the error being
+ reported. The <a href="mod/core.html#loglevel">LogLevel</a>
+ directive is used to control the types of errors that are sent
+ to the error log by restricting the severity level. The third
+ entry gives the IP address of the client that generated the
+ error. Beyond that is the message itself, which in this case
+ indicates that the server has been configured to deny the
+ client access. The server reports the file-system path (as
+ opposed to the web path) of the requested document.</p>
+
+ <p>A very wide variety of different messages can appear in the
+ error log. Most look similar to the example above. The error
+ log will also contain debugging output from CGI scripts. Any
+ information written to <code>stderr</code> by a CGI script will
+ be copied directly to the error log.</p>
+
+ <p>It is not possible to customize the error log by adding or
+ removing information. However, error log entries dealing with
+ particular requests have corresponding entries in the <a
+ href="#accesslog">access log</a>. For example, the above example
+ entry corresponds to an access log entry with status code 403.
+ Since it is possible to customize the access log, you can
+ obtain more information about error conditions using that log
+ file.</p>
+
+ <p>During testing, it is often useful to continuously monitor
+ the error log for any problems. On unix systems, you can
+ accomplish this using:</p>
+
+ <blockquote>
+ <code>tail -f error_log</code>
+ </blockquote>
+ <hr />
+
+ <h2><a id="accesslog" name="accesslog">Access Log</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a href="mod/mod_setenvif.html#setenvif">SetEnvIf</a>
+ </td>
+ </tr>
+ </table>
+
+ <p>The server access log records all requests processed by the
+ server. The location and content of the access log are
+ controlled by the <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a>
+ directive. The <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a>
+ directive can be used to simplify the selection of the contents
+ of the logs. This section describes how to configure the server
+ to record information in the access log.</p>
+
+ <p>Of course, storing the information in the access log is only
+ the start of log management. The next step is to analyze this
+ information to produce useful statistics. Log analysis in
+ general is beyond the scope of this document, and not really
+ part of the job of the web server itself. For more information
+ about this topic, and for applications which perform log
+ analysis, check the <a
+ href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_analysis/">
+ Open Directory</a> or <a
+ href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/">
+ Yahoo</a>.</p>
+
+ <p>Various versions of Apache httpd have used other modules and
+ directives to control access logging, including
+ mod_log_referer, mod_log_agent, and the
+ <code>TransferLog</code> directive. The <code>CustomLog</code>
+ directive now subsumes the functionality of all the older
+ directives.</p>
+
+ <p>The format of the access log is highly configurable. The
+ format is specified using a <a
+ href="mod/mod_log_config.html#format">format string</a> that
+ looks much like a C-style printf(1) format string. Some
+ examples are presented in the next sections. For a complete
+ list of the possible contents of the format string, see the <a
+ href="mod/mod_log_config.html">mod_log_config
+ documentation</a>.</p>
+
+ <h3><a id="common" name="common">Common Log Format</a></h3>
+
+ <p>A typical configuration for the access log might look as
+ follows.</p>
+
+ <blockquote>
+ <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
+ CustomLog logs/access_log common</code>
+ </blockquote>
+
+ <p>This defines the <em>nickname</em> <code>common</code> and
+ associates it with a particular log format string. The format
+ string consists of percent directives, each of which tell the
+ server to log a particular piece of information. Literal
+ characters may also be placed in the format string and will be
+ copied directly into the log output. The quote character
+ (<code>"</code>) must be escaped by placing a back-slash before
+ it to prevent it from being interpreted as the end of the
+ format string. The format string may also contain the special
+ control characters "<code>\n</code>" for new-line and
+ "<code>\t</code>" for tab.</p>
+
+ <p>The <code>CustomLog</code> directive sets up a new log file
+ using the defined <em>nickname</em>. The filename for the
+ access log is relative to the <a
+ href="mod/core.html#serverroot">ServerRoot</a> unless it begins
+ with a slash.</p>
+
+ <p>The above configuration will write log entries in a format
+ known as the Common Log Format (CLF). This standard format can
+ be produced by many different web servers and read by many log
+ analysis programs. The log file entries produced in CLF will
+ look something like this:</p>
+
+ <blockquote>
+ <code>127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+ /apache_pb.gif HTTP/1.0" 200 2326</code>
+ </blockquote>
+
+ <p>Each part of this log entry is described below.</p>
+
+ <dl>
+ <dt><code>127.0.0.1</code> (<code>%h</code>)</dt>
+
+ <dd>This is the IP address of the client (remote host) which
+ made the request to the server. If <a
+ href="mod/core.html#hostnamelookups">HostnameLookups</a> is
+ set to <code>On</code>, then the server will try to determine
+ the hostname and log it in place of the IP address. However,
+ this configuration is not recommended since it can
+ significantly slow the server. Instead, it is best to use a
+ log post-processor such as <a
+ href="programs/logresolve.html">logresolve</a> to determine
+ the hostnames. The IP address reported here is not
+ necessarily the address of the machine at which the user is
+ sitting. If a proxy server exists between the user and the
+ server, this address will be the address of the proxy, rather
+ than the originating machine.</dd>
+
+ <dt><code>-</code> (<code>%l</code>)</dt>
+
+ <dd>The "hyphen" in the output indicates that the requested
+ piece of information is not available. In this case, the
+ information that is not available is the RFC 1413 identity of
+ the client determined by <code>identd</code> on the clients
+ machine. This information is highly unreliable and should
+ almost never be used except on tightly controlled internal
+ networks. Apache httpd will not even attempt to determine
+ this information unless <a
+ href="mod/core.html#identitycheck">IdentityCheck</a> is set
+ to <code>On</code>.</dd>
+
+ <dt><code>frank</code> (<code>%u</code>)</dt>
+
+ <dd>This is the userid of the person requesting the document
+ as determined by HTTP authentication. The same value is
+ typically provided to CGI scripts in the
+ <code>REMOTE_USER</code> environment variable. If the status
+ code for the request (see below) is 401, then this value
+ should not be trusted because the user is not yet
+ authenticated. If the document is not password protected,
+ this entry will be "<code>-</code>" just like the previous
+ one.</dd>
+
+ <dt><code>[10/Oct/2000:13:55:36 -0700]</code>
+ (<code>%t</code>)</dt>
+
+ <dd>
+ The time that the server finished processing the request.
+ The format is:
+
+ <blockquote>
+ <code>[day/month/year:hour:minute:second zone]<br />
+ day = 2*digit<br />
+ month = 3*letter<br />
+ year = 4*digit<br />
+ hour = 2*digit<br />
+ minute = 2*digit<br />
+ second = 2*digit<br />
+ zone = (`+' | `-') 4*digit</code>
+ </blockquote>
+ It is possible to have the time displayed in another format
+ by specifying <code>%{format}t</code> in the log format
+ string, where <code>format</code> is as in
+ <code>strftime(3)</code> from the C standard library.
+ </dd>
+
+ <dt><code>"GET /apache_pb.gif HTTP/1.0"</code>
+ (<code>\"%r\"</code>)</dt>
+
+ <dd>The request line from the client is given in double
+ quotes. The request line contains a great deal of useful
+ information. First, the method used by the client is
+ <code>GET</code>. Second, the client requested the resource
+ <code>/apache_pb.gif</code>, and third, the client used the
+ protocol <code>HTTP/1.0</code>. It is also possible to log
+ one or more parts of the request line independently. For
+ example, the format string "<code>%m %U%q %H</code>" will log
+ the method, path, query-string, and protocol, resulting in
+ exactly the same output as "<code>%r</code>".</dd>
+
+ <dt><code>200</code> (<code>%&gt;s</code>)</dt>
+
+ <dd>This is the status code that the server sends back to the
+ client. This information is very valuable, because it reveals
+ whether the request resulted in a successful response (codes
+ beginning in 2), a redirection (codes beginning in 3), an
+ error caused by the client (codes beginning in 4), or an
+ error in the server (codes beginning in 5). The full list of
+ possible status codes can be found in the <a
+ href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">HTTP
+ specification</a> (RFC2616 section 10).</dd>
+
+ <dt><code>2326</code> (<code>%b</code>)</dt>
+
+ <dd>The last entry indicates the size of the object returned
+ to the client, not including the response headers. If no
+ content was returned to the client, this value will be
+ "<code>-</code>". To log "<code>0</code>" for no content, use
+ <code>%B</code> instead.</dd>
+ </dl>
+
+ <h4><a id="combined" name="combined">Combined Log
+ Format</a></h4>
+
+ <p>Another commonly used format string is called the Combined
+ Log Format. It can be used as follows.</p>
+
+ <blockquote>
+ <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
+ \"%{User-agent}i\"" combined<br />
+ CustomLog log/acces_log combined</code>
+ </blockquote>
+
+ <p>This format is exactly the same as the Common Log Format,
+ with the addition of two more fields. Each of the additional
+ fields uses the percent-directive
+ <code>%{<em>header</em>}i</code>, where <em>header</em> can be
+ any HTTP request header. The access log under this format will
+ look like:</p>
+
+ <blockquote>
+ <code>127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+ /apache_pb.gif HTTP/1.0" 200 2326
+ "http://www.example.com/start.html" "Mozilla/4.08 [en]
+ (Win98; I ;Nav)"</code>
+ </blockquote>
+
+ <p>The additional fields are:</p>
+
+ <dl>
+ <dt><code>"http://www.example.com/start.html"</code>
+ (<code>\"%{Referer}i\"</code>)</dt>
+
+ <dd>The "Referer" (sic) HTTP request header. This gives the
+ site that the client reports having been referred from. (This
+ should be the page that links to or includes
+ <code>/apache_pb.gif</code>).</dd>
+
+ <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
+ (<code>\"%{User-agent}i\"</code>)</dt>
+
+ <dd>The User-Agent HTTP request header. This is the
+ identifying information that the client browser reports about
+ itself.</dd>
+ </dl>
+
+ <h3><a id="multiple" name="multiple">Multiple Access
+ Logs</a></h3>
+
+ <p>Multiple access logs can be created simply by specifying
+ multiple <code>CustomLog</code> directives in the configuration
+ file. For example, the following directives will create three
+ access logs. The first contains the basic CLF information,
+ while the second and third contain referer and browser
+ information. The last two <code>CustomLog</code> lines show how
+ to mimic the effects of the <code>ReferLog</code> and
+ <code>AgentLog</code> directives.</p>
+
+ <blockquote>
+ <code>LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
+ CustomLog logs/access_log common<br />
+ CustomLog logs/referer_log "%{Referer}i -&gt; %U"<br />
+ CustomLog logs/agent_log "%{User-agent}i"</code>
+ </blockquote>
+
+ <p>This example also shows that it is not necessary to define a
+ nickname with the <code>LogFormat</code> directive. Instead,
+ the log format can be specified directly in the
+ <code>CustomLog</code> directive.</p>
+
+ <h3><a id="conditional" name="conditional">Conditional
+ Logging</a></h3>
+
+ <p>There are times when it is convenient to exclude certain
+ entries from the access logs based on characteristics of the
+ client request. This is easily accomplished with the help of <a
+ href="env.html">environment variables</a>. First, an
+ environment variable must be set to indicate that the request
+ meets certain conditions. This is usually accomplished with <a
+ href="mod/mod_setenvif.html#setenvif">SetEnvIf</a>. Then the
+ <code>env=</code> clause of the <code>CustomLog</code>
+ directive is used to include or exclude requests where the
+ environment variable is set. Some examples:</p>
+
+ <blockquote>
+ <code># Mark requests from the loop-back interface<br />
+ SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog<br />
+ # Mark requests for the robots.txt file<br />
+ SetEnvIf Request_URI "^/robots\.txt$" dontlog<br />
+ # Log what remains<br />
+ CustomLog logs/access_log common env=!dontlog</code>
+ </blockquote>
+
+ <p>As another example, consider logging requests from
+ english-speakers to one log file, and non-english speakers to a
+ different log file.</p>
+
+ <blockquote>
+ <code>SetEnvIf Accept-Language "en" english<br />
+ CustomLog logs/english_log common env=english<br />
+ CustomLog logs/non_english_log common env=!english</code>
+ </blockquote>
+
+ <p>Although we have just shown that conditional logging is very
+ powerful and flexibly, it is not the only way to control the
+ contents of the logs. Log files are more useful when they
+ contain a complete record of server activity. It is often
+ easier to simply post-process the log files to remove requests
+ that you do not want to consider.</p>
+ <hr />
+
+ <h2><a id="rotation" name="rotation">Log Rotation</a></h2>
+
+ <p>On even a moderately busy server, the quantity of
+ information stored in the log files is very large. The access
+ log file typically grows 1 MB or more per 10,000 requests. It
+ will consequently be necessary to periodically rotate the log
+ files by moving or deleting the existing logs. This cannot be
+ done while the server is running, because Apache will continue
+ writing to the old log file as long as it holds the file open.
+ Instead, the server must be <a
+ href="stopping.html">restarted</a> after the log files are
+ moved or deleted so that it will open new log files.</p>
+
+ <p>By using a <em>graceful</em> restart, the server can be
+ instructed to open new log files without losing any existing or
+ pending connections from clients. However, in order to
+ accomplish this, the server must continue to write to the old
+ log files while it finishes serving old requests. It is
+ therefore necessary to wait for some time after the restart
+ before doing any processing on the log files. A typical
+ scenario that simply rotates the logs and compresses the old
+ logs to save space is:</p>
+
+ <blockquote>
+ <code>mv access_log access_log.old<br />
+ mv error_log error_log.old<br />
+ apachectl graceful<br />
+ sleep 600<br />
+ gzip access_log.old error_log.old</code>
+ </blockquote>
+
+ <p>Another way to perform log rotation is using <a
+ href="#piped">piped logs</a> as discussed in the next
+ section.</p>
+ <hr />
+
+ <h2><a id="piped" name="piped">Piped Logs</a></h2>
+
+ <p>Apache httpd is capable of writing error and access log
+ files through a pipe to another process, rather than directly
+ to a file. This capability dramatically increases the
+ flexibility of logging, without adding code to the main server.
+ In order to write logs to a pipe, simply replace the filename
+ with the pipe character "<code>|</code>", followed by the name
+ of the executable which should accept log entries on its
+ standard input. Apache will start the piped-log process when
+ the server starts, and will restart it if it crashes while the
+ server is running. (This last feature is why we can refer to
+ this technique as "reliable piped logging".)</p>
+
+ <p>Piped log processes are spawned by the parent Apache httpd
+ process, and inherit the userid of that process. This means
+ that piped log programs usually run as root. It is therefore
+ very important to keep the programs simple and secure.</p>
+
+ <p>Some simple examples using piped logs:</p>
+
+ <blockquote>
+ <code># compressed logs<br />
+ CustomLog "|/usr/bin/gzip -c &gt;&gt;
+ /var/log/access_log.gz" common<br />
+ # almost-real-time name resolution<br />
+ CustomLog "|/usr/local/apache/bin/logresolve &gt;&gt;
+ /var/log/access_log" common</code>
+ </blockquote>
+
+ <p>Notice that quotes are used to enclose the entire command
+ that will be called for the pipe. Although these examples are
+ for the access log, the same technique can be used for the
+ error log.</p>
+
+ <p>One important use of piped logs is to allow log rotation
+ without having to restart the server. The Apache HTTP Server
+ includes a simple program called <a
+ href="programs/rotatelogs.html">rotatelogs</a> for this
+ purpose. For example, to rotate the logs every 24 hours, you
+ can use:</p>
+
+ <blockquote>
+ <code>CustomLog "|/usr/local/apache/bin/rotatelogs
+ /var/log/access_log 86400" common</code>
+ </blockquote>
+
+ <p>A similar, but much more flexible log rotation program
+ called <a
+ href="http://www.ford-mason.co.uk/resources/cronolog/">cronolog</a>
+ is available at an external site.</p>
+
+ <p>As with conditional logging, piped logs are a very powerful
+ tool, but they should not be used where a simpler solution like
+ off-line post-processing is available.</p>
+ <hr />
+
+ <h2><a id="virtualhosts" name="virtualhosts">Virtual
+ Hosts</a></h2>
+
+ <p>When running a server with many <a href="vhosts/">virtual
+ hosts</a>, there are several options for dealing with log
+ files. First, it is possible to use logs exactly as in a
+ single-host server. Simply by placing the logging directives
+ outside the <code>&lt;VirtualHost&gt;</code> sections in the
+ main server context, it is possible to log all requests in the
+ same access log and error log. This technique does not allow
+ for easy collection of statistics on individual virtual
+ hosts.</p>
+
+ <p>If <code>CustomLog</code> or <code>ErrorLog</code>
+ directives are placed inside a <code>&lt;VirtualHost&gt;</code>
+ section, all requests or errors for that virtual host will be
+ logged only to the specified file. Any virtual host which does
+ not have logging directives will still have its requests sent
+ to the main server logs. This technique is very useful for a
+ small number of virtual hosts, but if the number of hosts is
+ very large, it can be complicated to manage. In addition, it
+ can often create problems with <a
+ href="vhosts/fd-limits.html">insufficient file
+ descriptors</a>.</p>
+
+ <p>For the access log, there is a very good compromise. By
+ adding information on the virtual host to the log format
+ string, it is possible to log all hosts to the same log, and
+ later split the log into individual files. For example,
+ consider the following directives.</p>
+
+ <blockquote>
+ <code>LogFormat "%v %l %u %t \"%r\" %&gt;s %b"
+ comonvhost<br />
+ CustomLog logs/access_log comonvhost</code>
+ </blockquote>
+
+ <p>The <code>%v</code> is used to log the name of the virtual
+ host that is serving the request. Then a program like <a
+ href="programs/other.html">split-logfile</a> can be used to
+ post-process the access log in order to split it into one file
+ per virtual host.</p>
+
+ <p>Unfortunately, no similar technique is available for the
+ error log, so you must choose between mixing all virtual hosts
+ in the same error log and using one error log per virtual
+ host.</p>
+ <hr />
+
+ <h2><a id="other" name="other">Other Log Files</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a> </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a href="mod/core.html#pidfile">PidFile</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteLog">RewriteLog</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a><br />
+ <a href="mod/mod_cgi.html#scriptlog">ScriptLog</a><br />
+ <a
+ href="mod/mod_cgi.html#scriptloglength">ScriptLogLength</a><br />
+ <a
+ href="mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a>
+ </td>
+ </tr>
+ </table>
+
+ <h3><a id="pidfile" name="pidfile">PID File</a></h3>
+
+ <p>On startup, Apache httpd saves the process id of the parent
+ httpd process to the file <code>logs/httpd.pid</code>. This
+ filename can be changed with the <a
+ href="mod/core.html#pidfile">PidFile</a> directive. The
+ process-id is for use by the administrator in restarting and
+ terminating the daemon by sending signals to the parent
+ process; on Windows, use the -k command line option instead.
+ For more information see the <a href="stopping.html">Stopping
+ and Restarting</a> page.</p>
+
+ <h3><a id="scriptlog" name="scriptlog">Script Log</a></h3>
+
+ <p>In order to aid in debugging, the <a
+ href="mod/mod_cgi.html#scriptlog">ScriptLog</a> directive
+ allows you to record the input to and output from CGI scripts.
+ This should only be used in testing - not for live servers.
+ More information is available in the <a
+ href="mod/mod_cgi.html">mod_cgi documentation</a>.</p>
+
+ <h3><a id="rewritelog" name="rewritelog">Rewrite Log</a></h3>
+
+ <p>When using the powerful and complex features of <a
+ href="mod/mod_rewrite.html">mod_rewrite</a>, it is almost
+ always necessary to use the <a
+ href="mod/mod_rewrite.html#RewriteLog">RewriteLog</a> to help
+ in debugging. This log file produces a detailed analysis of how
+ the rewriting engine transforms requests. The level of detail
+ is controlled by the <a
+ href="mod/mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a>
+ directive.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/core.html.en b/usr.sbin/httpd/htdocs/manual/mod/core.html.en
new file mode 100644
index 00000000000..0701c88ed4e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/core.html.en
@@ -0,0 +1,3758 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache Core Features</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache Core Features</h1>
+
+ <p>These configuration parameters control the core Apache
+ features, and are always available.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="#acceptmutex">AcceptMutex</a></li>
+
+ <li><a href="#accessconfig">AccessConfig</a></li>
+
+ <li><a href="#accessfilename">AccessFileName</a></li>
+
+ <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a href="#addmodule">AddModule</a></li>
+
+ <li><a href="#allowoverride">AllowOverride</a></li>
+
+ <li><a href="#authname">AuthName</a></li>
+
+ <li><a href="#authtype">AuthType</a></li>
+
+ <li><a href="#bindaddress">BindAddress</a></li>
+
+ <li><a href="#bs2000account">BS2000Account</a></li>
+
+ <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="#contentdigest">ContentDigest</a></li>
+
+ <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a href="#defaulttype">DefaultType</a></li>
+
+ <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+ <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a href="#documentroot">DocumentRoot</a></li>
+
+ <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="#errordocument">ErrorDocument</a></li>
+
+ <li><a href="#errorlog">ErrorLog</a></li>
+
+ <li><a href="#files">&lt;Files&gt;</a></li>
+
+ <li><a href="#fileetag">&lt;FileETag&gt;</a></li>
+
+ <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="#group">Group</a></li>
+
+ <li><a href="#hostnamelookups">HostnameLookups</a></li>
+
+ <li><a href="#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="#include">Include</a></li>
+
+ <li><a href="#keepalive">KeepAlive</a></li>
+
+ <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+ <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="#listen">Listen</a></li>
+
+ <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="#location">&lt;Location&gt;</a></li>
+
+ <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="#lockfile">LockFile</a></li>
+
+ <li><a href="#loglevel">LogLevel</a></li>
+
+ <li><a href="#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="#options">Options</a></li>
+
+ <li><a href="#pidfile">PidFile</a></li>
+
+ <li><a href="#port">Port</a></li>
+
+ <li><a href="#require">Require</a></li>
+
+ <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+ <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="#satisfy">Satisfy</a></li>
+
+ <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a
+ href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="#serveralias">ServerAlias</a></li>
+
+ <li><a href="#servername">ServerName</a></li>
+
+ <li><a href="#serverpath">ServerPath</a></li>
+
+ <li><a href="#serverroot">ServerRoot</a></li>
+
+ <li><a href="#serversignature">ServerSignature</a></li>
+
+ <li><a href="#servertokens">ServerTokens</a></li>
+
+ <li><a href="#servertype">ServerType</a></li>
+
+ <li><a href="#startservers">StartServers</a></li>
+
+ <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+ <li><a href="#timeout">TimeOut</a></li>
+
+ <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="#user">User</a></li>
+
+ <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="acceptfilter" name="acceptfilter">AcceptFilter
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AcceptFilter
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AcceptFilter
+ on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server configt<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AcceptFilter is
+ available in Apache 1.3.22 and later
+
+ <p><code>AcceptFilter</code> controls a BSD specific filter
+ optimization. It is compiled in by default - and switched on by
+ default if your system supports it (setsocketopt() option
+ SO_ACCEPTFILTER). Currently only FreeBSD supports this.</p>
+
+ <p>See the filter section on <a
+ href="misc/perf-bsd44.html">performance hints</a> for more
+ information.</p>
+
+ <p>The compile time flag <code>AP_ACCEPTFILTER_OFF</code> can
+ be used to change the default to 'off'. <code>httpd -V</code>
+ and <code>httpd -L</code> will show compile time defaults and
+ whether or not SO_ACCEPTFILTER was defined during the
+ compile.</p>
+
+ <h2><a id="acceptmutex" name="acceptmutex">AcceptMutex
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AcceptMutex
+ uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AcceptMutex
+ default</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p><code>AcceptMutex</code> controls which accept() mutex
+ method Apache will use. Not all methods are available on all
+ platforms, since the suite of methods is determined at
+ compile-time. For a list of which methods are available for
+ your particular build, the <code>httpd -L</code> command line
+ option will list them out.</p>
+
+ <p>The compile time flags <code>-D
+ HAVE_METHOD_SERIALIZED_ACCEPT</code> can be used to add
+ different methods to your build, or one can edit the
+ <code>include/ap_config.h</code> file for your particular
+ platform.</p>
+
+ <p>See the <a href="../misc/perf-tuning.html">performance tuning
+ guide</a> for more information.</p>
+
+ <h2><a id="accessconfig" name="accessconfig">AccessConfig
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AccessConfig
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AccessConfig
+ conf/access.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The ability to
+ specify a directory, rather than a file name, is only available in
+ Apache 1.3.13 and later.
+
+ <p>The server will read this file for more directives after
+ reading the <a href="#resourceconfig">ResourceConfig</a> file.
+ <em>File-path</em> is relative to the <a
+ href="#serverroot">ServerRoot</a>. This feature can be disabled
+ using:</p>
+
+ <blockquote>
+ <code>AccessConfig /dev/null</code>
+ </blockquote>
+ Or, on Win32 servers,
+
+ <blockquote>
+ <code>AccessConfig nul</code>
+ </blockquote>
+ Historically, this file only contained <a
+ href="#directory">&lt;Directory&gt;</a> sections; in fact it
+ can now contain any server directive allowed in the <em>server
+ config</em> context. However, since Apache version 1.3.4,
+ the default <code>access.conf</code> file which ships with
+ Apache contains only comments, and all directives are placed
+ in the main server configuration file, <code>httpd.conf</code>.
+
+ <p>If <code>AccessConfig</code> points to a directory, rather than a
+ file, Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files. Note that
+ <emph>any</emph> file in the specified directory will be loaded as a
+ configuration file, so make sure that you don't have stray files in
+ this directory by mistake, such as temporary files created by your
+ editor, for example.</p>
+
+ <p>See also <a href="#resourceconfig">ResourceConfig</a>.</p>
+ <hr />
+
+ <h2><a id="accessfilename" name="accessfilename">AccessFileName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AccessFileName
+ <em>filename</em> [<em>filename</em>] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AccessFileName
+ .htaccess</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AccessFileName
+ can accept more than one filename only in Apache 1.3 and later
+
+ <p>When returning a document to the client the server looks for
+ the first existing access control file from this list of names
+ in every directory of the path to the document, if access
+ control files are enabled for that directory. For example:</p>
+
+ <blockquote>
+ <code>AccessFileName .acl</code>
+ </blockquote>
+ before returning the document /usr/local/web/index.html, the
+ server will read /.acl, /usr/.acl, /usr/local/.acl and
+ /usr/local/web/.acl for directives, unless they have been
+ disabled with
+
+ <blockquote>
+ <code>&lt;Directory /&gt;<br />
+ AllowOverride None<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+
+ <p><strong>See Also:</strong> <a
+ href="#allowoverride">AllowOverride</a></p>
+ <hr />
+
+ <h2><a id="adddefaultcharset"
+ name="adddefaultcharset">AddDefaultCharset directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddDefaultCharset
+ On|Off|<em>charset</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>AddDefaultCharset Off</code><br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ AddDefaultCharset is only available in Apache 1.3.12 and later
+
+ <p>This directive specifies the name of the character set that
+ will be added to any response that does not have any parameter
+ on the content type in the HTTP headers. This will override any
+ character set specified in the body of the document via a
+ <code>META</code> tag. A setting of <code>AddDefaultCharset
+ Off</code> disables this functionality. <code>AddDefaultCharset
+ On</code> enables Apache's internal default charset of
+ <code>iso-8859-1</code> as required by the directive. You can
+ also specify an alternate <em>charset</em> to be used; e.g.
+ <code>AddDefaultCharset utf-8</code>.</p>
+ <hr />
+
+ <h2><a id="addmodule" name="addmodule">AddModule
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddModule
+ <em>module</em> [<em>module</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config <br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddModule is
+ only available in Apache 1.2 and later
+
+ <p>The server can have modules compiled in which are not
+ actively in use. This directive can be used to enable the use
+ of those modules. The server comes with a pre-loaded list of
+ active modules; this list can be cleared with the <a
+ href="#clearmodulelist">ClearModuleList</a> directive.</p>
+ <hr />
+
+ <h2><a id="allowoverride" name="allowoverride">AllowOverride
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AllowOverride
+ All|None|<em>directive-type</em> [<em>directive-type</em>]
+ ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AllowOverride
+ All</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>When the server finds an .htaccess file (as specified by <a
+ href="#accessfilename">AccessFileName</a>) it needs to know
+ which directives declared in that file can override earlier
+ access information.</p>
+
+ <p>When this directive is set to <code>None</code>, then
+ .htaccess files are completely ignored. In this case, the
+ server will not even attempt to read .htaccess files in the
+ filesystem.</p>
+
+ <p>When this directive is set to <code>All</code>, then any
+ directive which has the .htaccess <a
+ href="directive-dict.html#Context">Context</a> is allowed in
+ .htaccess files.</p>
+
+ <p>The <em>directive-type</em> can be one of the following
+ groupings of directives.</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+
+ Allow use of the authorization directives (<a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+ <a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+ <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+ href="#authname">AuthName</a>, <a
+ href="#authtype">AuthType</a>, <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+ href="#require">Require</a>, <em>etc.</em>).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd>
+ Allow use of the directives controlling document types (<a
+ href="mod_mime.html#addencoding">AddEncoding</a>, <a
+ href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+ href="mod_mime.html#addtype">AddType</a>, <a
+ href="#defaulttype">DefaultType</a>, <a
+ href="#errordocument">ErrorDocument</a>, <a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a>,
+ <em>etc.</em>).</dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ Allow use of the directives controlling directory indexing
+ (<a
+ href="mod_autoindex.html#adddescription">AddDescription</a>,
+ <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+ <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+ <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+ href="mod_autoindex.html#headername">HeaderName</a>, <a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+ href="mod_autoindex.html#readmename">ReadmeName</a>,
+ <em>etc.</em>).</dd>
+
+ <dt>Limit</dt>
+
+ <dd>
+ Allow use of the directives controlling host access (Allow,
+ Deny and Order).</dd>
+
+ <dt>Options</dt>
+
+ <dd>
+ Allow use of the directives controlling specific directory
+ features (<a href="#options">Options</a> and <a
+ href="mod_include.html#xbithack">XBitHack</a>).</dd>
+ </dl>
+
+ <p><strong>See Also:</strong> <a
+ href="#accessfilename">AccessFileName</a></p>
+ <hr />
+
+ <h2><a id="authname" name="authname">AuthName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AuthName
+ <em>auth-domain</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive sets the name of the authorization realm for
+ a directory. This realm is given to the client so that the user
+ knows which username and password to send.
+ <samp>AuthName</samp> takes a single argument; if the realm
+ name contains spaces, it must be enclosed in quotation marks.
+ It must be accompanied by <a href="#authtype">AuthType</a> and
+ <a href="#require">Require</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+ work.</p>
+ <hr />
+
+ <h2><a id="authtype" name="authtype">AuthType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AuthType
+ Basic|Digest<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive selects the type of user authentication for a
+ directory. Only <code>Basic</code> and <code>Digest</code> are
+ currently implemented.
+
+ It must be accompanied by <a href="#authname">AuthName</a> and
+ <a href="#require">Require</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+ work.</p>
+ <hr />
+
+ <h2><a id="bindaddress" name="bindaddress">BindAddress
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BindAddress
+ *|<em>IP-address</em>|<em>domain-name</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>BindAddress
+ *</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>A Unix&reg; http server can either listen for connections to
+ every IP address of the server machine, or just one IP address
+ of the server machine. If the argument to this directive is *,
+ then the server will listen for connections on every IP
+ address. Otherwise, the server can listen to only a specific
+ <em>IP-address</em> or a fully-qualified Internet
+ <em>domain-name</em>.</p>
+
+ <p>Only one <code>BindAddress</code> directive can be used. For
+ more control over which address and ports Apache listens to,
+ use the <code><a href="#listen">Listen</a></code> directive
+ instead of <code>BindAddress</code>.</p>
+
+ <p><code>BindAddress</code> can be used as an alternative
+ method for supporting <a href="../vhosts/">virtual hosts</a>
+ using multiple independent servers, instead of using <code><a
+ href="#virtualhost">&lt;VirtualHost&gt;</a></code>
+ sections.</p>
+
+ <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+ Issues</a><br />
+ <strong>See Also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a></p>
+ <hr />
+
+ <h2><a id="bs2000account" name="bs2000account">BS2000Account
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BS2000Account
+ <em>account</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> BS2000Account is
+ only available for BS2000 machines, as of Apache 1.3 and later.
+
+
+ <p>The <code>BS2000Account</code> directive is available for
+ BS2000 hosts only. It must be used to define the account number
+ for the non-privileged apache server user (which was configured
+ using the <a href="#user">User</a> directive). This is required
+ by the BS2000 POSIX subsystem (to change the underlying BS2000
+ task environment by performing a sub-LOGON) to prevent CGI
+ scripts from accessing resources of the privileged account
+ which started the server, usually <samp>SYSROOT</samp>.<br />
+ Only one <code>BS2000Account</code> directive can be used.</p>
+
+ <p><strong>See Also:</strong> <a href="../ebcdic.html">Apache
+ EBCDIC port</a></p>
+ <hr />
+
+ <h2><a id="clearmodulelist"
+ name="clearmodulelist">ClearModuleList directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ClearModuleList<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ClearModuleList
+ is only available in Apache 1.2 and later
+
+ <p>The server comes with a built-in list of active modules.
+ This directive clears the list. It is assumed that the list
+ will then be re-populated using the <a
+ href="#addmodule">AddModule</a> directive.</p>
+ <hr />
+
+ <h2><a id="contentdigest" name="contentdigest">ContentDigest
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ContentDigest
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ContentDigest
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> experimental<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ContentDigest is
+ only available in Apache 1.1 and later
+
+ <p>This directive enables the generation of
+ <code>Content-MD5</code> headers as defined in RFC1864
+ respectively RFC2068.</p>
+
+ <p>MD5 is an algorithm for computing a "message digest"
+ (sometimes called "fingerprint") of arbitrary-length data, with
+ a high degree of confidence that any alterations in the data
+ will be reflected in alterations in the message digest.</p>
+
+ <p>The <code>Content-MD5</code> header provides an end-to-end
+ message integrity check (MIC) of the entity-body. A proxy or
+ client may check this header for detecting accidental
+ modification of the entity-body in transit. Example header:</p>
+<pre>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</pre>
+
+ <p>Note that this can cause performance problems on your server
+ since the message digest is computed on every request (the
+ values are not cached).</p>
+
+ <p><code>Content-MD5</code> is only sent for documents served
+ by the core, and not by any module. For example, SSI documents,
+ output from CGI scripts, and byte range responses do not have
+ this header.</p>
+ <hr />
+
+ <h2><a id="coredumpdirectory"
+ name="coredumpdirectory">CoreDumpDirectory directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> CoreDumpDirectory
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> the same location as
+ ServerRoot<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This controls the directory to which Apache attempts to
+ switch before dumping core. The default is in the <a
+ href="#serverroot">ServerRoot</a> directory, however since this
+ should not be writable by the user the server runs as, core
+ dumps won't normally get written. If you want a core dump for
+ debugging, you can use this directive to place it in a
+ different location.</p>
+ <hr />
+
+ <h2><a id="defaulttype" name="defaulttype">DefaultType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DefaultType
+ <em>MIME-type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DefaultType
+ text/html</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>There will be times when the server is asked to provide a
+ document whose type cannot be determined by its MIME types
+ mappings.</p>
+
+ <p>The server must inform the client of the content-type of the
+ document, so in the event of an unknown type it uses the
+ <code>DefaultType</code>. For example:</p>
+
+ <blockquote>
+ <code>DefaultType image/gif</code>
+ </blockquote>
+ would be appropriate for a directory which contained many gif
+ images with filenames missing the .gif extension.
+ <hr />
+
+ <h2><a id="directory" name="directory">&lt;Directory&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Directory
+ <em>directory-path</em>&gt; ... &lt;/Directory&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.
+
+ <p>&lt;Directory&gt; and &lt;/Directory&gt; are used to enclose
+ a group of directives which will apply only to the named
+ directory and sub-directories of that directory. Any directive
+ which is allowed in a directory context may be used.
+ <em>Directory-path</em> is either the full path to a directory,
+ or a wild-card string. In a wild-card string, `?' matches any
+ single character, and `*' matches any sequences of characters.
+ As of Apache 1.3, you may also use `[]' character ranges like
+ in the shell. Also as of Apache 1.3 none of the wildcards match
+ a `/' character, which more closely mimics the behavior of
+ Unix shells. Example:</p>
+<pre>
+ &lt;Directory /usr/local/httpd/htdocs&gt;
+ Options Indexes FollowSymLinks
+ &lt;/Directory&gt;
+</pre>
+
+ <p><strong>Apache 1.2 and above:</strong> Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+</pre>
+ would match directories in /www/ that consisted of three
+ numbers.
+
+ <p>If multiple (non-regular expression) directory sections
+ match the directory (or its parents) containing a document,
+ then the directives are applied in the order of shortest match
+ first, interspersed with the directives from the <a
+ href="#accessfilename">.htaccess</a> files. For example,
+ with</p>
+
+ <blockquote>
+ <code>&lt;Directory /&gt;<br />
+ AllowOverride None<br />
+ &lt;/Directory&gt;<br />
+ <br />
+ &lt;Directory /home/*&gt;<br />
+ AllowOverride FileInfo<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ for access to the document <code>/home/web/dir/doc.html</code>
+ the steps are:
+
+ <ul>
+ <li>Apply directive <code>AllowOverride None</code>
+ (disabling <code>.htaccess</code> files).</li>
+
+ <li>Apply directive <code>AllowOverride FileInfo</code> (for
+ directory <code>/home/web</code>).</li>
+
+ <li>Apply any FileInfo directives in
+ <code>/home/web/.htaccess</code></li>
+ </ul>
+
+ <p>Regular expression directory sections are handled slightly
+ differently by Apache 1.2 and 1.3. In Apache 1.2 they are
+ interspersed with the normal directory sections and applied in
+ the order they appear in the configuration file. They are
+ applied only once, and apply when the shortest match possible
+ occurs. In Apache 1.3 regular expressions are not considered
+ until after all of the normal sections have been applied. Then
+ all of the regular expressions are tested in the order they
+ appeared in the configuration file. For example, with</p>
+
+ <blockquote>
+ <code>&lt;Directory ~ abc$&gt;<br />
+ ... directives here ...<br />
+ &lt;/Directory&gt;<br />
+ </code>
+ </blockquote>
+ Suppose that the filename being accessed is
+ <code>/home/abc/public_html/abc/index.html</code>. The server
+ considers each of <code>/</code>, <code>/home</code>,
+ <code>/home/abc</code>, <code>/home/abc/public_html</code>, and
+ <code>/home/abc/public_html/abc</code> in that order. In Apache
+ 1.2, when <code>/home/abc</code> is considered, the regular
+ expression will match and be applied. In Apache 1.3 the regular
+ expression isn't considered at all at that point in the tree.
+ It won't be considered until after all normal
+ &lt;Directory&gt;s and <code>.htaccess</code> files have been
+ applied. Then the regular expression will match on
+ <code>/home/abc/public_html/abc</code> and be applied.
+
+ <p><strong>Note that the default Apache access for
+ &lt;Directory /&gt; is <samp>Allow from All</samp>. This means
+ that Apache will serve any file mapped from an URL. It is
+ recommended that you change this with a block such
+ as</strong></p>
+<pre>
+ &lt;Directory /&gt;
+ Order Deny,Allow
+ Deny from All
+ &lt;/Directory&gt;
+</pre>
+
+ <p><strong>and then override this for directories you
+ <em>want</em> accessible. See the <a
+ href="../misc/security_tips.html">Security Tips</a> page for
+ more details.</strong></p>
+ The directory sections typically occur in the access.conf file,
+ but they may appear in any configuration file.
+ &lt;Directory&gt; directives cannot nest, and cannot appear in
+ a <a href="#limit">&lt;Limit&gt;</a> or <a
+ href="#limitexcept">&lt;LimitExcept&gt;</a> section.
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="directorymatch"
+ name="directorymatch">&lt;DirectoryMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;DirectoryMatch
+ <em>regex</em>&gt; ... &lt;/DirectoryMatch&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3 and later
+
+ <p>&lt;DirectoryMatch&gt; and &lt;/DirectoryMatch&gt; are used
+ to enclose a group of directives which will apply only to the
+ named directory and sub-directories of that directory, the same
+ as <a href="#directory">&lt;Directory&gt;</a>. However, it
+ takes as an argument a regular expression. For example:</p>
+<pre>
+ &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
+</pre>
+
+ <p>would match directories in /www/ that consisted of three
+ numbers.</p>
+
+ <p><strong>See Also:</strong> <a
+ href="#directory">&lt;Directory&gt;</a> for a description of
+ how regular expressions are mixed in with normal
+ &lt;Directory&gt;s.<br />
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="documentroot" name="documentroot">DocumentRoot
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DocumentRoot
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DocumentRoot
+ /usr/local/apache/htdocs</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive sets the directory from which httpd will
+ serve files. Unless matched by a directive like Alias, the
+ server appends the path from the requested URL to the document
+ root to make the path to the document. Example:</p>
+
+ <blockquote>
+ <code>DocumentRoot /usr/web</code>
+ </blockquote>
+ then an access to
+ <code>http://www.my.host.com/index.html</code> refers to
+ <code>/usr/web/index.html</code>.
+
+ <p>There appears to be a bug in mod_dir which causes problems
+ when the DocumentRoot has a trailing slash (<em>i.e.</em>,
+ "DocumentRoot /usr/web/") so please avoid that.</p>
+ <hr />
+
+ <h2><a id="ebcdicconvert"
+ name="ebcdicconvert">EBCDICConvert</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICConvert
+ On|Off[=<em>direction</em>] <em>extension</em>
+ [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The configurable
+ EBCDIC conversion is only available in Apache 1.3.19 and later,
+ and on EBCDIC based platforms.
+
+ <p>The EBCDICConvert directive maps the given filename
+ extensions to the specified conversion setting (<samp>On</samp>
+ or <samp>Off</samp>). File extensions may be specified with or
+ without a leading dot.</p>
+
+ <p>If the optional format <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) is used, where
+ <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+ <samp>InOut</samp>, then the directive only applies to the
+ specified transfer direction (<samp>In</samp>: uploaded content
+ in a PUT or POST request, <samp>Out</samp>: returned content in
+ a GET or POST request, and <samp>InOut</samp>: conversion in
+ both directions).<br />
+ Otherwise, <samp>InOut</samp> (conversion in both directions)
+ is implied.</p>
+
+ <p>Conversion configuration based on file extension is tested
+ prior to configuration based on MIME type, to allow for generic
+ MIME based rules to be overridden by a more specific file
+ extension (several file extensions may exist for the same MIME
+ type).</p>
+
+ <p><strong>Example</strong>:<br />
+ With a configuration like the following, the normal
+ <samp>*.html</samp> files contain HTML text in EBCDIC encoding,
+ while <samp>*.ahtml</samp> files contain HTML text in ASCII
+ encoding:</p>
+<pre>
+ # *.html and *.ahtml contain HTML text:
+ AddType text/html .html .ahtml
+
+ # *.ahtml is not converted (contains ASCII text already):
+ EBCDICConvert Off .ahtml
+
+ # All other text/html files presumably contain EBCDIC text:
+ EBCDICConvertByType On text/html
+</pre>
+ <br />
+ <br />
+
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="ebcdicconvertbytype"
+ name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICConvertByType
+ On|Off[=<em>direction</em>] <em>mimetype</em>
+ [<em>mimetype</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The configurable
+ EBCDIC conversion is only available in Apache 1.3.19 and later,
+ and on EBCDIC based platforms.
+
+ <p>The EBCDICConvertByType directive maps the given MIME type
+ (optionally containing wildcards) to the specified conversion
+ setting (<samp>On</samp> or <samp>Off</samp>).</p>
+
+ <p>If the optional format <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) is used, where
+ <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+ <samp>InOut</samp>, then the directive only applies to the
+ specified transfer direction (<samp>In</samp>: uploaded content
+ in a PUT or POST request, <samp>Out</samp>: returned content in
+ a GET or POST request, and <samp>InOut</samp>: conversion in
+ both directions).<br />
+ Otherwise, <samp>InOut</samp> (conversion in both directions)
+ is implied.</p>
+
+ <p><strong>Example</strong>:<br />
+ A useful standard configuration should at least contain the
+ following defaults:</p>
+<pre>
+ # All text documents are stored as EBCDIC files:
+ EBCDICConvertByType On text/* message/* multipart/*
+ EBCDICConvertByType On application/x-www-form-urlencoded \
+ model/vrml application/postscript
+ # All other files are assumed to be binary:
+ EBCDICConvertByType Off */*
+</pre>
+ If you serve ASCII documents only, for example from an NFS
+ mounted unix server, use:
+<pre>
+ # All documents are ASCII already:
+ EBCDICConvertByType Off */*
+</pre>
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvert">EBCDICConvert</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="ebcdickludge"
+ name="ebcdickludge">EBCDICKludge</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICKludge
+ On|Off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>EBCDICKludge
+ Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> EBCDICKludge is
+ only available in Apache 1.3.19 and later, and on EBCDIC based
+ platforms. It is deprecated and will be withdrawn in a future
+ version.<br />
+
+
+ <p>The EBCDICKludge is provided for the backward compatible
+ behavior with apache versions 1.3.0 through 1.3.18. In these
+ versions, all files with MIME types starting with "text/",
+ "message/" or "multipart/" or with type
+ "application/x-www-form-urlencoded" would be converted by
+ default, all other documents were returned unconverted. Only if
+ a MIME type "<samp>text/<b>x-ascii-</b><i>subtype</i></samp>"
+ was configured for a certain document, the document was assumed
+ to be in ASCII format already, and was not converted again.
+ Instead, the "<samp><b>x-ascii-</b></samp>" was removed from
+ the type, resulting in the MIME type
+ "<samp>text/<i>subtype</i></samp>" being returned for the
+ document.</p>
+
+ <p>If the EBCDICKludge directive is set to <samp>On</samp>, and
+ if none of the file extensions configured with the <a
+ href="#ebcdicconvert">EBCDICConvert</a> directive matches in
+ the current context, then the server tests for a MIME type of
+ the format
+ <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp>. If the
+ document has such a type, then the
+ "<samp><b>x-ascii-</b></samp>" substring is removed and the
+ conversion set to <samp>Off</samp>. This allows for overriding
+ the implicit assumption that all text files are stored in
+ EBCDIC format, for example when serving documents from an NFS
+ mounted directory with ASCII documents.<br />
+ By using the EBCDICKludge, there is no way to force one of the
+ other MIME types (<em>e.g.</em>, model/vrml) to be treated as
+ an EBCDIC text file. Use of the <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> directive
+ mentioned above is the preferred way to configure such a
+ conversion. (Before Apache version 1.3.19, there was no way at
+ all to force these binary documents to be treated as EBCDIC
+ text files.)</p>
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvert">EBCDICConvert</a>, <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="errordocument" name="errordocument">ErrorDocument
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ErrorDocument
+ <em>error-code document</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The directory
+ and .htaccess contexts are only available in Apache 1.1 and
+ later.
+
+ <p>In the event of a problem or error, Apache can be configured
+ to do one of four things,</p>
+
+ <ol>
+ <li>output a simple hardcoded error message</li>
+
+ <li>output a customized message</li>
+
+ <li>redirect to a local <em>URL-path</em> to handle the
+ problem/error</li>
+
+ <li>redirect to an external <em>URL</em> to handle the
+ problem/error</li>
+ </ol>
+
+ <p>The first option is the default, while options 2-4 are
+ configured using the <code>ErrorDocument</code> directive,
+ which is followed by the HTTP response code and a message or
+ URL.</p>
+
+ <p><em>Messages</em> in this context begin with a single
+ double-quote character (<code>"</code>), which does not form
+ part of the message itself. Apache will sometimes offer
+ additional information regarding the problem/error.</p>
+
+ <p>URLs can begin with a slash (/) for local URLs, or be a full
+ URL which the client can resolve. Examples:</p>
+
+ <blockquote>
+ <code>ErrorDocument 500
+ http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Sorry can't allow you access today</code>
+ </blockquote>
+
+ <p>Note that when you specify an <code>ErrorDocument</code>
+ that points to a remote URL (ie. anything with a method such as
+ "http" in front of it), Apache will send a redirect to the
+ client to tell it where to find the document, even if the
+ document ends up being on the same server. This has several
+ implications, the most important being that the client will not
+ receive the original error status code, but instead will
+ receive a redirect status code. This in turn can confuse web
+ robots and other clients which try to determine if a URL is
+ valid using the status code. In addition, if you use a remote
+ URL in an <code>ErrorDocument 401</code>, the client will not
+ know to prompt the user for a password since it will not
+ receive the 401 status code. Therefore, <strong>if you use an
+ "ErrorDocument 401" directive then it must refer to a local
+ document.</strong></p>
+
+ <p>See Also: <a href="../custom-error.html">documentation of
+ customizable responses.</a></p>
+ <hr />
+
+ <h2><a id="errorlog" name="errorlog">ErrorLog
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ErrorLog
+ <em>file-path</em>|syslog[:<em>facility</em>] <br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+ logs/error_log</code> (Unix)<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+ logs/error.log</code> (Windows and OS/2)<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The error log directive sets the name of the file to which
+ the server will log any errors it encounters. If the
+ <em>file-path</em> does not begin with a slash (/) then it is
+ assumed to be relative to the <a
+ href="#serverroot">ServerRoot</a>. If the <em>file-path</em>
+ begins with a pipe (|) then it is assumed to be a command to
+ spawn to handle the error log.</p>
+
+ <p><strong>Apache 1.3 and above:</strong> Using
+ <code>syslog</code> instead of a filename enables logging via
+ syslogd(8) if the system supports it. The default is to use
+ syslog facility <code>local7</code>, but you can override this
+ by using the <code>syslog:</code><em>facility</em> syntax where
+ <em>facility</em> can be one of the names usually documented in
+ syslog(1).</p>
+
+ <p>SECURITY: See the <a
+ href="../misc/security_tips.html#serverroot">security tips</a>
+ document for details on why your security could be compromised
+ if the directory where logfiles are stored is writable by
+ anyone other than the user that starts the server.</p>
+
+ <p><strong>See also:</strong> <a href="#loglevel">LogLevel</a>
+ and <a href="../logs.html">Apache Log Files</a></p>
+ <hr />
+
+ <h2><a id="fileetag" name="fileetag">&lt;FileETag&gt; directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> FileETag
+ <i>component</i> ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.3.23 versions and later.
+
+ <p>
+ The FileETag directive configures the file attributes that are
+ used to create the ETag (entity tag) response header field
+ when the document is based on a file.
+ (The ETag value is used in cache management to save network
+ bandwidth.) In Apache 1.3.22 and earlier, the ETag value was
+ <i>always</i> formed from the file's inode, size, and last-modified
+ time (mtime). The FileETag directive allows you to choose
+ which of these -- if any -- should be used. The recognised
+ keywords are:
+ </p>
+ <dl compact="compact">
+ <dt><b>INode</b></dt>
+ <dd>The file's i-node number will be included in the calculation</dd>
+ <dt><b>MTime</b></dt>
+ <dd>The date and time the file was last modified will be included</dd>
+ <dt><b>Size</b></dt>
+ <dd>The number of bytes in the file will be included</dd>
+ <dt><b>All</b></dt>
+ <dd>All available fields will be used (equivalent to
+ '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>')</dd>
+ <dt><b>None</b></dt>
+ <dd>If a document is file-based, no ETag field will be included in the
+ response</dd>
+ </dl>
+ <p>
+ The INode, MTime, and Size keywords may be prefixed with either '+'
+ or '-', which allow changes to be made to the default setting
+ inherited from a broader scope. Any keyword appearing without
+ such a prefix immediatey and completely cancels the inherited
+ setting.
+ </p>
+ <p>
+ If a directory's configuration includes
+ '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>', and a
+ subdirectory's includes '<code>FileETag&nbsp;-INode</code>',
+ the setting for that subdirectory (which will be inherited by
+ any sub-subdirectories that don't override it) will be equivalent to
+ '<code>FileETag&nbspMTime&nbsp;Size</code>'.
+ </p>
+ <hr />
+
+ <h2><a id="files" name="files">&lt;Files&gt; directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Files
+ <em>filename</em>&gt; ... &lt;/Files&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.2 and above.
+
+ <p>The &lt;Files&gt; directive provides for access control by
+ filename. It is comparable to the <a
+ href="#directory">&lt;Directory&gt;</a> directive and <a
+ href="#location">&lt;Location&gt;</a> directives. It should be
+ matched with a &lt;/Files&gt; directive. The directives given
+ within this section will be applied to any object with a
+ basename (last component of filename) matching the specified
+ filename. <code>&lt;Files&gt;</code> sections are processed in
+ the order they appear in the configuration file, after the
+ &lt;Directory&gt; sections and <code>.htaccess</code> files are
+ read, but before &lt;Location&gt; sections. Note that
+ &lt;Files&gt; can be nested inside &lt;Directory&gt; sections
+ to restrict the portion of the filesystem they apply to.</p>
+
+ <p>The <em>filename</em> argument should include a filename, or
+ a wild-card string, where `?' matches any single character, and
+ `*' matches any sequences of characters. Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+</pre>
+ would match most common Internet graphics formats. In Apache
+ 1.3 and later, <a href="#filesmatch">&lt;FilesMatch&gt;</a> is
+ preferred, however.
+
+ <p>Note that unlike <a
+ href="#directory"><code>&lt;Directory&gt;</code></a> and <a
+ href="#location"><code>&lt;Location&gt;</code></a> sections,
+ <code>&lt;Files&gt;</code> sections can be used inside
+ .htaccess files. This allows users to control access to their
+ own files, at a file-by-file level.</p>
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="filesmatch"
+ name="filesmatch">&lt;FilesMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;FilesMatch
+ <em>regex</em>&gt; ... &lt;/FilesMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.3 and above.
+
+ <p>The &lt;FilesMatch&gt; directive provides for access control
+ by filename, just as the <a href="#files">&lt;Files&gt;</a>
+ directive does. However, it accepts a regular expression. For
+ example:</p>
+<pre>
+ &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+ <p>would match most common Internet graphics formats.</p>
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received
+ <hr />
+
+ <h2><a id="group" name="group">Group directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Group
+ <em>unix-group</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>Group
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The Group directive sets the group under which the server
+ will answer requests. In order to use this directive, the
+ stand-alone server must be run initially as root.
+ <em>Unix-group</em> is one of:</p>
+
+ <dl>
+ <dt>A group name</dt>
+
+ <dd>Refers to the given group by name.</dd>
+
+ <dt># followed by a group number.</dt>
+
+ <dd>Refers to a group by its number.</dd>
+ </dl>
+ It is recommended that you set up a new group specifically for
+ running the server. Some admins use user <code>nobody</code>,
+ but this is not always possible or desirable.
+
+ <p>Note: if you start the server as a non-root user, it will
+ fail to change to the specified group, and will instead
+ continue to run as the group of the original user.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+ requires a properly configured <a href="../suexec.html">suEXEC
+ wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+ manner, only the group that CGIs are run as is affected.
+ Non-CGI requests are still processed as the group specified in
+ the main Group directive.</p>
+
+ <p>SECURITY: See <a href="#user">User</a> for a discussion of
+ the security considerations.</p>
+ <hr />
+
+ <h2><a id="hostnamelookups"
+ name="hostnamelookups">HostnameLookups directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> HostnameLookups
+ on|off|double<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>HostnameLookups
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ <code>double</code> available only in Apache 1.3 and
+ above.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Default was
+ <code>on</code> prior to Apache 1.3.
+
+ <p>This directive enables DNS lookups so that host names can be
+ logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>).
+ The value <code>double</code> refers to doing double-reverse
+ DNS. That is, after a reverse lookup is performed, a forward
+ lookup is then performed on that result. At least one of the ip
+ addresses in the forward lookup must match the original
+ address. (In "tcpwrappers" terminology this is called
+ <code>PARANOID</code>.)</p>
+
+ <p>Regardless of the setting, when <a
+ href="mod_access.html">mod_access</a> is used for controlling
+ access by hostname, a double reverse lookup will be performed.
+ This is necessary for security. Note that the result of this
+ double-reverse isn't generally available unless you set
+ <code>HostnameLookups double</code>. For example, if only
+ <code>HostnameLookups on</code> and a request is made to an
+ object that is protected by hostname restrictions, regardless
+ of whether the double-reverse fails or not, CGIs will still be
+ passed the single-reverse result in
+ <code>REMOTE_HOST</code>.</p>
+
+ <p>The default for this directive was previously
+ <code>on</code> in versions of Apache prior to 1.3. It was
+ changed to <code>off</code> in order to save the network
+ traffic for those sites that don't truly need the reverse
+ lookups done. It is also better for the end users because they
+ don't have to suffer the extra latency that a lookup entails.
+ Heavily loaded sites should leave this directive
+ <code>off</code>, since DNS lookups can take considerable
+ amounts of time. The utility <a
+ href="../programs/logresolve.html">logresolve</a>, provided in
+ the <em>/support</em> directory, can be used to look up host
+ names from logged IP addresses offline.</p>
+ <hr />
+
+ <h2><a id="identitycheck" name="identitycheck">IdentityCheck
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> IdentityCheck
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>IdentityCheck
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive enables RFC1413-compliant logging of the
+ remote user name for each connection, where the client machine
+ runs identd or something similar. This information is logged in
+ the access log. <em>Boolean</em> is either <code>on</code> or
+ <code>off</code>.</p>
+
+ <p>The information should not be trusted in any way except for
+ rudimentary usage tracking.</p>
+
+ <p>Note that this can cause serious latency problems accessing
+ your server since every request requires one of these lookups
+ to be performed. When firewalls are involved each lookup might
+ possibly fail and add 30 seconds of latency to each hit. So in
+ general this is not very useful on public servers accessible
+ from the Internet.</p>
+ <hr />
+
+ <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;IfDefine
+ [!]<em>parameter-name</em>&gt; <em>...</em>
+ &lt;/IfDefine&gt;<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> None<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> &lt;IfDefine&gt;
+ is only available in 1.3.1 and later.
+
+ <p>The &lt;IfDefine <em>test</em>&gt;...&lt;/IfDefine&gt;
+ section is used to mark directives that are conditional. The
+ directives within an IfDefine section are only processed if the
+ <em>test</em> is true. If <em>test</em> is false, everything
+ between the start and end markers is ignored.</p>
+
+ <p>The <em>test</em> in the &lt;IfDefine&gt; section directive
+ can be one of two forms:</p>
+
+ <ul>
+ <li><em>parameter-name</em></li>
+
+ <li><code>!</code><em>parameter-name</em></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and end
+ markers are only processed if the parameter named
+ <em>parameter-name</em> is defined. The second format reverses
+ the test, and only processes the directives if
+ <em>parameter-name</em> is <strong>not</strong> defined.</p>
+
+ <p>The <em>parameter-name</em> argument is a define as given on
+ the <code>httpd</code> command line via
+ <code>-D</code><em>parameter-</em>, at the time the server was
+ started.</p>
+
+ <p>&lt;IfDefine&gt; sections are nest-able, which can be used
+ to implement simple multiple-parameter tests. Example:</p>
+<pre>
+ $ httpd -DReverseProxy ...
+
+ # httpd.conf
+ &lt;IfDefine ReverseProxy&gt;
+ LoadModule rewrite_module libexec/mod_rewrite.so
+ LoadModule proxy_module libexec/libproxy.so
+ &lt;/IfDefine&gt;
+</pre>
+ <hr />
+
+ <h2><a id="ifmodule" name="ifmodule">&lt;IfModule&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;IfModule
+ [!]<em>module-name</em>&gt; <em>...</em>
+ &lt;/IfModule&gt;<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> None<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> IfModule is only
+ available in 1.2 and later.
+
+ <p>The &lt;IfModule <em>test</em>&gt;...&lt;/IfModule&gt;
+ section is used to mark directives that are conditional. The
+ directives within an IfModule section are only processed if the
+ <em>test</em> is true. If <em>test</em> is false, everything
+ between the start and end markers is ignored.</p>
+
+ <p>The <em>test</em> in the &lt;IfModule&gt; section directive
+ can be one of two forms:</p>
+
+ <ul>
+ <li><em>module name</em></li>
+
+ <li>!<em>module name</em></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and end
+ markers are only processed if the module named <em>module
+ name</em> is compiled in to Apache. The second format reverses
+ the test, and only processes the directives if <em>module
+ name</em> is <strong>not</strong> compiled in.</p>
+
+ <p>The <em>module name</em> argument is a module name as given
+ as the file name of the module, at the time it was compiled.
+ For example, <code>mod_rewrite.c</code>.</p>
+
+ <p>&lt;IfModule&gt; sections are nest-able, which can be used
+ to implement simple multiple-module tests.</p>
+ <hr />
+
+ <h2><a id="include" name="include">Include directive</a></h2>
+ <strong>Syntax:</strong> Include
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Include is only
+ available in Apache 1.3 and later.
+
+ <p>This directive allows inclusion of other configuration files
+ from within the server configuration files.</p>
+
+ <p>New in Apache 1.3.13 is the feature that if
+ <code>Include</code> points to a directory, rather than a file,
+ Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files.</p>
+ <hr />
+
+ <h2><a id="keepalive" name="keepalive">KeepAlive
+ directive</a></h2>
+ <strong>Syntax: (Apache 1.1)</strong> KeepAlive
+ <em>max-requests</em><br />
+ <strong>Default: (Apache 1.1)</strong> <code>KeepAlive
+ 5</code><br />
+ <strong>Syntax: (Apache 1.2)</strong> KeepAlive on|off<br />
+ <strong>Default: (Apache 1.2)</strong> <code>KeepAlive
+ On</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> KeepAlive is
+ only available in Apache 1.1 and later.
+
+ <p>The Keep-Alive extension to HTTP/1.0 and the persistent
+ connection feature of HTTP/1.1 provide long-lived HTTP sessions
+ which allow multiple requests to be sent over the same TCP
+ connection. In some cases this has been shown to result in an
+ almost 50% speedup in latency times for HTML documents with
+ many images. To enable Keep-Alive connections in Apache 1.2 and
+ later, set <code>KeepAlive On</code>.</p>
+
+ <p>For HTTP/1.0 clients, Keep-Alive connections will only be
+ used if they are specifically requested by a client. In
+ addition, a Keep-Alive connection with an HTTP/1.0 client can
+ only be used when the length of the content is known in
+ advance. This implies that dynamic content such as CGI output,
+ SSI pages, and server-generated directory listings will
+ generally not use Keep-Alive connections to HTTP/1.0 clients.
+ For HTTP/1.1 clients, persistent connections are the default
+ unless otherwise specified. If the client requests it, chunked
+ encoding will be used in order to send content of unknown
+ length over persistent connections.</p>
+
+ <p><strong>Apache 1.1 only</strong>: Set <em>max-requests</em>
+ to the maximum number of requests you want Apache to entertain
+ per connection. A limit is imposed to prevent a client from
+ hogging your server resources. Set this to <code>0</code> to
+ disable support. In Apache 1.2 and 1.3, this is controlled
+ through the MaxKeepAliveRequests directive instead.</p>
+
+ <p>See also <a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.</p>
+ <hr />
+
+ <h2><a id="keepalivetimeout"
+ name="keepalivetimeout">KeepAliveTimeout directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+ <em>seconds</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+ 15</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> KeepAliveTimeout
+ is only available in Apache 1.1 and later.
+
+ <p>The number of seconds Apache will wait for a subsequent
+ request before closing the connection. Once a request has been
+ received, the timeout value specified by the <a
+ href="#timeout"><code>Timeout</code></a> directive applies.</p>
+
+ <p>Setting <code>KeepAliveTimeout</code> to a high value may
+ cause performance problems in heavily loaded servers. The
+ higher the timeout, the more server processes will be kept
+ occupied waiting on connections with idle clients.</p>
+ <hr />
+
+ <h2><a id="limit" name="limit">&lt;Limit&gt; directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Limit
+ <em>method</em> [<em>method</em>] ... &gt; ...
+ &lt;/Limit&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> any<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>Access controls are normally effective for
+ <strong>all</strong> access methods, and this is the usual
+ desired behavior. <strong>In the general case, access control
+ directives should not be placed within a
+ <code>&lt;limit&gt;</code> section.</strong></p>
+
+ <p>The purpose of the &lt;Limit&gt; directive is to restrict
+ the effect of the access controls to the nominated HTTP
+ methods. For all other methods, the access restrictions that
+ are enclosed in the &lt;Limit&gt; bracket <strong>will have no
+ effect</strong>. The following example applies the access
+ control only to the methods POST, PUT, and DELETE, leaving all
+ other methods unprotected:</p>
+
+ <blockquote>
+ <code>&lt;Limit POST PUT DELETE&gt;<br />
+ Require valid-user<br />
+ &lt;/Limit&gt;</code>
+ </blockquote>
+ The method names listed can be one or more of: GET, POST, PUT,
+ DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH,
+ MKCOL, COPY, MOVE, LOCK, and UNLOCK. <strong>The method name is
+ case-sensitive.</strong> If GET is used it will also restrict
+ HEAD requests.
+ <hr />
+
+ <h2><a id="limitexcept" name="limitexcept">&lt;LimitExcept&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;LimitExcept
+ <em>method</em> [<em>method</em>] ... &gt; ...
+ &lt;/LimitExcept&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> any<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3.5 and later
+
+ <p>&lt;LimitExcept&gt; and &lt;/LimitExcept&gt; are used to
+ enclose a group of access control directives which will then
+ apply to any HTTP access method <strong>not</strong> listed in
+ the arguments; <em>i.e.</em>, it is the opposite of a <a
+ href="#limit">&lt;Limit&gt;</a> section and can be used to
+ control both standard and nonstandard/unrecognized methods. See
+ the documentation for <a href="#limit">&lt;Limit&gt;</a> for
+ more details.</p>
+ <hr />
+
+ <h2><a id="limitrequestbody"
+ name="limitrequestbody">LimitRequestBody directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestBody
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LimitRequestBody
+ 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LimitRequestBody
+ is only available in Apache 1.3.2 and later.
+
+ <p>This directive specifies the number of <em>bytes</em> from 0
+ (meaning unlimited) to 2147483647 (2GB) that are allowed in a
+ request body. The default value is defined by the compile-time
+ constant <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 as
+ distributed).</p>
+
+ <p>The LimitRequestBody directive allows the user to set a
+ limit on the allowed size of an HTTP request message body
+ within the context in which the directive is given (server,
+ per-directory, per-file or per-location). If the client request
+ exceeds that limit, the server will return an error response
+ instead of servicing the request. The size of a normal request
+ message body will vary greatly depending on the nature of the
+ resource and the methods allowed on that resource. CGI scripts
+ typically use the message body for passing form information to
+ the server. Implementations of the PUT method will require a
+ value at least as large as any representation that the server
+ wishes to accept for that resource.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service
+ attacks.</p>
+ <hr />
+
+ <h2><a id="limitrequestfields"
+ name="limitrequestfields">LimitRequestFields directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestFields
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>LimitRequestFields 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ LimitRequestFields is only available in Apache 1.3.2 and later.
+
+
+ <p><em>Number</em> is an integer from 0 (meaning unlimited) to
+ 32767. The default value is defined by the compile-time
+ constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as
+ distributed).</p>
+
+ <p>The LimitRequestFields directive allows the server
+ administrator to modify the limit on the number of request
+ header fields allowed in an HTTP request. A server needs this
+ value to be larger than the number of fields that a normal
+ client request might include. The number of request header
+ fields used by a client rarely exceeds 20, but this may vary
+ among different client implementations, often depending upon
+ the extent to which a user has configured their browser to
+ support detailed content negotiation. Optional HTTP extensions
+ are often expressed using request header fields.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ The value should be increased if normal clients see an error
+ response from the server that indicates too many fields were
+ sent in the request.</p>
+ <hr />
+
+ <h2><a id="limitrequestfieldsize"
+ name="limitrequestfieldsize">LimitRequestFieldsize
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestFieldsize
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>LimitRequestFieldsize 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ LimitRequestFieldsize is only available in Apache 1.3.2 and
+ later.
+
+ <p>This directive specifies the number of <em>bytes</em> from 0
+ to the value of the compile-time constant
+ <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 as
+ distributed) that will be allowed in an HTTP request
+ header.</p>
+
+ <p>The LimitRequestFieldsize directive allows the server
+ administrator to reduce the limit on the allowed size of an
+ HTTP request header field below the normal input buffer size
+ compiled with the server. A server needs this value to be large
+ enough to hold any one header field from a normal client
+ request. The size of a normal request header field will vary
+ greatly among different client implementations, often depending
+ upon the extent to which a user has configured their browser to
+ support detailed content negotiation.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ Under normal conditions, the value should not be changed from
+ the default.</p>
+ <hr />
+
+ <h2><a id="limitrequestline"
+ name="limitrequestline">LimitRequestLine directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestLine
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LimitRequestLine
+ 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LimitRequestLine
+ is only available in Apache 1.3.2 and later.
+
+ <p>This directive sets the number of <em>bytes</em> from 0 to
+ the value of the compile-time constant
+ <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 as distributed)
+ that will be allowed on the HTTP request-line.</p>
+
+ <p>The LimitRequestLine directive allows the server
+ administrator to reduce the limit on the allowed size of a
+ client's HTTP request-line below the normal input buffer size
+ compiled with the server. Since the request-line consists of
+ the HTTP method, URI, and protocol version, the
+ LimitRequestLine directive places a restriction on the length
+ of a request-URI allowed for a request on the server. A server
+ needs this value to be large enough to hold any of its resource
+ names, including any information that might be passed in the
+ query part of a GET request.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ Under normal conditions, the value should not be changed from
+ the default.</p>
+ <hr />
+
+ <h2><a id="listen" name="listen">Listen directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Listen
+ [<em>IP-address</em>:]<em>port</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Listen is only
+ available in Apache 1.1 and later.
+
+ <p>The Listen directive instructs Apache to listen to more than
+ one IP address or port; by default it responds to requests on
+ all IP interfaces, but only on the port given by the <code><a
+ href="#port">Port</a></code> directive.</p>
+ <tt>Listen</tt> can be used instead of <tt><a
+ href="#bindaddress">BindAddress</a></tt> and <tt>Port</tt>. It
+ tells the server to accept incoming requests on the specified
+ port or address-and-port combination. If the first format is
+ used, with a port number only, the server listens to the given
+ port on all interfaces, instead of the port given by the
+ <tt>Port</tt> directive. If an IP address is given as well as a
+ port, the server will listen on the given port and interface.
+
+ <p>Note that you may still require a <tt>Port</tt> directive so
+ that URLs that Apache generates that point to your server still
+ work.</p>
+
+ <p>Multiple Listen directives may be used to specify a number
+ of addresses and ports to listen to. The server will respond to
+ requests from any of the listed addresses and ports.</p>
+
+ <p>For example, to make the server accept connections on both
+ port 80 and port 8000, use:</p>
+<pre>
+ Listen 80
+ Listen 8000
+</pre>
+ To make the server accept connections on two specified
+ interfaces and port numbers, use
+<pre>
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+</pre>
+
+ <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+ Issues</a><br />
+ <strong>See Also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a><br />
+ <strong>See Also:</strong> <a
+ href="http://www.apache.org/info/known_bugs.html#listenbug">Known
+ Bugs</a></p>
+ <hr />
+
+ <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ListenBacklog
+ <em>backlog</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ListenBacklog
+ 511</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ListenBacklog is
+ only available in Apache versions after 1.2.0.
+
+ <p>The maximum length of the queue of pending connections.
+ Generally no tuning is needed or desired, however on some
+ systems it is desirable to increase this when under a TCP SYN
+ flood attack. See the backlog parameter to the
+ <code>listen(2)</code> system call.</p>
+
+ <p>This will often be limited to a smaller number by the
+ operating system. This varies from OS to OS. Also note that
+ many OSes do not use exactly what is specified as the backlog,
+ but use a number based on (but normally larger than) what is
+ set.</p>
+ <hr />
+
+ <h2><a id="location" name="location">&lt;Location&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Location
+ <em>URL-path</em>|<em>URL</em>&gt; ... &lt;/Location&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Location is only
+ available in Apache 1.1 and later.
+
+ <p>The &lt;Location&gt; directive provides for access control
+ by URL. It is similar to the <a
+ href="#directory">&lt;Directory&gt;</a> directive, and starts a
+ subsection which is terminated with a &lt;/Location&gt;
+ directive. <code>&lt;Location&gt;</code> sections are processed
+ in the order they appear in the configuration file, after the
+ &lt;Directory&gt; sections and <code>.htaccess</code> files are
+ read, and after the &lt;Files&gt; sections.</p>
+
+ <p>Note that URLs do not have to line up with the filesystem at
+ all, it should be emphasized that &lt;Location&gt; operates
+ completely outside the filesystem.</p>
+
+ <p>For all origin (non-proxy) requests, the URL to be matched
+ is of the form <code>/path/</code>, and you should not include
+ any <code>http://servername</code> prefix. For proxy requests,
+ the URL to be matched is of the form
+ <code>scheme://servername/path</code>, and you must include the
+ prefix.</p>
+
+ <p>The URL may use wildcards In a wild-card string, `?' matches
+ any single character, and `*' matches any sequences of
+ characters.</p>
+
+ <p><strong>Apache 1.2 and above:</strong> Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Location ~ "/(extra|special)/data"&gt;
+</pre>
+
+ <p>would match URLs that contained the substring "/extra/data"
+ or "/special/data". In Apache 1.3 and above, a new directive <a
+ href="#locationmatch">&lt;LocationMatch&gt;</a> exists which
+ behaves identical to the regex version of
+ <code>&lt;Location&gt;</code>.</p>
+
+ <p>The <code>Location</code> functionality is especially useful
+ when combined with the <code><a
+ href="mod_mime.html#sethandler">SetHandler</a></code>
+ directive. For example, to enable status requests, but allow
+ them only from browsers at foo.com, you might use:</p>
+<pre>
+ &lt;Location /status&gt;
+ SetHandler server-status
+ Order Deny,Allow
+ Deny from all
+ Allow from .foo.com
+ &lt;/Location&gt;
+</pre>
+
+ <p><strong>Apache 1.3 and above note about / (slash)</strong>:
+ The slash character has special meaning depending on where in a
+ URL it appears. People may be used to its behavior in the
+ filesystem where multiple adjacent slashes are frequently
+ collapsed to a single slash (<em>i.e.</em>,
+ <code>/home///foo</code> is the same as
+ <code>/home/foo</code>). In URL-space this is not necessarily
+ true. The <code>&lt;LocationMatch&gt;</code> directive and the
+ regex version of <code>&lt;Location&gt;</code> require you to
+ explicitly specify multiple slashes if that is your intention.
+ For example, <code>&lt;LocationMatch ^/abc&gt;</code> would
+ match the request URL <code>/abc</code> but not the request URL
+ <code>//abc</code>. The (non-regex)
+ <code>&lt;Location&gt;</code> directive behaves similarly when
+ used for proxy requests. But when (non-regex)
+ <code>&lt;Location&gt;</code> is used for non-proxy requests it
+ will implicitly match multiple slashes with a single slash. For
+ example, if you specify <code>&lt;Location /abc/def&gt;</code>
+ and the request is to <code>/abc//def</code> then it will
+ match.</p>
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="locationmatch"
+ name="locationmatch">&lt;LocationMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;LocationMatch
+ <em>regex</em>&gt; ... &lt;/LocationMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LocationMatch is
+ only available in Apache 1.3 and later.
+
+ <p>The &lt;LocationMatch&gt; directive provides for access
+ control by URL, in an identical manner to <a
+ href="#location">&lt;Location&gt;</a>. However, it takes a
+ regular expression as an argument instead of a simple string.
+ For example:</p>
+<pre>
+ &lt;LocationMatch "/(extra|special)/data"&gt;
+</pre>
+
+ <p>would match URLs that contained the substring "/extra/data"
+ or "/special/data".</p>
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received
+ <hr />
+
+ <h2><a id="lockfile" name="lockfile">LockFile
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LockFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LockFile
+ logs/accept.lock</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The LockFile directive sets the path to the lockfile used
+ when Apache is compiled with either USE_FCNTL_SERIALIZED_ACCEPT
+ or USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally
+ be left at its default value. The main reason for changing it
+ is if the <code>logs</code> directory is NFS mounted, since
+ <strong>the lockfile must be stored on a local disk</strong>.
+ The PID of the main server process is automatically appended to
+ the filename.</p>
+
+ <p><strong>SECURITY:</strong> It is best to avoid putting this
+ file in a world writable directory such as
+ <code>/var/tmp</code> because someone could create a denial of
+ service attack and prevent the server from starting by creating
+ a lockfile with the same name as the one the server will try to
+ create.</p>
+ <hr />
+
+ <h2><a id="loglevel" name="loglevel">LogLevel
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LogLevel
+ <em>level</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LogLevel
+ warn</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LogLevel is only
+ available in 1.3 or later.
+
+ <p>LogLevel adjusts the verbosity of the messages recorded in
+ the error logs (see <a href="#errorlog">ErrorLog</a>
+ directive). The following <em>level</em>s are available, in
+ order of decreasing significance:</p>
+
+ <table>
+ <tr>
+ <th align="LEFT"><strong>Level</strong> </th>
+
+ <th align="LEFT"><strong>Description</strong> </th>
+ </tr>
+
+ <tr>
+ <th>
+ </th>
+
+ <th align="LEFT"><strong>Example</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Emergencies - system is unusable.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Action must be taken immediately.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Critical Conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Error conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Warning conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Normal but significant condition.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Informational.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Debug-level messages</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>When a particular level is specified, messages from all
+ other levels of higher significance will be reported as well.
+ <em>E.g.</em>, when <code>LogLevel info</code> is specified,
+ then messages with log levels of <code>notice</code> and
+ <code>warn</code> will also be posted.</p>
+
+ <p>Using a level of at least <code>crit</code> is
+ recommended.</p>
+ <hr />
+
+ <h2><a id="maxclients" name="maxclients">MaxClients
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxClients
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxClients
+ 256</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxClients directive sets the limit on the number of
+ simultaneous requests that can be supported; not more than this
+ number of child server processes will be created. To configure
+ more than 256 clients, you must edit the HARD_SERVER_LIMIT
+ entry in httpd.h and recompile.</p>
+
+ <p>Any connection attempts over the MaxClients limit will
+ normally be queued, up to a number based on the <a
+ href="#listenbacklog">ListenBacklog</a> directive. Once a child
+ process is freed at the end of a different request, the
+ connection will then be serviced.</p>
+ <hr />
+
+ <h2><a id="maxkeepaliverequests"
+ name="maxkeepaliverequests">MaxKeepAliveRequests
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxKeepAliveRequests
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxKeepAliveRequests 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Only available
+ in Apache 1.2 and later.
+
+ <p>The MaxKeepAliveRequests directive limits the number of
+ requests allowed per connection when <a
+ href="#keepalive">KeepAlive</a> is on. If it is set to
+ "<code>0</code>", unlimited requests will be allowed. We
+ recommend that this setting be kept to a high value for maximum
+ server performance. In Apache 1.1, this is controlled through
+ an option to the KeepAlive directive.</p>
+ <hr />
+
+ <h2><a id="maxrequestsperchild"
+ name="maxrequestsperchild">MaxRequestsPerChild
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxRequestsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxRequestsPerChild 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxRequestsPerChild directive sets the limit on the
+ number of requests that an individual child server process will
+ handle. After MaxRequestsPerChild requests, the child process
+ will die. If MaxRequestsPerChild is 0, then the process will
+ never expire.</p>
+
+ <p>Setting MaxRequestsPerChild to a non-zero limit has two
+ beneficial effects:</p>
+
+ <ul>
+ <li>it limits the amount of memory that process can consume
+ by (accidental) memory leakage;</li>
+
+ <li>by giving processes a finite lifetime, it helps reduce
+ the number of processes when the server load reduces.</li>
+ </ul>
+
+ <p>However, on Win32, It is recommended that this be set to 0.
+ If it is set to a non-zero value, when the request count is
+ reached, the child process exits, and is respawned, at which
+ time it re-reads the configuration files. This can lead to
+ unexpected behavior if you have modified a configuration file,
+ but are not expecting the changes to be applied yet. See also
+ <a href="#threadsperchild">ThreadsPerChild</a>.</p>
+
+ <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
+ the first request is counted towards this limit. In effect, it
+ changes the behavior to limit the number of
+ <em>connections</em> per child.</p>
+ <hr />
+
+ <h2><a id="maxspareservers"
+ name="maxspareservers">MaxSpareServers directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxSpareServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxSpareServers
+ 10</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxSpareServers directive sets the desired maximum
+ number of <em>idle</em> child server processes. An idle process
+ is one which is not handling a request. If there are more than
+ MaxSpareServers idle, then the parent process will kill off the
+ excess processes.</p>
+
+ <p>Tuning of this parameter should only be necessary on very
+ busy sites. Setting this parameter to a large number is almost
+ always a bad idea.</p>
+
+ <p>Note that this is the maximum number of <em>spare</em> servers,
+ not the maximum total number of client requests that can be handled
+ at one time. If you wish to limit that number, see the <a
+ href="#maxclients">MaxClients</a> directive.</p>
+
+ <p>This directive has no effect when used with the Apache Web
+ server on a Microsoft Windows platform.</p>
+
+ <p>See also <a href="#minspareservers">MinSpareServers</a>,
+ <a href="#startservers">StartServers</a>, and <a
+ href="#maxclients">MaxClients</a>.</p>
+ <hr />
+
+ <h2><a id="minspareservers"
+ name="minspareservers">MinSpareServers directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MinSpareServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MinSpareServers
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MinSpareServers directive sets the desired minimum
+ number of <em>idle</em> child server processes. An idle process
+ is one which is not handling a request. If there are fewer than
+ MinSpareServers idle, then the parent process creates new
+ children at a maximum rate of 1 per second.</p>
+
+ <p>Tuning of this parameter should only be necessary on very
+ busy sites. Setting this parameter to a large number is almost
+ always a bad idea.</p>
+
+ <p>Note that setting this directive to some value <i>m</i> ensures
+ that you will always have at least <i>n + m</i> <code>httpd</code>
+ processes running when you have <i>n</i> active client requests.</p>
+
+ <p>This directive has no effect on Microsoft Windows.</p>
+
+ <p>See also <a href="#maxspareservers">MaxSpareServers</a>,
+ <a href="#startservers">StartServers</a>, and <a
+ href="#maxclients">MaxClients</a>.</p>
+ <hr />
+
+ <h2><a id="namevirtualhost"
+ name="namevirtualhost">NameVirtualHost directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> NameVirtualHost
+ <em>addr</em>[:<em>port</em>]<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> NameVirtualHost
+ is only available in Apache 1.3 and later
+
+ <p>The NameVirtualHost directive is a required directive if you
+ want to configure <a href="../vhosts/">name-based virtual
+ hosts</a>.</p>
+
+ <p>Although <em>addr</em> can be hostname it is recommended
+ that you always use an IP address or wildcard,
+ <em>e.g.</em></p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44</code>
+ </blockquote>
+ With the NameVirtualHost directive you specify the IP address
+ on which the server will receive requests for the name-based
+ virtual hosts. This will usually be the address to which your
+ name-based virtual host names resolve. In cases where a
+ firewall or other proxy receives the requests and forwards them
+ on a different IP address to the server, you must specify the
+ IP address of the physical interface on the machine which will
+ be servicing the requests. If you have multiple name-based
+ hosts on multiple addresses, repeat the directive for each
+ address.
+
+ <p>Note: the "main server" and any _default_ servers will
+ <strong>never</strong> be served for a request to a
+ NameVirtualHost IP Address (unless for some reason you specify
+ NameVirtualHost but then don't define any VirtualHosts for that
+ address).</p>
+
+ <p>Optionally you can specify a port number on which the
+ name-based virtual hosts should be used, <em>e.g.</em></p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44:8080</code>
+ </blockquote>
+ In Apache 1.3.13 and greater you can specify a <code>*</code>
+ for the <em>addr</em>. This creates a wildcard NameVirtualHost
+ which will match connections to any address that isn't
+ configured with a more specific NameVirtualHost directive or <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a> section. This is
+ useful if you want only name-based virtual hosts and you don't
+ want to hard-code the server's IP address into the
+ configuration file.
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="options" name="options">Options directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Options
+ [+|-]<em>option</em> [[+|-]<em>option</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The Options directive controls which server features are
+ available in a particular directory.</p>
+
+ <p><em>option</em> can be set to <code>None</code>, in which
+ case none of the extra features are enabled, or one or more of
+ the following:</p>
+
+ <dl>
+ <dt>All</dt>
+
+ <dd>All options except for MultiViews. This is the default
+ setting.</dd>
+
+ <dt>ExecCGI</dt>
+
+ <dd>
+ Execution of CGI scripts is permitted.</dd>
+
+ <dt>FollowSymLinks</dt>
+
+ <dd>
+
+ The server will follow symbolic links in this
+ directory.<br />
+ <strong>Note</strong>: even though the server follows the
+ symlink it does <em>not</em> change the pathname used to
+ match against <code>&lt;Directory&gt;</code> sections.<br />
+ <strong>Note</strong>: this option gets ignored if set
+ inside a &lt;Location&gt; section.</dd>
+
+ <dt>Includes</dt>
+
+ <dd>
+ Server-side includes are permitted.</dd>
+
+ <dt>IncludesNOEXEC</dt>
+
+ <dd>
+
+ Server-side includes are permitted, but the #exec command and
+ #exec CGI are disabled. It is still possible to #include
+ virtual CGI scripts from ScriptAliase'd directories.</dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ If a URL which maps to a directory is requested, and the
+ there is no DirectoryIndex (<em>e.g.</em>, index.html) in
+ that directory, then the server will return a formatted
+ listing of the directory.</dd>
+
+ <dt>MultiViews</dt>
+
+ <dd>
+ <a href="../content-negotiation.html">Content negotiated</a>
+ MultiViews are allowed.</dd>
+
+ <dt>SymLinksIfOwnerMatch</dt>
+
+ <dd>
+
+ The server will only follow symbolic links for which the
+ target file or directory is owned by the same user id as the
+ link.<br />
+ <strong>Note</strong>: this option gets ignored if set
+ inside a &lt;Location&gt; section.</dd>
+ </dl>
+ Normally, if multiple <code>Options</code> could apply to a
+ directory, then the most specific one is taken complete; the
+ options are not merged. However if <em>all</em> the options on
+ the <code>Options</code> directive are preceded by a + or -
+ symbol, the options are merged. Any options preceded by a + are
+ added to the options currently in force, and any options
+ preceded by a - are removed from the options currently in
+ force.
+
+ <p>For example, without any + and - symbols:</p>
+
+ <blockquote>
+ <code>&lt;Directory /web/docs&gt;<br />
+ Options Indexes FollowSymLinks<br />
+ &lt;/Directory&gt;<br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ Options Includes<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ then only <code>Includes</code> will be set for the
+ /web/docs/spec directory. However if the second
+ <code>Options</code> directive uses the + and - symbols:
+
+ <blockquote>
+ <code>&lt;Directory /web/docs&gt;<br />
+ Options Indexes FollowSymLinks<br />
+ &lt;/Directory&gt;<br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ Options +Includes -Indexes<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ then the options <code>FollowSymLinks</code> and
+ <code>Includes</code> are set for the /web/docs/spec directory.
+
+
+ <p><strong>Note:</strong> Using <code>-IncludesNOEXEC</code> or
+ <code>-Includes</code> disables server-side includes completely
+ regardless of the previous setting.</p>
+
+ <p>The default in the absence of any other settings is
+ <code>All</code>.</p>
+ <hr />
+
+ <h2><a id="pidfile" name="pidfile">PidFile directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> PidFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>PidFile
+ logs/httpd.pid</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The PidFile directive sets the file to which the server
+ records the process id of the daemon. If the filename does not
+ begin with a slash (/) then it is assumed to be relative to the
+ <a href="#serverroot">ServerRoot</a>. The PidFile is only used
+ in <a href="#servertype">standalone</a> mode.</p>
+
+ <p>It is often useful to be able to send the server a signal,
+ so that it closes and then reopens its <a
+ href="#errorlog">ErrorLog</a> and TransferLog, and re-reads its
+ configuration files. This is done by sending a SIGHUP (kill -1)
+ signal to the process id listed in the PidFile.</p>
+
+ <p>The PidFile is subject to the same warnings about log file
+ placement and <a
+ href="../misc/security_tips.html#serverroot">security</a>.</p>
+ <hr />
+
+ <h2><a id="port" name="port">Port directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Port
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>Port
+ 80</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p><em>Number</em> is a number from 0 to 65535; some port
+ numbers (especially below 1024) are reserved for particular
+ protocols. See <code>/etc/services</code> for a list of some
+ defined ports; the standard port for the http protocol is
+ 80.</p>
+
+ <p>The Port directive has two behaviors, the first of which is
+ necessary for NCSA backwards compatibility (and which is
+ confusing in the context of Apache).</p>
+
+ <ul>
+ <li>In the absence of any <a href="#listen">Listen</a> or <a
+ href="#bindaddress">BindAddress</a> directives specifying a
+ port number, a Port directive given in the "main server"
+ (<em>i.e.</em>, outside any <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a> section) sets the
+ network port on which the server listens. If there are any
+ Listen or BindAddress directives specifying
+ <code>:number</code> then Port has no effect on what address
+ the server listens at.</li>
+
+ <li>The Port directive sets the <code>SERVER_PORT</code>
+ environment variable (for <a href="mod_cgi.html">CGI</a> and
+ <a href="mod_include.html">SSI</a>), and is used when the
+ server must generate a URL that refers to itself (for example
+ when creating an external redirect to itself). This behavior
+ is modified by <a
+ href="#usecanonicalname">UseCanonicalName</a>.</li>
+ </ul>
+ The primary behavior of Port should be considered to be
+ similar to that of the <a href="#servername">ServerName</a>
+ directive. The ServerName and Port together specify what you
+ consider to be the <em>canonical</em> address of the server.
+ (See also <a href="#usecanonicalname">UseCanonicalName</a>.)
+
+ <p>Port 80 is one of Unix's special ports. All ports numbered
+ below 1024 are reserved for system use, <em>i.e.</em>, regular
+ (non-root) users cannot make use of them; instead they can only
+ use higher port numbers. To use port 80, you must start the
+ server from the root account. After binding to the port and
+ before accepting requests, Apache will change to a low
+ privileged user as set by the <a href="#user">User
+ directive</a>.</p>
+
+ <p>If you cannot use port 80, choose any other unused port.
+ Non-root users will have to choose a port number higher than
+ 1023, such as 8000.</p>
+
+ <p>SECURITY: if you do start the server as root, be sure not to
+ set <a href="#user">User</a> to root. If you run the server as
+ root whilst handling connections, your site may be open to a
+ major security attack.</p>
+ <hr />
+
+ <h2><a id="require" name="require">Require directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Require
+ <em>entity-name</em> [<em>entity-name</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive selects which authenticated users can access
+ a directory. The allowed syntaxes are:</p>
+
+ <ul>
+ <li>
+ Require user <em>userid</em> [<em>userid</em>] ...
+
+ <p>Only the named users can access the directory.</p>
+ </li>
+
+ <li>
+ Require group <em>group-name</em> [<em>group-name</em>] ...
+
+
+ <p>Only users in the named groups can access the
+ directory.</p>
+ </li>
+
+ <li>
+ Require valid-user
+
+ <p>All valid users can access the directory.</p>
+ </li>
+ </ul>
+
+ <p>Require must be accompanied by <a
+ href="#authname">AuthName</a> and <a
+ href="#authtype">AuthType</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> (to define
+ users and groups) in order to work correctly. Example:</p>
+
+ <blockquote>
+ <code>AuthType Basic<br />
+ AuthName "Restricted Directory"<br />
+ AuthUserFile /web/users<br />
+ AuthGroupFile /web/groups<br />
+ Require group admin<br />
+ </code>
+ </blockquote>
+ Access controls which are applied in this way are effective for
+ <strong>all</strong> methods. <strong>This is what is normally
+ desired.</strong> If you wish to apply access controls only to
+ specific methods, while leaving other methods unprotected, then
+ place the <code>Require</code> statement into a <a
+ href="#limit">&lt;Limit&gt;</a> section
+
+ <p>See also <a href="#satisfy">Satisfy</a> and <a
+ href="mod_access.html">mod_access</a>.</p>
+ <hr />
+
+ <h2><a id="resourceconfig" name="resourceconfig">ResourceConfig
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ResourceConfig
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ResourceConfig
+ conf/srm.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The ability to
+ specify a directory, rather than a file name, is only available in
+ Apache 1.3.13 and later.
+
+ <p>The server will read this file for more directives after
+ reading the httpd.conf file. <em>File-path</em> is relative to
+ the <a href="#serverroot">ServerRoot</a>. This feature can be
+ disabled using:</p>
+
+ <blockquote>
+ <code>ResourceConfig /dev/null</code>
+ </blockquote>
+ Or, on Win32 servers,
+
+ <blockquote>
+ <code>ResourceConfig nul</code>
+ </blockquote>
+ <p>Historically, this file contained most directives except for
+ server configuration directives and <a
+ href="#directory">&lt;Directory&gt;</a> sections; in fact it
+ can now contain any server directive allowed in the <em>server
+ config</em> context. However, since Apache version 1.3.4, the
+ default <code>srm.conf</code> file which ships with Apache contains
+ only comments, and all directives are placed in the main server
+ configuration file, <code>httpd.conf</code>.</p>
+
+ <p>If <code>ResourceConfig</code> points to a directory, rather than
+ a file, Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files. Note that
+ <emph>any</emph> file in the specified directory will be loaded as a
+ configuration file, so make sure that you don't have any stray files
+ in this directory by mistake, such as temporary files created by
+ your editor, for example.</p>
+
+ <p>See also <a href="#accessconfig">AccessConfig</a>.</p>
+ <hr />
+
+ <h2><a id="rlimit" name="rlimit">RLimitCPU</a> <a
+ id="rlimitcpu" name="rlimitcpu">directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitCPU
+ <em>number</em>|max [<em>number</em>|max] <br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitCPU is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>CPU resource limits are expressed in seconds per
+ process.</p>
+
+ <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitmem" name="rlimitmem">RLimitMEM
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitMEM
+ <em>number</em>|max [<em>number</em>|max]<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitMEM is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>Memory resource limits are expressed in bytes per
+ process.</p>
+
+ <p>See also <a href="#rlimitcpu">RLimitCPU</a> or <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitnproc" name="rlimitnproc">RLimitNPROC
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitNPROC
+ <em>number</em>|max [<em>number</em>|max]<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitNPROC is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>Process limits control the number of processes per user.</p>
+
+ <p>Note: If CGI processes are <strong>not</strong> running
+ under userids other than the web server userid, this directive
+ will limit the number of processes that the server itself can
+ create. Evidence of this situation will be indicated by
+ <strong><em>cannot fork</em></strong> messages in the
+ error_log.</p>
+
+ <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+ href="#rlimitcpu">RLimitCPU</a>.</p>
+ <hr />
+
+ <h2><a id="satisfy" name="satisfy">Satisfy directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Satisfy any|all<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> Satisfy all<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Satisfy is only
+ available in Apache 1.2 and later
+
+ <p>Access policy if both <code>Allow</code> and
+ <code>Require</code> used. The parameter can be either
+ <em>'all'</em> or <em>'any'</em>. This directive is only useful
+ if access to a particular area is being restricted by both
+ username/password <em>and</em> client host address. In this
+ case the default behavior ("all") is to require that the client
+ passes the address access restriction <em>and</em> enters a
+ valid username and password. With the "any" option the client
+ will be granted access if they either pass the host restriction
+ or enter a valid username and password. This can be used to
+ password restrict an area, but to let clients from particular
+ addresses in without prompting for a password.</p>
+
+ <p>See also <a href="#require">Require</a> and <a
+ href="mod_access.html#allow">Allow</a>.</p>
+ <hr />
+
+ <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ScoreBoardFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ScoreBoardFile
+ logs/apache_status</code> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ScoreBoardFile directive is required on some
+ architectures to place a file that the server will use to
+ communicate between its children and the parent. The easiest
+ way to find out if your architecture requires a scoreboard file
+ is to run Apache and see if it creates the file named by the
+ directive. If your architecture requires it then you must
+ ensure that this file is not used at the same time by more than
+ one invocation of Apache.</p>
+
+ <p>If you have to use a ScoreBoardFile then you may see
+ improved speed by placing it on a RAM disk. But be careful that
+ you heed the same warnings about log file placement and <a
+ href="../misc/security_tips.html">security</a>.</p>
+
+ <p>Apache 1.2 and above:</p>
+
+ <p>Linux 1.x users might be able to add <code>-DHAVE_SHMGET
+ -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+ in your <code>Configuration</code>. This might work with some
+ 1.x installations, but won't work with all of them. (Prior to
+ 1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+ <p>SVR4 users should consider adding <code>-DHAVE_SHMGET
+ -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+ in your <code>Configuration</code>. This is believed to work,
+ but we were unable to test it in time for 1.2 release. (Prior
+ to 1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+ <p><strong>See Also</strong>: <a
+ href="../stopping.html">Stopping and Restarting Apache</a></p>
+ <hr />
+
+ <h2><a id="scriptinterpretersource"
+ name="scriptinterpretersource">ScriptInterpreterSource
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ScriptInterpreterSource
+ registry|script<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>ScriptInterpreterSource script</code> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (Windows only)
+
+ <p>This directive is used to control how Apache 1.3.5 and later
+ finds the interpreter used to run CGI scripts. The default
+ technique is to use the interpreter pointed to by the #! line
+ in the script. Setting ScriptInterpreterSource registry will
+ cause the Windows Registry to be searched using the script file
+ extension (e.g., .pl) as a search key.</p>
+ <hr />
+
+ <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SendBufferSize
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The server will set the TCP buffer size to the number of
+ bytes specified. Very useful to increase past standard OS
+ defaults on high speed high latency (<em>i.e.</em>, 100ms or
+ so, such as transcontinental fast pipes)</p>
+ <hr />
+
+ <h2><a id="serveradmin" name="serveradmin">ServerAdmin
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerAdmin
+ <em>email-address</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerAdmin sets the e-mail address that the server
+ includes in any error messages it returns to the client.</p>
+
+ <p>It may be worth setting up a dedicated address for this,
+ <em>e.g.</em></p>
+
+ <blockquote>
+ <code>ServerAdmin www-admin@foo.bar.com</code>
+ </blockquote>
+ as users do not always mention that they are talking about the
+ server!
+ <hr />
+
+ <h2><a id="serveralias" name="serveralias">ServerAlias
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerAlias
+ <em>hostname</em> [<em>hostname</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> virtual host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerAlias is
+ only available in Apache 1.1 and later.
+
+ <p>The ServerAlias directive sets the alternate names for a
+ host, for use with <a
+ href="../vhosts/name-based.html">name-based virtual
+ hosts</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="servername" name="servername">ServerName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerName
+ <em>fully-qualified-domain-name</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerName directive sets the hostname of the server;
+ this is used when creating redirection URLs. If it is not
+ specified, then the server attempts to deduce it from its own
+ IP address; however this may not work reliably, or may not
+ return the preferred hostname. For example:</p>
+
+ <blockquote>
+ <code>ServerName www.example.com</code>
+ </blockquote>
+ would be used if the canonical (main) name of the actual
+ machine were <code>simple.example.com</code>.
+
+ <p>If you are using <a
+ href="../vhosts/name-based.html">name-based virtual hosts</a>,
+ the <code>ServerName</code> inside a <a
+ href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a>
+ section specifies what hostname must appear in the request's
+ <code>Host:</code> header to match this virtual host.</p>
+
+ <p><strong>See Also</strong>:<br />
+ <a href="../dns-caveats.html">DNS Issues</a><br />
+ <a href="../vhosts/">Apache virtual host
+ documentation</a><br />
+ <a href="#usecanonicalname">UseCanonicalName</a><br />
+ <a href="#namevirtualhost">NameVirtualHost</a><br />
+ <a href="#serveralias">ServerAlias</a><br />
+ </p>
+ <hr />
+
+ <h2><a id="serverpath" name="serverpath">ServerPath
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerPath
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> virtual host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerPath is
+ only available in Apache 1.1 and later.
+
+ <p>The ServerPath directive sets the legacy URL pathname for a
+ host, for use with <a href="../vhosts/">name-based virtual
+ hosts</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="serverroot" name="serverroot">ServerRoot
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerRoot
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerRoot
+ /usr/local/apache</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerRoot directive sets the directory in which the
+ server lives. Typically it will contain the subdirectories
+ <code>conf/</code> and <code>logs/</code>. Relative paths for
+ other configuration files are taken as relative to this
+ directory.</p>
+
+ <p>See also <a href="../invoking.html">the <code>-d</code>
+ option to httpd</a>.</p>
+
+ <p>See also <a href="../misc/security_tips.html#serverroot">the
+ security tips</a> for information on how to properly set
+ permissions on the ServerRoot.</p>
+ <hr />
+
+ <h2><a id="serversignature"
+ name="serversignature">ServerSignature directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerSignature
+ On|Off|EMail<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerSignature
+ Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerSignature
+ is only available in Apache 1.3 and later.
+
+ <p>The ServerSignature directive allows the configuration of a
+ trailing footer line under server-generated documents (error
+ messages, mod_proxy ftp directory listings, mod_info output,
+ ...). The reason why you would want to enable such a footer
+ line is that in a chain of proxies, the user often has no
+ possibility to tell which of the chained servers actually
+ produced a returned error message.<br />
+ The <samp>Off</samp> setting, which is the default, suppresses
+ the error line (and is therefore compatible with the behavior
+ of Apache-1.2 and below). The <samp>On</samp> setting simply
+ adds a line with the server version number and <a
+ href="#servername">ServerName</a> of the serving virtual host,
+ and the <samp>EMail</samp> setting additionally creates a
+ "mailto:" reference to the <a
+ href="#serveradmin">ServerAdmin</a> of the referenced
+ document.</p>
+ <hr />
+
+ <h2><a id="servertokens" name="servertokens">ServerTokens
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerTokens
+ Minimal|ProductOnly|OS|Full<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerTokens
+ Full</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config <br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerTokens is
+ only available in Apache 1.3 and later; the
+ <code>ProductOnly</code> keyword is only available in versions
+ later than 1.3.12
+
+ <p>This directive controls whether <samp>Server</samp> response
+ header field which is sent back to clients includes a
+ description of the generic OS-type of the server as well as
+ information about compiled-in modules.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server:
+ Apache</samp></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server:
+ Apache/1.3.0</samp></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+ (Unix)</samp></dd>
+
+ <dt><code>ServerTokens Full</code> (or not specified)</dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+ (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+ </dl>
+
+ <p>This setting applies to the entire server, and cannot be
+ enabled or disabled on a virtualhost-by-virtualhost basis.</p>
+ <hr />
+
+ <h2><a id="servertype" name="servertype">ServerType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerType
+ <em>type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerType
+ standalone</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerType directive sets how the server is executed by
+ the system. <em>Type</em> is one of</p>
+
+ <dl>
+ <dt>inetd</dt>
+
+ <dd>The server will be run from the system process inetd; the
+ command to start the server is added to
+ <code>/etc/inetd.conf</code></dd>
+
+ <dt>standalone</dt>
+
+ <dd>The server will run as a daemon process; the command to
+ start the server is added to the system startup scripts.
+ (<code>/etc/rc.local</code> or
+ <code>/etc/rc3.d/...</code>.)</dd>
+ </dl>
+ Inetd is the lesser used of the two options. For each http
+ connection received, a new copy of the server is started from
+ scratch; after the connection is complete, this program exits.
+ There is a high price to pay per connection, but for security
+ reasons, some admins prefer this option. <font
+ color="red">Inetd mode is no longer recommended and does not
+ always work properly. Avoid it if at all possible.</font>
+
+ <p>Standalone is the most common setting for ServerType since
+ it is far more efficient. The server is started once, and
+ services all subsequent connections. If you intend running
+ Apache to serve a busy site, standalone will probably be your
+ only option.</p>
+ <hr />
+
+ <h2><a id="startservers" name="startservers">StartServers
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> StartServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>StartServers
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The StartServers directive sets the number of child server
+ processes created on startup. As the number of processes is
+ dynamically controlled depending on the load, there is usually
+ little reason to adjust this parameter.</p>
+
+ <p>When running under Microsoft Windows, this directive has no
+ effect. There is always one child which handles all requests.
+ Within the child requests are handled by separate threads. The
+ <a href="#threadsperchild">ThreadsPerChild</a> directive
+ controls the maximum number of child threads handling requests,
+ which will have a similar effect to the setting of
+ <samp>StartServers</samp> on Unix.</p>
+
+ <p>See also <a href="#minspareservers">MinSpareServers</a> and
+ <a href="#maxspareservers">MaxSpareServers</a>.</p>
+ <hr />
+
+ <h2><a id="threadsperchild"
+ name="threadsperchild">ThreadsPerChild</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ThreadsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ThreadsPerChild
+ 50</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (Windows,
+ NetWare)<br />
+ <strong>Compatibility:</strong> Available only with Apache 1.3
+ and later with Windows
+
+ <p>This directive tells the server how many threads it should
+ use. This is the maximum number of connections the server can
+ handle at once; be sure and set this number high enough for
+ your site if you get a lot of hits.</p>
+
+ <p>This directive has no effect on Unix systems. Unix users
+ should look at <a href="#startservers">StartServers</a> and <a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a>.</p>
+ <hr />
+
+ <h2><a id="threadstacksize"
+ name="threadstacksize">ThreadStackSize</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ThreadStackSize
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ThreadStackSize
+ 65536</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (NetWare)<br />
+ <strong>Compatibility:</strong> Available only with Apache 1.3
+ and later with NetWare
+
+ <p>This directive tells the server what stack size to use for
+ each of the running threads. If you ever get a stack overflow
+ you will need to bump this number to a higher setting.</p>
+
+ <p>This directive has no effect on other systems.</p>
+ <hr />
+
+ <h2><a id="timeout" name="timeout">TimeOut directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> TimeOut
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>TimeOut
+ 300</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The TimeOut directive currently defines the amount of time
+ Apache will wait for three things:</p>
+
+ <ol>
+ <li>The total amount of time it takes to receive a GET
+ request.</li>
+
+ <li>The amount of time between receipt of TCP packets on a
+ POST or PUT request.</li>
+
+ <li>The amount of time between ACKs on transmissions of TCP
+ packets in responses.</li>
+ </ol>
+ We plan on making these separately configurable at some point
+ down the road. The timer used to default to 1200 before 1.2,
+ but has been lowered to 300 which is still far more than
+ necessary in most situations. It is not set any lower by
+ default because there may still be odd places in the code where
+ the timer is not reset when a packet is sent.
+ <hr />
+
+ <h2><a id="usecanonicalname"
+ name="usecanonicalname">UseCanonicalName directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> UseCanonicalName
+ on|off|dns<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>UseCanonicalName
+ on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> UseCanonicalName
+ is only available in Apache 1.3 and later
+
+ <p>In many situations Apache has to construct a
+ <em>self-referential</em> URL. That is, a URL which refers back
+ to the same server. With <code>UseCanonicalName on</code> (and
+ in all versions prior to 1.3) Apache will use the <a
+ href="#servername">ServerName</a> and <a href="#port">Port</a>
+ directives to construct a canonical name for the server. This
+ name is used in all self-referential URLs, and for the values
+ of <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in
+ CGIs.</p>
+
+ <p>With <code>UseCanonicalName off</code> Apache will form
+ self-referential URLs using the hostname and port supplied by
+ the client if any are supplied (otherwise it will use the
+ canonical name). These values are the same that are used to
+ implement <a href="../vhosts/name-based.html">name based
+ virtual hosts</a>, and are available with the same clients. The
+ CGI variables <code>SERVER_NAME</code> and
+ <code>SERVER_PORT</code> will be constructed from the client
+ supplied values as well.</p>
+
+ <p>An example where this may be useful is on an intranet server
+ where you have users connecting to the machine using short
+ names such as <code>www</code>. You'll notice that if the users
+ type a shortname, and a URL which is a directory, such as
+ <code>http://www/splat</code>, <em>without the trailing
+ slash</em> then Apache will redirect them to
+ <code>http://www.domain.com/splat/</code>. If you have
+ authentication enabled, this will cause the user to have to
+ reauthenticate twice (once for <code>www</code> and once again
+ for <code>www.domain.com</code>). But if
+ <code>UseCanonicalName</code> is set off, then Apache will
+ redirect to <code>http://www/splat/</code>.</p>
+
+ <p>There is a third option, <code>UseCanonicalName DNS</code>,
+ which is intended for use with mass IP-based virtual hosting to
+ support ancient clients that do not provide a
+ <code>Host:</code> header. With this option Apache does a
+ reverse DNS lookup on the server IP address that the client
+ connected to in order to work out self-referential URLs.</p>
+
+ <p><strong>Warning:</strong> if CGIs make assumptions about the
+ values of <code>SERVER_NAME</code> they may be broken by this
+ option. The client is essentially free to give whatever value
+ they want as a hostname. But if the CGI is only using
+ <code>SERVER_NAME</code> to construct self-referential URLs
+ then it should be just fine.</p>
+
+ <p><strong>See also:</strong> <a
+ href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+ <hr />
+
+ <h2><a id="user" name="user">User directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> User
+ <em>unix-userid</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>User
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The User directive sets the userid as which the server will
+ answer requests. In order to use this directive, the standalone
+ server must be run initially as root. <em>Unix-userid</em> is
+ one of:</p>
+
+ <dl>
+ <dt>A username</dt>
+
+ <dd>Refers to the given user by name.</dd>
+
+ <dt># followed by a user number.</dt>
+
+ <dd>Refers to a user by their number.</dd>
+ </dl>
+ The user should have no privileges which result in it being
+ able to access files which are not intended to be visible to
+ the outside world, and similarly, the user should not be able
+ to execute code which is not meant for httpd requests. It is
+ recommended that you set up a new user and group specifically
+ for running the server. Some admins use user
+ <code>nobody</code>, but this is not always possible or
+ desirable. For example mod_proxy's cache, when enabled, must be
+ accessible to this user (see the <a
+ href="mod_proxy.html#cacheroot"><code>CacheRoot</code>
+ directive</a>).
+
+ <p>Notes: If you start the server as a non-root user, it will
+ fail to change to the lesser privileged user, and will instead
+ continue to run as that original user. If you do start the
+ server as root, then it is normal for the parent process to
+ remain running as root.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+ requires a properly configured <a href="../suexec.html">suEXEC
+ wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+ manner, only the user that CGIs are run as is affected. Non-CGI
+ requests are still processed with the user specified in the
+ main User directive.</p>
+
+ <p>SECURITY: Don't set User (or <a href="#group">Group</a>) to
+ <code>root</code> unless you know exactly what you are doing,
+ and what the dangers are.</p>
+ <hr />
+
+ <h2><a id="virtualhost" name="virtualhost">&lt;VirtualHost&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;VirtualHost
+ <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
+ ...&gt; ... &lt;/VirtualHost&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Non-IP
+ address-based Virtual Hosting only available in Apache 1.1 and
+ later.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Multiple address
+ support only available in Apache 1.2 and later.
+
+ <p>&lt;VirtualHost&gt; and &lt;/VirtualHost&gt; are used to
+ enclose a group of directives which will apply only to a
+ particular virtual host. Any directive which is allowed in a
+ virtual host context may be used. When the server receives a
+ request for a document on a particular virtual host, it uses
+ the configuration directives enclosed in the
+ &lt;VirtualHost&gt; section. <em>Addr</em> can be</p>
+
+ <ul>
+ <li>The IP address of the virtual host</li>
+
+ <li>A fully qualified domain name for the IP address of the
+ virtual host.</li>
+ </ul>
+ Example:
+
+ <blockquote>
+ <code>&lt;VirtualHost 10.1.2.3&gt;<br />
+ ServerAdmin webmaster@host.foo.com<br />
+ DocumentRoot /www/docs/host.foo.com<br />
+ ServerName host.foo.com<br />
+ ErrorLog logs/host.foo.com-error_log<br />
+ TransferLog logs/host.foo.com-access_log<br />
+ &lt;/VirtualHost&gt;</code>
+ </blockquote>
+ Each VirtualHost must correspond to a different IP address,
+ different port number or a different host name for the server,
+ in the former case the server machine must be configured to
+ accept IP packets for multiple addresses. (If the machine does
+ not have multiple network interfaces, then this can be
+ accomplished with the <code>ifconfig alias</code> command (if
+ your OS supports it), or with kernel patches like <a
+ href="../misc/vif-info.html">VIF</a> (for SunOS(TM) 4.1.x)).
+
+ <p>You can specify more than one IP address. This is useful if
+ a machine responds to the same name on two different
+ interfaces. For example, if you have a VirtualHost that is
+ available to hosts on an internal (intranet) as well as
+ external (internet) network. Example:</p>
+
+ <blockquote>
+ <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+ DocumentRoot /www/docs/host.foo.com<br />
+ ServerName host.foo.com<br />
+ ServerAlias host<br />
+ &lt;/VirtualHost&gt;</code>
+ </blockquote>
+ The special name <code>_default_</code> can be specified in
+ which case this virtual host will match any IP address that is
+ not explicitly listed in another virtual host. In the absence
+ of any _default_ virtual host the "main" server config,
+ consisting of all those definitions outside any VirtualHost
+ section, is used when no match occurs.
+
+ <p>You can specify a <code>:port</code> to change the port that
+ is matched. If unspecified then it defaults to the same port as
+ the most recent <code><a href="#port">Port</a></code> statement
+ of the main server. You may also specify <code>:*</code> to
+ match all ports on that address. (This is recommended when used
+ with <code>_default_</code>.)</p>
+
+ <p><strong>SECURITY</strong>: See the <a
+ href="../misc/security_tips.html">security tips</a> document
+ for details on why your security could be compromised if the
+ directory where logfiles are stored is writable by anyone other
+ than the user that starts the server.</p>
+
+ <p><strong>NOTE</strong>: The use of &lt;VirtualHost&gt; does
+ <strong>not</strong> affect what addresses Apache listens on.
+ You may need to ensure that Apache is listening on the correct
+ addresses using either <a href="#bindaddress">BindAddress</a>
+ or <a href="#listen">Listen</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a><br />
+ <strong>See also:</strong> <a
+ href="../dns-caveats.html">Warnings about DNS and
+ Apache</a><br />
+ <strong>See also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a><br />
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/core.html.fr b/usr.sbin/httpd/htdocs/manual/mod/core.html.fr
new file mode 100644
index 00000000000..c7c3ebed50b
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/core.html.fr
@@ -0,0 +1,4115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.190 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Noyau d'Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="center">Noyau d'Apache</h1>
+
+ <p>Ces param&egrave;tres de configuration contr&ocirc;lent les
+ fonctionnalit&eacute;s premi&egrave;res d'Apache, et sont
+ toujours disponibles.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="#accessconfig">AccessConfig</a></li>
+
+ <li><a href="#accessfilename">AccessFileName</a></li>
+
+ <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a href="#addmodule">AddModule</a></li>
+
+ <li><a href="#allowoverride">AllowOverride</a></li>
+
+ <li><a href="#authname">AuthName</a></li>
+
+ <li><a href="#authtype">AuthType</a></li>
+
+ <li><a href="#bindaddress">BindAddress</a></li>
+
+ <li><a href="#bs2000account">BS2000Account</a></li>
+
+ <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="#contentdigest">ContentDigest</a></li>
+
+ <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a href="#defaulttype">DefaultType</a></li>
+
+ <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+ <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a href="#documentroot">DocumentRoot</a></li>
+
+ <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="#errordocument">ErrorDocument</a></li>
+
+ <li><a href="#errorlog">ErrorLog</a></li>
+
+ <li><a href="#files">&lt;Files&gt;</a></li>
+
+ <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="#group">Group</a></li>
+
+ <li><a href="#hostnamelookups">HostNameLookups</a></li>
+
+ <li><a href="#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="#include">Include</a></li>
+
+ <li><a href="#keepalive">KeepAlive</a></li>
+
+ <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+ <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="#listen">Listen</a></li>
+
+ <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="#location">&lt;Location&gt;</a></li>
+
+ <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="#lockfile">LockFile</a></li>
+
+ <li><a href="#loglevel">LogLevel</a></li>
+
+ <li><a href="#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="#options">Options</a></li>
+
+ <li><a href="#pidfile">PidFile</a></li>
+
+ <li><a href="#port">Port</a></li>
+
+ <li><a href="#require">require</a></li>
+
+ <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+ <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="#satisfy">Satisfy</a></li>
+
+ <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a
+ href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="#serveralias">ServerAlias</a></li>
+
+ <li><a href="#servername">ServerName</a></li>
+
+ <li><a href="#serverpath">ServerPath</a></li>
+
+ <li><a href="#serverroot">ServerRoot</a></li>
+
+ <li><a href="#serversignature">ServerSignature</a></li>
+
+ <li><a href="#servertokens">ServerTokens</a></li>
+
+ <li><a href="#servertype">ServerType</a></li>
+
+ <li><a href="#startservers">StartServers</a></li>
+
+ <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+ <li><a href="#timeout">TimeOut</a></li>
+
+ <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="#user">User</a></li>
+
+ <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+ </ul>
+
+ <h2><a id="acceptfilter" name="acceptfilter">Directive
+ AcceptFilter</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AcceptFilter} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AcceptFilter on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>AccceptFilter on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> server configt<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> core
+
+ <p><code>AcceptFilter</code> contr&ocirc;le une optimisation
+ sp&eacute;cifique &agrave; BSD. Elle est compil&eacute;e par
+ d&eacute;faut et activ&eacute;e par d&eacute;faut si votre
+ syst&egrave;me l'impl&eacute;mente (option SO_ACCCEPTFILTER de
+ setsocketopt()). A l'heure actuelle, seul FreeBSD
+ l'impl&eacute;mente.</p>
+
+ <p>Se r&eacute;f&eacute;rer &agrave; la section concernant les
+ filtres dans la <a href="misc/perf-bsd44.html">documentation
+ sur la performance</a> pour de plus amples informations.</p>
+
+ <p>L'option de compilation <code>AP_ACCEPTFILTER_OFF</code>
+ peut &ecirc;tre utilis&eacute;e pour changer le d&eacute;faut
+ &agrave; 'off'. <code>httpd -V</code> et <code>httpd -L</code>
+ affichent dor&eacute;navant les valeurs par d&eacute;fauts au
+ moment de la compilation, et si oui ou non SO_ACCEPTFILTER a
+ &eacute;t&eacute; d&eacute;fini pour cette compilation.</p>
+ <hr />
+ <!-- XXX translate a name="accessconfig" / Directive AccessConfig
+ -->
+
+ <h2><a id="accessconfig" name="accessconfig">Directive
+ AccessConfig</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AccessConfig} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AccessConfig
+ <em>nomfichier|nomr&eacute;pertoire</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>AccessConfig conf/access.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> configuration serveur,
+ h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Le serveur lit dans ce fichier des directives
+ suppl&eacute;mentaires apr&egrave;s avoir ouvert le fichier <a
+ href="#resourceconfig">ResourceConfig</a>. <em>nomfichier</em>
+ est exprim&eacute; relativement &agrave; <a
+ href="#serverroot">ServerRoot</a>. Cette fonctionnalit&eacute;
+ peut &ecirc;tre d&eacute;sactiv&eacute;e en &eacute;crivant
+ :</p>
+
+ <blockquote>
+ <code>AccessConfig /dev/null</code>
+ </blockquote>
+ ou sur les serverus Win32
+
+ <blockquote>
+ <code>AccessConfig nul</code>
+ </blockquote>
+
+ <p>Historiquement, ce fichier ne contenait que des sections <a
+ href="#directory">&lt;Directory&gt;</a>; en fait, il pourra
+ maintenant contenir toute directive "serveur" autoris&eacute;e
+ dans le contexte de la <em>configuration serveur</em>.</p>
+
+ <p>Une nouveaut&eacute; de la version d'Apache 1.3.13 est la
+ possibilit&eacute; qu'<code>AccessConfig</code>
+ repr&eacute;sente un r&eacute;pertoire plutot qu'un fichier.
+ Apache lira tous les fichiers de ce r&eacute;pertoire ainsi que
+ tous les sous-r&eacute;pertoires et analysera tous ces fichiers
+ de configuration.</p>
+
+ <p>Voir &eacute;galement <a
+ href="#resourceconfig">ResourceConfig</a>.</p>
+ <hr />
+
+ <h2><a id="accessfilename" name="accessfilename">Directive
+ AccessFileName</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AccessFileName} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AccessFileName <em>nomfichier</em>
+ [<em>nomfichier</em>] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>AccessFileName .htaccess</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> configuration serveur,
+ h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ AccessFileName ne peut accepter plusieurs noms de fichiers
+ qu'&agrave; partir de la version 1.3 d'Apache
+
+ <p>Lorsqu'il retourne un document au client, le serveur cherche
+ le premier fichier de contr&ocirc;le d'acc&egrave;s existant
+ dans cette liste dans chacun des r&eacute;pertoires inscrit
+ dans le chemin d'acc&egrave;s menant au document, pour
+ d&eacute;terminer si l'acc&egrave;s est autoris&eacute; dan
+ chacun de ces r&eacute;pertoires. Par exemple:</p>
+
+ <blockquote>
+ <code>AccessFileName .acl</code>
+ </blockquote>
+
+ <p>Avant de servir le document
+ <code>/usr/local/web/index.html</code>, le serveur lira les
+ fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
+ <code>/usr/local/.acl</code> et
+ <code>/usr/local/web/.acl</code> &agrave; la recherche de
+ directives, sauf si celles-ci ont &eacute;t&eacute;
+ d&eacute;sactiv&eacute;es par l'&eacute;criture</p>
+
+ <blockquote>
+ <code>&lt;Directory /&gt; AllowOverride None
+ &lt;/Directory&gt;</code>
+ </blockquote>
+
+ <p><strong>Voir &eacute;galement :</strong> <a
+ href="#allowoverride">AllowOverride</a></p>
+ <hr />
+
+ <h2><a id="adddefaultcharset"
+ name="adddefaultcharset">Directive AddDefaultCharset</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AddDefaultCharset On|Off|<em>charset</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> tous<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>AddDefaultCharset Off</code><br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ AddDefaultCharset n'est disponible qu'&agrave; partir de la
+ version 1.3.12
+
+ <p>Cette directive sp&eacute;cifie le nom de la table de
+ caract&egrave;res qui sera ajout&eacute; &agrave; toutes les
+ r&eacute;ponses qui n'ont aucun param&egrave;tre sur le type de
+ contenu dans l'en-t&ecirc;te HTTP. Elle remplace la table de
+ caract&egrave;re sp&eacute;cifi&eacute; dans le corps du
+ document par l'utilisation du marqueur <code>META</code>. La
+ mise de <code>AddDefaultCharset Off</code> d&eacute;sactive
+ cette fonctionnalit&eacute;. <code>AddDefaultCharset On</code>
+ active la table de caract&egrave;re <code>iso-8859-1</code> par
+ d&eacute;faut d'Apache. Vous pouvez &eacute;galement
+ d&eacute;finir une autre table de caract&egrave;res &agrave;
+ employer. Par exemple <code>AddDefaultCharset utf-8</code>.</p>
+ <hr />
+
+ <h2><a id="addmodule" name="addmodule">Directive
+ AddModule</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AddModule} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AddModule <em>module</em> [<em>module</em>]
+ ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur <br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>AddModule</tt> n'est disponible qu'&agrave; partir de la
+ version 1.2 d'Apache
+
+ <p>Le serveur peut int&eacute;grer des modules compil&eacute;s
+ qui ne sont pas mis en service. Cette directive peut &ecirc;tre
+ utilis&eacute;e pour activer ou d&eacute;sactiver ces modules.
+ Le serveur est install&eacute; avec une liste
+ pr&eacute;-configur&eacute;e de modules actifs cette liste peut
+ &ecirc;tre effac&eacute;e par la directive <a
+ href="#clearmodulelist">ClearModuleList</a>.</p>
+ <hr />
+
+ <h2><a id="allowoverride" name="allowoverride">Directive
+ AllowOverride</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AllowOverride} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AllowOverride All|None|<em>type de
+ directive</em> [<em>type de directive</em>] ... <br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>AllowOverride All All</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a>
+ r&eacute;pertoire<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Lorsque le serveur trouve un fichier .htaccess (comme
+ sp&eacute;cifi&eacute; par <a
+ href="#accessfilename">AccessFileName</a>) il doit savoir
+ quelles directives declar&eacute;es dans ce fichier peuvent
+ outrepasser les droits fix&eacute;s par des directives
+ pr&eacute;c&eacute;dentes.</p>
+
+ <p>Si la directive est d&eacute;finie &agrave;
+ <code>None</code>, les fichier .htaccess sont ignor&eacute;s.
+ Dans ce cas, le serveur n'essaie m&ecirc;me pas de lire les
+ fichiers .htaccess.</p>
+
+ <p>Si la directive est d&eacute;finie &agrave; <code>All</code>
+ toutes les directives possibles dans le <a
+ href="directive-dict.html#Context">contexte</a> .htacces sont
+ autoris&eacute;es dans les fichiers .htaccess.</p>
+
+ <p>Les <em>types de directives</em> peuvent &ecirc;tre parmi
+ ces groupes de directives :</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+ <!--%plaintext &lt;?INDEX {\tt AuthConfig} override&gt; -->
+ Autorise l'usage de la directive Authorization (<a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+ <a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+ <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+ href="#authname">AuthName</a>, <a
+ href="#authtype">AuthType</a>, <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+ href="#require">Require</a>, etc.).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt FileInfo} override&gt; -->
+ Autorise l'usage de directives contr&ocirc;lant
+ l'acc&egrave;s aux types de documents (<a
+ href="mod_mime.html#addencoding">AddEncoding</a>, <a
+ href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+ href="mod_mime.html#addtype">AddType</a>, <a
+ href="#defaulttype">DefaultType</a>, <a
+ href="#errordocument">ErrorDocument</a>, <a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a>,
+ etc.).</dd>
+
+ <dt>Indexes</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt Indexes} override&gt; -->
+ Autorise l'usage de directives contr&ocirc;lant l'indexation
+ des r&eacute;pertoires (<a
+ href="mod_autoindex.html#adddescription">AddDescription</a>,
+ <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+ <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+ <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+ href="mod_autoindex.html#headername">HeaderName</a>, <a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+ href="mod_autoindex.html#readmename">ReadmeName</a>,
+ etc.).</dd>
+
+ <dt>Limit</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt Limit} override&gt; -->
+ Autorise l'usage de directives contr&ocirc;lant les
+ acc&egrave;s de certains h&ocirc;tes (allow, deny et
+ order).</dd>
+
+ <dt>Options</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt Options} override&gt; -->
+ Autorise l'usage de directives contr&ocirc;lant certaines
+ fonctionnalit&eacute;s sp&eacute;cifiques des
+ r&eacute;pertoires (<a href="#options">Options</a> et <a
+ href="mod_include.html#xbithack">XBitHack</a>).</dd>
+ </dl>
+
+ <p><strong>Voir &eacute;galement :</strong> <a
+ href="#accessfilename">AccessFileName</a></p>
+ <hr />
+
+ <h2><a id="authname" name="authname">Directive
+ AuthName</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AuthName} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AuthName <em>domaine-autoris&eacute;</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive indique le nom du sch&eacute;ma
+ d'autorisation pour un r&eacute;pertoire. Ce sch&eacute;ma sera
+ donn&eacute; au client de sorte que l'utilisateur sache quel
+ nom et quel mot de passe envoyer. <samp>AuthName</samp> prend
+ un seul argument. Si le sch&eacute;ma d'autorisation contient
+ des espaces, il doit &ecirc;tre entour&eacute; de guillemets.
+ Pour fonctionner correctement, elle devra &ecirc;tre
+ accompagn&eacute;e des directives <a
+ href="#authtype">AuthType</a> et <a
+ href="#require">require</a>, et de directives telles que <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a>.</p>
+ <hr />
+
+ <h2><a id="authtype" name="authtype">Directive
+ AuthType</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt AuthType} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> AuthType <em>type</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive selectionne le type d'authentification pour
+ un r&eacute;pertoire. Seul les types <code>Basic</code> et
+ <code>Digest</code> sont actuellement
+ impl&eacute;ment&eacute;s.
+ <!--%plaintext &lt;?INDEX {\tt Basic} authentication scheme&gt; -->
+ Pour fonctionner correctement, elle devra &ecirc;tre
+ accompagn&eacute;e des directives <a
+ href="#authname">AuthName</a> et <a
+ href="#require">require</a>, et de directives telles que <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a>.</p>
+ <hr />
+
+ <h2><a id="bindaddress" name="bindaddress">Directive
+ BindAddress</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt BindAddress} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> BindAddress *|<em>addresse IP</em>|<em>nom de
+ domaine</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>BindAddress *</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Un serveur http sous Unix&reg; peut soit &eacute;couter
+ toutes les adresses IP de la machine sur lequel il est
+ ex&eacute;cut&eacute;, ou uniquement une de ces adresses. Si
+ l'argument de cette directive est *, le serveur traitera les
+ connections sur toutes les adresses IP. Sinon, le serveur peut
+ &eacute;couter &agrave; partir d'une <em>adresse IP</em>
+ sp&eacute;cifique ou d'un <em>nom de domaine</em> Internet.</p>
+
+ <p>Une et une seule directive <tt>BindAddress</tt> peut
+ &ecirc;tre utilis&eacute;e. Pour contr&ocirc;ler plus finement
+ quels ports et adresses Apache &eacute;coute, utilisez la
+ directive <a href="#listen">Listen</a> au lieu de
+ <tt>BindAddress</tt>.</p>
+
+ <p><tt>BindAddress</tt> peut &ecirc;tre utilis&eacute;e comme
+ alternative &agrave; l'implantation d'<a
+ href="../vhosts/">h&ocirc;tes virtuels</a> utilisant des
+ serveurs multiples ind&eacute;pendants, soit au lieu d'utiliser
+ les sections <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a>.</p>
+
+ <p><strong>Voir aussi:</strong> <a
+ href="../dns-caveats.html">Apache et DNS</a><br />
+ <strong>Voir aussi:</strong> <a href="../bind.html">Configurer
+ les ports et adresses utilis&eacute;s par Apache</a></p>
+ <hr />
+
+ <h2><a id="bs2000account" name="bs2000account">BS2000Account
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt BS2000Account} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> BS2000Account <em>account</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ BS2000Account n'est valable que pour les machines BS2000,
+ &agrave; partir de la version 1.3 d'Apache.
+
+ <p>La directive <code>BS2000Account</code> n'est disponible que
+ pour les machines BS2000. Elle doit &ecirc;tre employ&eacute;e
+ pour d&eacute;finir le num&eacute;ro de compte pour
+ l'utilisateur non privil&eacute;gi&eacute; (qui est
+ d&eacute;fini par la directive <a href="#user">User</a> ). Ceci
+ est requis par le sous syst&egrave;me POSIX du BS2000 afin de
+ changer l'environnement d'ex&eacute;cution sosu jacent du BS200
+ en effectuant une sous connexion, et &eacute;viter ainsi que
+ des scripts CGI puissent acc&eacute;der &agrave; des ressources
+ accessible &agrave; l'utilisateur privil&eacute;gi&eacute;
+ utilis&eacute; pour lancer le serveur,
+ g&eacute;n&eacute;ralement <samp>SYSROOT</samp>.<br />
+ Seulement une directive <code>BS2000Account</code> peut
+ &ecirc;tre utilis&eacute;e.</p>
+
+ <p><strong>Voir &eacute;galement:</strong> <a
+ href="../ebcdic.html">Portage EBCDIC d'Apache</a></p>
+ <hr />
+
+ <h2><a id="clearmodulelist" name="clearmodulelist">Directive
+ ClearModuleList</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ClearModuleList} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ClearModuleList<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>ClearModuleList</tt> n'est disponible qu'&agrave; partir de
+ la version 1.2 d'Apache
+
+ <p>Le serveur dispose &agrave; l'installation d'une liste
+ pr&eacute;-configur&eacute;e de modules actifs. Cette directive
+ efface cette liste. Il est suppos&eacute; que cette liste sera
+ reconstruite &agrave; partir de directives <a
+ href="#addmodule">AddModule</a>.</p>
+ <hr />
+
+ <h2><a id="contentdigest" name="contentdigest">Directive
+ ContentDigest</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ContentDigest} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ContentDigest <em>on|off</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ContentDigest off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> Options<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> exp&eacute;rimental
+
+ <p><a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ ContentDigest n'est disponible qu'&agrave; partir de la version
+ 1.1 d'Apache</p>
+
+ <p>Cette directive active la g&eacute;n&eacute;ration
+ d'en-t&ecirc;tes <code>Content-MD5</code> conformes aux RFC1864
+ et RFC2068.</p>
+
+ <p>MD5 est un algorithme permettant d'extraire un
+ "r&eacute;sum&eacute;" &agrave; partir d'un bloc de
+ donn&eacute;es de longueur arbitraire, avec un degr&eacute; de
+ confiance suffisant dans la mesure ou une moindre
+ alt&eacute;ration dans les donn&eacute;es sera
+ refl&eacute;t&eacute;e par un changement dans le
+ "r&eacute;sum&eacute;".</p>
+
+ <p>L'en-t&ecirc;te <code>Content-MD5</code> procure un test de
+ l'int&eacute;grit&eacute; de message de bout en bout (MIC) sur
+ le corps d'entit&eacute;. Un proxy ou client pourra tester cet
+ en-t&ecirc;te pour d&eacute;tecter des modifications
+ accidentelles du corps d'entit&eacute; en cours de transfert.
+ Exemple d'en-t&ecirc;te:</p>
+<pre>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+
+</pre>
+
+ <p>Notez que ceci peut r&eacute;duire les performances de votre
+ serveur dans la mesure o&ugrave; le "r&eacute;sum&eacute;" est
+ calcul&eacute; &agrave; chaque requ&ecirc;te (il ne peut
+ &ecirc;tre mis en cache).</p>
+
+ <p><code>Content-MD5</code> n'est &eacute;mis que pour des
+ documents servis par le noyau, et &agrave; l'exception de tout
+ module. Par exemple, les documents SSI, la sortie de scripts
+ CGI, et des r&eacute;ponses en flux d'octet binaire ne pourront
+ utiliser cet en-t&ecirc;te.</p>
+ <hr />
+
+ <h2><a id="coredumpdirectory"
+ name="coredumpdirectory">Directive CoreDumpDirectory</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt CoreDumpDirectory} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> CoreDumpDirectory
+ <em>nomr&eacute;pertoire</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> m&ecirc;me
+ r&eacute;pertoire que ServerRoot<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Elle d&eacute;finit le r&eacute;pertoire auquel Apache tente
+ d'acc&eacute;der avant d'enregistrer un "noyau dump". Par
+ d&eacute;faut, il s'agit du r&eacute;pertoire <a
+ href="#serverroot">ServerRoot</a>, cependant, si ce
+ r&eacute;pertoire n'est pas accessible en &eacute;criture par
+ l'utilisateur sous lequel tourne le serveur, le "noyau dump" ne
+ pourra &ecirc;tre g&eacute;n&eacute;r&eacute;. Si vous
+ souhaitez dans ce cas obtenir un "noyau dump" pour des
+ n&eacute;cessit&eacute;s de d&eacute;bogage, vous pouvez
+ utiliser cette directive pour sp&eacute;cifier un autre
+ r&eacute;pertoire dans lequel vous avez toute autorisation pour
+ &eacute;crire.</p>
+ <hr />
+
+ <h2><a id="defaulttype" name="defaulttype">Directive
+ DefaultType</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt DefaultType} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> DefaultType <em>mime-type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>DefaultType text/html</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Il peut arriver qu'une requ&ecirc;te demande au serveur un
+ document dont le type ne peut &ecirc;tre
+ d&eacute;termin&eacute; par les tables de MIME.</p>
+
+ <p>Le serveur doit informer le client du type de contenu
+ (Content-type) du document. Dans le cas d'un type inconnu, il
+ utilisera le <tt>DefaultType</tt>. Par exemple :</p>
+
+ <blockquote>
+ <code>DefaultType image/gif</code>
+ </blockquote>
+
+ <p>sera appropri&eacute; dans un r&eacute;pertoire contenant
+ une majorit&eacute; d'images gif dont certaines ne
+ pr&eacute;sentent pas explicitement l'extension .gif.</p>
+ <hr />
+
+ <h2><a id="directory" name="directory">Directive
+ &lt;Directory&gt;</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Directory} section directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;Directory <em>nomr&eacute;pertoire</em>&gt;
+ ... &lt;/Directory&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p><tt>&lt;Directory&gt;</tt> et <tt>&lt;/Directory&gt;</tt>
+ sont utilis&eacute;s pour "encapsuler" un groupe de directives
+ applicables uniquement au r&eacute;prtoire indiqu&eacute; ainsi
+ qu'&agrave; ses sous-r&eacute;pertoires. Toute directive
+ autoris&eacute;e dans un contexte de r&eacute;pertoire peut
+ appara&icirc;tre entre ces deux balises.
+ <em>nomr&eacute;pertoire</em> est soit le chemin
+ enti&egrave;rement qualifi&eacute; du r&eacute;pertoire, ou un
+ motif. Dans un motif, '?' remplace un caract&egrave;re unique
+ quelconque, et '*' remplace toute s&eacute;quence de
+ z&eacute;ro ou plus caract&egrave;res quelconques. Sur Apache
+ 1.3, vous pouvez aussi utiliser les plages de caract&egrave;res
+ '[]' comme dans un shell UNIX. De plus aucun des
+ m&eacute;tacaract&egrave;res ne peut remplacer un '/', ce qui
+ correspond plus intimement &agrave; la r&eacute;action des
+ shells UNIX. Exemple:</p>
+<pre>
+ &lt;Directory /usr/local/httpd/htdocs&gt;
+ Options Indexes FollowSymLinks
+ &lt;/Directory&gt;
+</pre>
+
+ <p><strong>A partir d'Apache 1.2 :</strong> peuvent &ecirc;tre
+ utilis&eacute;es les "expressions r&eacute;guli&egrave;res",
+ lesquelles devront &ecirc;tre pr&eacute;c&eacute;d&eacute;es du
+ caract&egrave;re <code>~</code>. Par exemple :</p>
+<pre>
+ &lt;Directory ~"^/www/.*/[0-9]{3}"&gt;
+</pre>
+ correspondrait &agrave; des r&eacute;pertoires dans /www/ dont
+ le nom serait constitu&eacute; de trois digits.
+
+ <p>Si plusieurs sections de r&eacute;pertoires pointent sur le
+ r&eacute;pertoire d'un document (ou l'un de ses p&egrave;res)
+ sans qu'il s'agisse d'une expression r&eacute;guli&egrave;re,
+ alors les directives sont appliqu&eacute;es selon la loi de "la
+ plus courte qualification d'abord", combin&eacute;es aux
+ directives des fichiers <a
+ href="#accessfilename">.htaccess</a>. Par exemple, avec
+ l'&eacute;criture</p>
+
+ <blockquote>
+ <code>&lt;Directory /&gt; AllowOverride None
+ &lt;/Directory&gt; &lt;Directory /home/*&gt; AllowOverride
+ FileInfo &lt;/Directory&gt;</code>
+ </blockquote>
+
+ <p>pour le contr&ocirc;le d'acc&egrave;s au document
+ <code>/home/web/dir/doc.html</code> les &eacute;tapes
+ d'&eacute;valuation sont les suivantes :</p>
+
+ <ul>
+ <li>Applique la directive <code>AllowOverride None</code>
+ (d&eacute;sactivant les fichiers
+ <code>.htaccess</code>).</li>
+
+ <li>Appliquela directive <code>AllowOverride FileInfo</code>
+ (pour le r&eacute;pertoire <code>/home/web</code>).</li>
+
+ <li>Applique toutes les directives <tt>FileInfo</tt> de
+ <code>/home/web/.htaccess</code></li>
+ </ul>
+
+ <p>Les sections exprimant des r&eacute;pertoires sous forme
+ d'expressions r&eacute;guli&egrave;res sont g&eacute;r&eacute;s
+ l&eacute;g&egrave;rement diff&eacute;remment par Apache 1.2 et
+ 1.3. Sous Apache 1.2, elles sont combin&eacute;es aux sections
+ "normales" et s'appliquent dans l'ordre o&ugrave; elles
+ apparaissent dans le fichier de configuration. Elles ne
+ s'appliquent qu'une fois, seulement pour celles qui font partie
+ de la section "&agrave; plus courte correspondance". Sous
+ Apache 1.3 les sections bas&eacute;es sur des expressions
+ r&eacute;guli&egrave;res ne sont pas &eacute;valu&eacute;es
+ tant que toutes les sections "normales" n'ont pas
+ &eacute;t&eacute; consid&eacute;r&eacute;es. A ce moment, les
+ sections "r&eacute;guli&egrave;res" sont trait&eacute;es dans
+ l'ordre o&ugrave; elles apparaissent dans le fichier de
+ configuration. Par exemple, avec l'&eacute;criture</p>
+
+ <blockquote>
+ <code>&lt;Directory ~ abc$&gt; ... directives ici ...
+ &lt;/Directory&gt;</code>
+ </blockquote>
+
+ <p>Supposez que le nom de fichier demand&eacute; soit
+ <code>/home/abc/public_html/abc/index.html</code>. Le serveur
+ consid&egrave;re chacune des sections <code>/</code>,
+ <code>/home</code>, <code>/home/abc</code>,
+ <code>/home/abc/public_html</code>, et
+ <code>/home/abc/public_html/abc</code> dans cet ordre. Sous
+ Apache 1.2, lorsque <code>/home/abc</code> est pris en compte,
+ l'expression r&eacute;guli&egrave;re correspondra et ses termes
+ seront appliqu&eacute;s. Sous Apache 1.3 l'expression
+ r&eacute;guli&egrave;re n'est pas consid&eacute;r&eacute;e du
+ tout &agrave; ce point de l'arbre. Elle ne le sera pas tant que
+ toutes les sections "normales" <tt>&lt;Directory&gt;s</tt> et
+ celles des fichiers <code>.htaccess</code> n'ont pas
+ &eacute;t&eacute; appliqu&eacute;es. A ce moment seulement
+ l'expression r&eacute;guli&egrave;re reconna&icirc;tra
+ <code>/home/abc/public_html/abc</code> et les directives seront
+ appliqu&eacute;es.</p>
+
+ <p><strong>Notez que l'acc&egrave;s par d&eacute;faut d'Apache
+ pour les sections <tt>&lt;Directory&gt;</tt> est <code>Allow
+ from All</code>. Ceci veut dire que par d&eacute;faut, Apache
+ desservira tout fichier indiqu&eacute; par une URL. Nous
+ recommandons de modifier ceci &agrave; l'aide d'un bloc tel
+ que</strong></p>
+<pre>
+ &lt;Directory /&gt;
+ Order Deny,Allow
+ Deny from All
+&lt;/Directory&gt;
+</pre>
+
+ <p><strong>puis d&eacute;sactiver s&eacute;lectivement la
+ protection pour les r&eacute;pertoires devant rester
+ accessibles. Voir la page <a
+ href="../misc/security_tips.html">Trucs sur la
+ s&eacute;curit&eacute;</a> pour plus de
+ d&eacute;tails.</strong></p>
+
+ <p>Les sections de r&eacute;pertoires apparaissent
+ habituellement dans le fichier access.conf, mais peuvent
+ &ecirc;tre pr&eacute;sentes dans n'importe quel fichier de
+ configuration. Les directives &lt;Directory&gt; ne peuvent
+ &ecirc;tre imbriqu&eacute;es, et ne peuvent petre incluses dans
+ des sections <a href="#limit">&lt;Limit&gt;</a> ou <a
+ href="#limitexcept">&lt;LimitExcept&gt;</a>.</p>
+
+ <p><strong>Voir aussi</strong> : <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e.</p>
+ <hr />
+
+ <h2><a id="directorymatch" name="directorymatch">Directive
+ &lt;DirectoryMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;DirectoryMatch <em>regex</em>&gt; ...
+ &lt;/DirectoryMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ Disponible &agrave; partir de la version 1.3 d'Apache
+
+ <p><tt>&lt;DirectoryMatch&gt;</tt> et
+ <tt>&lt;/DirectoryMatch&gt;</tt> sont utilis&eacute;s pour
+ encapsuler un groupe de directives s'appliquant uniquement aux
+ r&eacute;pertoires nomm&eacute;s et ses
+ sous-r&eacute;pertoires, de mani&egrave;re identique &agrave;
+ la directive <a href="#directory">&lt;Directory&gt;</a>.
+ Cependant, elle n'accepte comme argument qu'une expression
+ r&eacute;guli&egrave;re. Par exemple :</p>
+
+ <blockquote>
+ <code>&lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;</code>
+ </blockquote>
+
+ <p>correspondrait aux r&eacute;pertoires de /www/ dont le nom
+ consiste en trois chiffres.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="#directory">&lt;Directory&gt;</a> pour une description de
+ la mani&egrave;re dont les d&eacute;finitions par expression
+ r&eacute;guli&egrave;re sont combin&eacute;es aux sections
+ <tt>&lt;Directory&gt;</tt> "normales".<br />
+ <strong>Voir aussi</strong> : <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+ <hr />
+
+ <h2><a id="documentroot" name="documentroot">Directive
+ DocumentRoot</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt DocumentRoot} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> DocumentRoot <em>directory-filename</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>DocumentRoot /usr/local/apache/htdocs</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive d&eacute;finit le r&eacute;pertoire racine
+ &agrave; partir duquel httpd va distribuer les fichiers. Sauf
+ si le r&eacute;pertoire est point&eacute; par une directive
+ telle que Alias, le serveur ajoute le chemin relatif
+ mentionn&eacute;e dans l'URL pr&eacute;sent&eacute;e &agrave;
+ cette racine pour &eacute;tablir le chemin complet jusqu'au
+ document. Exemple :</p>
+
+ <blockquote>
+ <code>DocumentRoot /usr/web</code>
+ </blockquote>
+
+ <p>Un acc&egrave;s &agrave;
+ <code>http://www.my.host.com/index.html</code> se
+ r&eacute;ferre au document
+ <code>/usr/web/index.html</code>.</p>
+
+ <p>Un bogue existe pour cette directive mod_dir, laquelle
+ fonctionne mal lorsque DocumentRoot est donn&eacute;e avec un
+ '/' final (c-&agrave;-d. "DocumentRoot /usr/web/"). Il vaut
+ mieux &eacute;viter cette &eacute;criture.</p>
+ <hr />
+
+ <h2><a id="ebcdicconvert"
+ name="ebcdicconvert">EBCDICConvert</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt EBCDICConvert} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> EBCDICConvert On|Off[=<em>direction</em>]
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+ conversion EBCDIC est disponible &agrave; partir de la version
+ 1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC.
+
+ <p>La directive EBCDICConvert associe une extension de fichier
+ &agrave; une possible conversion (<samp>On</samp> ou
+ <samp>Off</samp>). Les extensions de fichiers peuvent commencer
+ ou non par un point.</p>
+
+ <p>Si le format optionnel <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) est employ&eacute;,
+ o&ugrave; <i>direction</i> est choisi parmi <samp>In</samp>,
+ <samp>Out</samp> ou <samp>InOut</samp>, alors la directive ne
+ s'applique seulement que dans une direction de transfert
+ donn&eacute;e (<samp>In</samp> : contenu re&ccedil;u par une
+ requ&ecirc;te PUT ou POST , <samp>Out</samp> : contenu
+ renvoy&eacute; &agrave; une requete GET ou POST, et
+ <samp>InOut</samp> : conversion dans les deux
+ directions).<br />
+ Sinon, <samp>InOut</samp> (conversion dans les deux
+ directions) est d&eacute;fini.</p>
+
+ <p>La configuration de conversion bas&eacute; sur un type de
+ fichier est test&eacute; avant la configuration bas&eacute; sur
+ les types MIME, afin de permettre aux r&egrave;gles
+ g&eacute;n&eacute;riques MIME d'&ecirc;tre surcharg&eacute;es
+ par une extension sp&eacute;cifique (pplusieurs extensions de
+ fichier peuvent exister pour le m&ecirc;me type MIME).</p>
+
+ <p><strong>Exemple</strong>:<br />
+ Avec la configuration suivante, les fichiers
+ <samp>*.html</samp> contiennent du texte HTML au format EBCDIC,
+ tandis que les fichiers <samp>*.ahtml</samp> contiennent du
+ texte HTML au format ASCII :</p>
+<pre>
+ # *.html et *.ahtml contiennet du texte HTML :
+ AddType text/html .html .ahtml
+
+ # *.ahtml n'est pas converti (il contient d&eacute;j&agrave; du texte ASCII)
+ EBCDICConvert Off .ahtml
+
+ # Les autres fichiers text/html contiennent du texte EBCDIC:
+ EBCDICConvertByType On text/html
+</pre>
+ <br />
+ <br />
+
+
+ <p><strong>Voir &eacute;galement</strong>: <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> et <a
+ href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+ conversion EBCDIC</a></p>
+ <hr />
+
+ <h2><a id="ebcdicconvertbytype"
+ name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt EBCDICConvertByType} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> EBCDICConvertByType On|Off[=<em>direction</em>]
+ <em>mimetype</em> [<em>mimetype</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+ conversion EBCDIC est disponible &agrave; partir de la version
+ 1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC.
+
+ <p>La directive EBCDICConvertByType associe un type MIME
+ (pouvant contenir une *) &agrave; une &eacute;ventuelle
+ conversion (<samp>On</samp> ou <samp>Off</samp>).</p>
+
+ <p>Si le format optionnel <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) est employ&eacute;,
+ o&ugrave; <i>direction</i> est choisi parmi <samp>In</samp>,
+ <samp>Out</samp> ou <samp>InOut</samp>, alors la directive ne
+ s'applique seulement que dans une direction de transfert
+ donn&eacute;e (<samp>In</samp> : contenu re&ccedil;u par une
+ requ&ecirc;te PUT ou POST , <samp>Out</samp> : contenu
+ renvoy&eacute; &agrave; une requete GET ou POST, et
+ <samp>InOut</samp> : conversion dans les deux
+ directions).<br />
+ Sinon, <samp>InOut</samp> (conversion dans les deux
+ directions) est d&eacute;fini.</p>
+
+ <p><strong>Par exemple</strong>:<br />
+ Une configuration standard pratique devrait au moins contenir
+ ces directives :</p>
+<pre>
+ # All text documents are stored as EBCDIC files:
+ # Tous les document textes sont stock&eacute;s au format EBCDIC
+ EBCDICConvertByType On text/* message/* multipart/*
+ EBCDICConvertByType On application/x-www-form-urlencoded \
+ model/vrml application/postscript
+ # Les autres fichiers sont trait&eacute;s comme binaires.
+ EBCDICConvertByType Off */*
+</pre>
+ Si vous servez seulement que des documents ASCII, par exemple
+ provenant d'un montage NFS d'un serveur Unix, utilisez :
+<pre>
+ # Tous les documents sont d&eacute;j&agrave; en ASCII:
+ EBCDICConvertByType Off */*
+</pre>
+
+ <p><strong>Voir &eacute;galement</strong>: <a
+ href="#ebcdicconvert">EBCDICConvert</a> et <a
+ href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+ conversion EBCDIC</a></p>
+ <hr />
+
+ <h2><a id="ebcdickludge"
+ name="ebcdickludge">EBCDICKludge</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt EBCDICKludge} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> EBCDICKludge On|Off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>EBCDICKludge
+ Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ EBCDICKludge est disponible &agrave; partir de la version
+ 1.3.19 d'Apache sur les plate-formes bas&eacute;es sur EBCDIC.
+ Il est d&eacute;suet et sera abandonn&eacute; dans les versions
+ ult&eacute;rieures.<br />
+
+
+ <p>The EBCDICKludge est propos&eacute;e par
+ compatibilit&eacute; avec les versions d'Apache 1.3.0 &agrave;
+ 1.3.18. Dans ces versions, tous les fichiers dont le type MIME
+ commence par "text/", "message/" ou "multipart/" ou dont le
+ type est "application/x-www-form-urlencoded" sont convertis par
+ d&eacute;faut, les autres documents sont retourn&eacute;s sans
+ conversion. Un document est pr&eacute;sum&eacute; &ecirc;tre au
+ format ASCII iuniquement si il est du type
+ "<samp>text/<b>x-ascii-</b><i>sous-type</i></samp>", et ne sera
+ donc pas converti. A la place, le pr&eacute;fixe
+ "<samp><b>x-ascii-</b></samp>" &eacute;tait supprim&eacute; du
+ type, obtenant ainsi le type MIME
+ "<samp>text/<i>sous-type</i></samp>" comme type du document
+ retourn&eacute;.</p>
+
+ <p>Si la directive EBCDICKludge est mise &agrave;
+ <samp>On</samp>, et si aucune des extensions de fichiers ne
+ correspondent aux directives <a
+ href="#ebcdicconvert">EBCDICConvert</a> d&eacute;finis dans le
+ contexte , alors le serveur teste avec le type MIME de format
+ <samp><i>type/</i><b>x-ascii-</b><i>sous-type</i></samp>. Si le
+ document a un tel type alors la cha&icirc;ne
+ "<samp><b>x-ascii-</b></samp>" est supprim&eacute;e et la
+ conversion est mise &agrave; <samp>Off</samp>. Cela permet de
+ surcharger l'assertion implicite que tous les fichiers sont
+ stock&eacute;s au format EBCDIC, par exemple si Apache sert des
+ fichiers provenant d'un montage NFS d'un r&eacute;pertoire
+ contenant des documents ASCII.<br />
+ En utilisant EBCDICKludge, Il n'y a aucun moyen de forcer un
+ des autres types MIME (par exemple model/vrml) d'&ecirc;tre
+ trait&eacute; au format EBCDIC. L'utilisation de la directive
+ <a href="#ebcdicconvertbytype">EBCDICConvertByType</a> est
+ pr&eacute;f&eacute;rable pour d&eacute;finir une telle
+ conversion. Avant Apache 1.3.19, il n'y avait aucun moyen de
+ forcer ces document binaires d'&ecirc;tre trait&eacute;s comme
+ des fichiers textes EBCDIC</p>
+
+ <p><strong>Voir &eacute;galement</strong> : <a
+ href="#ebcdicconvert">EBCDICConvert</a>, <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+ href="../ebcdic.html#ebcdic">Aper&ccedil;u des fonctions de
+ conversion EBCDIC</a></p>
+ <hr />
+
+ <h2><a id="errordocument" name="errordocument">Directive
+ ErrorDocument</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ErrorDocument} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ErrorDocument <em>code d'erreur
+ document</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels, r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> Les
+ contextes r&eacute;pertoire et .htaccess ne sont utilisables
+ qu'&agrave; partir de la version 1.1 d'Apache.
+
+ <p>Dans l'&eacute;ventualit&eacute; d'un probl&egrave;me ou
+ d'une erreur, Apache peut ex&eacute;cuter l'une des quatre
+ actions suivantes :</p>
+
+ <ol>
+ <li>sortie d'un message d'erreur simple standard</li>
+
+ <li>sortie d'un message personnalis&eacute;</li>
+
+ <li>redirection vers une URL locale pour traiter le
+ probl&egrave;me (ou l'erreur)</li>
+
+ <li>redirection vers une URL externe pour traiter le
+ probl&egrave;me (ou l'erreur)</li>
+ </ol>
+
+ <p>La premi&egrave;re option est celle par d&eacute;faut, les
+ options 2 &agrave; 4 seront obtenues en utilisant la directive
+ <tt>ErrorDocument</tt>, suivi du code HTTP d'erreur et du
+ message textuel d'erreur, ou une URL.</p>
+
+ <p><em>Messages</em> dans ce contexte, commence par un
+ guillemet simple (<code>"</code>), qui ne fait pas partie du
+ message lui-m&ecirc;me. Apache ajoutera souvent des
+ informations compl&eacute;mentaires explicitant le
+ probl&egrave;me (ou l'erreur).</p>
+
+ <p>L'URL peut d&eacute;buter par un slash (/) pour des URL
+ locales, ou &ecirc;tre compl&egrave;tement qualifi&eacute;es.
+ Exemples:</p>
+
+ <blockquote>
+ <code>ErrorDocument 500
+ http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Sorry can't allow you access today</code>
+ </blockquote>
+
+ <p>Notez que lorsque vous sp&eacute;cifiez un
+ <tt>ErrorDocument</tt> qui pointe vers une URL externe (c'est
+ -&agrave;-dire toute adresse commen&ccedil;ant par quelque
+ chose du style "http:") Apache &eacute;mettra une requ&ecirc;te
+ de redirection au client pour lui indiquer o&ugrave; trouver le
+ document. Ceci peut perturber les robots et d'autres clients
+ qui essaient de d&eacute;terminer si une URL est valide en
+ testant le code retour de la requ&ecirc;te. De plus, si vous
+ utilisez l'&eacute;criture <code>ErrorDocument 401</code> le
+ client ne saura pas qu'il doit demander un mot de passe
+ puisqu'il ne recevra pas le code retour 401. Par
+ cons&eacute;quent, il est imp&eacute;ratif d'utiliser une URL
+ locale pour une directive "ErrorDocument 401". Ceci est induit
+ par la nature des sch&eacute;mas d'authentification de base
+ d'HTTP.</p>
+
+ <p><strong>Voir aussi:</strong> <a
+ href="../custom-error.html">documentation sur les
+ r&eacute;ponses personnalis&eacute;es.</a></p>
+ <hr />
+
+ <h2><a id="errorlog" name="errorlog">Directive
+ ErrorLog</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ErrorLog} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ErrorLog <em>nomfichier</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>ErrorLog
+ logs/error_log</code> (Unix)<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>ErrorLog
+ logs/error.log</code> (Windows et OS/2)<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive d&eacute;finit le nom du fichier dans lequel
+ le serveur marque la trace des erreurs rencontr&eacute;es. Si
+ le nom de fichier ne commence pas par un slash (/), alors la
+ partie "chemin d'acc&egrave;s" est consid&eacute;r&eacute;e
+ relativement &agrave; <a href="#serverroot">ServerRoot</a>.
+ Exemple:</p>
+
+ <blockquote>
+ <code>ErrorLog /dev/null</code>
+ </blockquote>
+
+ <p>Cette expression a pour effet de d&eacute;sactiver la trace
+ d'erreurs.</p>
+ Si le fichier commence par une barre verticale (|), il est
+ cens&eacute; &ecirc;tre une commande &agrave; ex&eacute;cuter
+ pour ttraiter le message d'erreur.<br />
+ <br />
+
+
+ <p><strong>Apache 1.3 et ult&eacute;rieur:</strong> en
+ utilisant <code>syslog</code> &agrave; la place d'un fichier
+ permet d'employer syslogd(8) si le syst&egrave;me l'accepte. Le
+ d&eacute;fau est d'utiliser la fonction syslog
+ <code>local7</code>, mais vous pouvez remplacer ceci en
+ utilisant la syntaxe <code>syslog:</code><em>service</em>
+ o&ugrave; <em>service</em> peut &ecirc;tre un des noms
+ document&eacute; dans syslog(1).</p>
+
+ <p><strong>S&eacute;curit&eacute; :</strong> Voir la page <a
+ href="../misc/security_tips.html">note sur la
+ securit&eacute;</a> pour plus d'information concernant une
+ possibilit&eacute; de br&ecirc;che de s&eacute;curit&eacute; si
+ le r&eacute;pertoire d'accueil des fichiers de trace peut
+ &ecirc;tre &eacute;crit par tout autre utilisateur que le
+ propri&eacute;taire du processus serveur.</p>
+ <hr />
+
+ <h2><a id="files" name="files">Directive &lt;Files&gt;</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;Files <em>nomfichier</em>&gt; ...
+ &lt;/Files&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ Disponible &agrave; partir de la version 1.2 d'Apache.
+
+ <p>La directive <tt>&lt;Files&gt;</tt> permet une gestion de
+ contr&ocirc;le d'acc&egrave;s fichier par fichier. Elle est
+ comparable aux directives <a
+ href="#directory">&lt;Directory&gt;</a> et <a
+ href="#location">&lt;Location&gt;</a>. Elle doit s'apparier
+ &agrave; une directive <tt>&lt;/Files&gt;</tt>. Les directives
+ applicables au fichier indiqu&eacute; sont encapsul&eacute;es
+ entre ces deux balises. Les sections <tt>&lt;Files&gt;</tt>
+ sont trait&eacute;es dans l'ordre o&ugrave; elles apparaissent
+ dans le fichier de configuration, une fois trait&eacute;es les
+ sections <tt>&lt;Directory&gt;</tt> et les fichiers .htaccess,
+ mais avant les sections <tt>&lt;Location&gt;</tt>.</p>
+
+ <p>L'argument <em>filename</em> peut inclure un nom de fichier,
+ o&ugrave; un motif, dans lequel '?' correspond &agrave; tout
+ caract&egrave;re unique quelconque, et '*' correspond &agrave;
+ une s&eacute;quence de z&eacute;ro &agrave; un nombre
+ quelconque de caract&egrave;res. Les "expressions
+ r&eacute;guli&egrave;res" peuvent aussi &ecirc;tre
+ utilis&eacute;es, pourvu qu'elles soient
+ pr&eacute;c&eacute;d&eacute;es du caract&egrave;re
+ <code>~</code>. Par exemple :</p>
+<pre>
+ &lt;Files ~"\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+ <p>correspondrait &agrave; la majorit&eacute; des fichiers
+ graphiques utilis&eacute;s sur Internet. A partir de la version
+ 1.3 d'Apache, l'usage de la directive <a
+ href="#filesmatch">&lt;FilesMatch&gt;</a> est cependant
+ pr&eacute;f&eacute;rable.</p>
+
+ <p>Notez que, contrairement aux sections <a
+ href="#directory">&lt;Directory&gt;</a> et <a
+ href="#location">&lt;Location&gt;</a>, les sections
+ <tt>&lt;Files&gt;</tt> peuvent appara&icirc;tre dans des
+ fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs
+ de contr&ocirc;ler l'acc&egrave;s &agrave; leurs propres
+ fichiers, sur un mode individuel. Lorsqu'elles sont
+ utilis&eacute;es dans un fichier <code>.htaccess</code>, si
+ <em>nomfichier</em> ne commence pas par un slash (/), le
+ r&eacute;pertoire courant contenant ledit fichier
+ <code>.htaccess</code> y sera pr&eacute;fix&eacute;
+ automatiquement.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+ <hr />
+
+ <h2><a id="filesmatch" name="filesmatch">Directive
+ &lt;FilesMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;FilesMatch <em>regex</em>&gt; ...
+ &lt;/Files&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ Disponible &agrave; partir de la version 1.3 d'Apache.
+
+ <p>La directive <tt>&lt;FilesMatch&gt;</tt> permet un
+ contr&ocirc;le d'acc&egrave;s fichier par fichier, tout comme
+ la directive <a href="#files">&lt;Files&gt;</a>. Cependant,
+ elle n'accepte qu'un argument sous forme d'expression
+ r&eacute;guli&egrave;re. Par exemple :</p>
+
+ <blockquote>
+ <code>&lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;</code>
+ </blockquote>
+
+ <p>qui correspondrait &agrave; la plupart des fichiers
+ graphiques utilis&eacute;s sur Internet.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e</p>
+ <hr />
+
+ <h2><a id="group" name="group">Directive Group</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Group} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> Group <em>groupeUnix</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>Group
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>Group</tt> d&eacute;finit le groupe dont
+ les requ&ecirc;tes seront trait&eacute;es par le serveur. Pour
+ utiliser cette directive, le serveur stand-alone doit tout
+ d'abord &ecirc;tre ex&eacute;cut&eacute; par l'utilisateur
+ "root". <em>groupeUnix</em> est &agrave; choisir parmi :</p>
+
+ <dl>
+ <dt>un nom de groupe</dt>
+
+ <dd>se r&eacute;f&egrave;re &agrave; un groupe unix par son
+ nom.</dd>
+
+ <dt># suivi d'unnum&eacute;ro de groupe.</dt>
+
+ <dd>se r&eacute;f&egrave;re &agrave; un groupe par son
+ indice.</dd>
+ </dl>
+
+ <p>Il est recommend&eacute; de cr&eacute;er un nouveau groupe
+ d'utilisateurs pour les utilisateurs ex&eacute;cutant le
+ serveur. Certains administrateurs assignent le serveur &agrave;
+ l'utilisateur <code>nobody</code>, mais ceci n'est pas toujours
+ possible ou souha&icirc;table.</p>
+
+ <p><strong>Note :</strong> si vous d&eacute;marrez le serveur
+ sous un compte utilisateur autre que "root", la commutation sur
+ un autre groupe &eacute;chouera, et le groupe utilis&eacute;
+ restera le groupe initial de l'utilisateur.</p>
+
+ <p><strong>Note sp&eacute;ciale :</strong> L'utilisation de
+ cette directive dans un contexte <tt>&lt;VirtualHost&gt;</tt>
+ n&eacute;cessite un <a href="../suexec.html">suEXEC wrapper</a>
+ correctement configur&eacute;. De cette mani&egrave;re et dans
+ ce contexte, seul le groupe dans lequel sont
+ ex&eacute;cut&eacute;s les CGI sont affect&eacute;s. Toute
+ requ&ecirc;te autre que CGI sont toujours lanc&eacute;es dans
+ le groupe d&eacute;fini par la directive Group principale.</p>
+
+ <p><strong>S&eacute;curit&eacute; :</strong> Voir <a
+ href="#user">Utilisateur</a> pour une discussion plus
+ d&eacute;taill&eacute;e sur les aspects utilisateurs.</p>
+ <hr />
+
+ <h2><a id="hostnamelookups" name="hostnamelookups">Directive
+ HostNameLookups</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt HostNameLookups} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> HostNameLookups <em>on | off | double</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>HostNameLookups off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <code>double</code> n'est disponible qu'&agrave; partir de la
+ version 1.3 d'Apache.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> La
+ valeur par d&eacute;faut &eacute;tait <code>on</code> pour
+ toute version ant&eacute;rieure &agrave; la version 1.3
+ d'Apache.
+
+ <p>Cette directive autorise la r&eacute;solution DNS pour la
+ trace d'acc&egrave;s (et pour les passer aux CGI/SSI en
+ <code>REMOTE_HOST</code>). La valeur <code>double</code>
+ signifie une r&eacute;solution DNS inverse double.
+ C'est-&agrave;-dire, apr&egrave;s qu'une r&eacute;solution
+ inverse soit effectu&eacute;e, une r&eacute;solution est
+ ensuite effectu&eacute;e &agrave; partir du r&eacute;sultat
+ obtenu. Au moins une des adresses IP obtenues par la
+ deuxi&egrave;me r&eacute;solution doit correspondre &agrave;
+ l'adresse originale. (Dans le langage des "fous de tcp" ceci
+ s'appelle <code>PARANOID</code>.)</p>
+
+ <p>Ind&eacute;pendamment du mode choisi, lorsque <a
+ href="mod_access.html">mod_access</a> est utilis&eacute; pour
+ faire du contr&ocirc;le d'acc&egrave;s par nom d'h&ocirc;te,
+ une r&eacute;solution inverse double sera effectu&eacute;e.
+ Ceci est indispensable pour des raisons de
+ s&eacute;curit&eacute;. Notez que le r&eacute;sultat de cette
+ r&eacute;solution inverse double n'est en g&eacute;n&eacute;ral
+ pas accessible sauf si l'option <samp>HostnameLookups
+ double</samp> est activ&eacute;e. Par exemple, si l'option est
+ simplement <samp>HostnameLookups on</samp> et une requ&ecirc;te
+ est re&ccedil;ue vers un objet soumis &agrave; des restrictions
+ quant aux noms d'h&ocirc;tes, et quelque soit le
+ r&eacute;sultat de la r&eacute;slution inverse double, les CGI
+ recevront le r&eacute;sultat de la r&eacute;solution inverse
+ dans la variable d'environnement <code>REMOTE_HOST</code>.</p>
+
+ <p>Par d&eacute;faut, l'&eacute;tat choisi &eacute;tait
+ <code>on</code> dans les versions d'apache ant&eacute;rieures
+ &agrave; la version 1.3. Elle est aujourd'hui &agrave;
+ <code>off</code> afin de diminuer le trafic pour les sites qui
+ n'ont pas un besoin absolu de la r&eacute;solution inverse.
+ C'est aussi un avantage pour les utilisateurs finaux qui
+ n'auront pas &agrave; attendre la fin du processus de
+ r&eacute;solution avant d'&ecirc;tre servis. Des sites
+ charg&eacute;s devraient plut&ocirc;t laisser cette opyion
+ &agrave; <code>off</code>, dans la mesure o&ugrave; une
+ recherche DNS peut consommer un temps non n&eacute;gligeable.
+ L'utilitaire <code>logresolve</code>, fourni dans le
+ r&eacute;pertoire <i>/support</i>, peut &ecirc;tre
+ utilis&eacute; pour r&eacute;soudre des noms d'h&ocirc;tes
+ &agrave; partir des adresses IP trac&eacute;es en mode
+ "offline".</p>
+ <hr />
+
+ <h2><a id="identitycheck" name="identitycheck">Directive
+ IdentityCheck</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt IdentityCheck} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> IdentityCheck <em>bool&eacute;en</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>IdentityCheck off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive autorise une trace conforme &agrave; la
+ RFC1413 du nom d'utilisateur pour chaque connexion, lorsque la
+ machine cliente ex&eacute;cute identd ou un procesus similaire.
+ Cette information est trac&eacute;e dans le fichier
+ <code>access log</code>. <em>bool&eacute;en</em> vaut soit
+ <code>on</code> ou <code>off</code>.</p>
+
+ <p>Cette information n'est absolument pas certifi&eacute;e et
+ ne peut &ecirc;tre consid&eacute;r&eacute;e que pour une
+ analyse sommaire.</p>
+
+ <p>Notez que ce fontionnement peut rallonger notablement les
+ d&eacute;lais d'acc&egrave;s &agrave; votre serveur dans la
+ mesure o&ugrave; chaque requ&ecirc;te n&eacute;cessite
+ l'ex&eacute;cution d'une r&eacute;solution. Lorsque des
+ "firewalls" sont pr&eacute;sents chaque r&eacute;solution peut
+ &eacute;ventuellement &eacute;chouer et ajouter ainsi 30
+ secondes d'attente pour chaque acc&egrave;s. En conclusion,
+ cette option n'est en g&eacute;n&eacute;ral pas opportune pour
+ des serveurs Internet ouverts au public.</p>
+ <hr />
+
+ <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;IfDefine
+ [!]<em>nom-param&egrave;tre</em>&gt; <em>...</em>
+ &lt;/IfDefine&gt;<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> aucun<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> tous<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ &lt;IfDefine&gt; est disponible &agrave; partir de la version
+ 1.3.1
+
+ <p>La section &lt;IfDefine
+ <em>test</em>&gt;...&lt;/IfDefine&gt; est employ&eacute;e pour
+ d&eacute;limiter des directives conditionnelles. Les directives
+ &agrave; l'int&eacute;rieur d'un section IfDefine ne sont
+ prises en compte que si <em>test</em> est vraie. Si
+ <em>test</em> est faux, tout ce qui se trouve entre le marqueur
+ de d&eacute;but et celui de fin est ignor&eacute;.</p>
+
+ <p>Le <em>test</em> de la section &lt;IfDefine&gt; peut exister
+ sous deux formes :</p>
+
+ <ul>
+ <li><em>nom-param&egrave;tre</em></li>
+
+ <li><code>!</code><em>nom-param&egrave;tre</em></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives entre les marqueurs de
+ d&eacute;but et de fin ne sont trait&eacute; que si le
+ param&egrave;tre nomm&eacute; <em>nom-param&egrave;tre</em> est
+ d&eacute;fini. Dans le deuxi&egrave;me cas, les directives
+ entre les marqueurs de d&eacute;but et de fin ne sont
+ trait&eacute; que si le param&egrave;tre nomm&eacute;
+ <em>nom-param&egrave;tre</em> n'est <strong>pas</strong>
+ d&eacute;fini.</p>
+
+ <p>L'argument <em>nom-param&egrave;tre</em> est une
+ d&eacute;finition qui peut &ecirc;tre donn&eacute;e en ligne de
+ commande d'httpd en utilisant l'option
+ <code>-D</code><em>nom-param&egrave;tre</em>, au lancement du
+ serveur.</p>
+
+ <p>Les sections &lt;IfDefine&gt; peuvent s'imbriquer, ce qui
+ permet de r&eacute;aliser des test sur plusieurs
+ param&egrave;tres. Par exemple :</p>
+<pre>
+ $ httpd -DReverseProxy ...
+
+ # httpd.conf
+ &lt;IfDefine ReverseProxy&gt;
+ LoadModule rewrite_module libexec/mod_rewrite.so
+ LoadModule proxy_module libexec/libproxy.so
+ &lt;/IfDefine&gt;
+</pre>
+ <hr />
+
+ <h2><a id="ifmodule" name="ifmodule">Directive
+ &lt;IfModule&gt;</a></h2>
+ <b>Syntaxe :</b> &lt;IfModule [!]<i>nomModule</i>&gt;
+ <i>...</i> &lt;/IfModule&gt;<br />
+ <b>D&eacute;faut :</b> aucun<br />
+ <b>Contexte :</b> tous<br />
+ <b>Statut :</b> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> IfModule
+ n'est disponible qu'&agrave; partir de la version 1.2 d'Apache.
+
+
+ <p>La section <tt>&lt;IfModule
+ <i>test</i>&gt;</tt>...&lt;/IfModule&gt; permet de rendre
+ conditionnelles un groupe de directives. Les directives
+ &agrave; l'int&eacute;rieur d'une section IfModule ne sont
+ consid&eacute;r&eacute;es que si le <i>test</i> est
+ v&eacute;rifi&eacute;. Si <i>test</i> vaut faux, toute
+ directive inclue entre la balise de d&eacute;but et celle de
+ fin sont ignor&eacute;es.</p>
+
+ <p>Le <em>test</em> d'une section <tt>&lt;IfModule&gt;</tt>
+ peut prendre l'une des formes suivantes :</p>
+
+ <ul>
+ <li><i>nomModule</i></li>
+
+ <li>!<i>nomModule</i></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives entre les deux balises
+ de d&eacute;but et de fin ne sont trait&eacute;es que si le
+ module indiqu&eacute; par <em>nomModule</em> est compil&eacute;
+ dans votre version d'Apache. La seconde forme inverse le sens
+ du test, et ne traite les directives que si le module
+ <em>nomModule</em> n'est <b>pas</b> compil&eacute;.</p>
+
+ <p>L'argument <em>nomModule</em> sp&eacute;cifie un nom de
+ module par son nom de fichier source, tel qu'appel&eacute; par
+ la compilation. Par exemple, <code>mod_rewrite.c</code>.</p>
+
+ <p>Les sections <tt>&lt;IfModule&gt;</tt> peuvent &ecirc;tre
+ imbriqu&eacute;es, ce qui peut &ecirc;tre utile pour
+ impl&eacute;menter simplement des tests multi-modules.</p>
+ <hr />
+
+ <h2><a id="include" name="include">Directive Include</a></h2>
+ <strong>Syntaxe :</strong> Include <em>nomfichier</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> Include
+ n'est disponible qu'&agrave; partir de la version 1.3 d'Apache.
+
+
+ <p>Cette directive permet l'inclusion d'autres fichiers de
+ configuration &agrave; partir d'autres fichiers de
+ configuration serveur.</p>
+
+ <p>A partir de la version Apache 1.3.13, si
+ <code>Include</code> pointe vers un r&eacute;pertoire plutot
+ qu'un fichier, Apche lira tous fichiers de ce
+ r&eacute;pertoire, ou des sous-r&eacute;pertoires, et traitera
+ chacun de ces fichiers de configuration.</p>
+ <hr />
+
+ <h2><a id="keepalive" name="keepalive">Directive
+ KeepAlive</a></h2>
+ <strong>Syntaxe : (Apache 1.1)</strong> KeepAlive
+ <em>requ&ecirc;tesMax</em><br />
+ <strong>D&eacute;faut : (Apache 1.1)</strong> <code>KeepAlive
+ 5</code><br />
+ <strong>Syntaxe : (Apache 1.2)</strong> KeepAlive
+ <em>on/off</em><br />
+ <strong>D&eacute;faut : (Apache 1.2)</strong> <code>KeepAlive
+ On</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ KeepAlive est disponible &agrave; partir de la version 1.1
+ d'Apache.
+
+ <p>L'extension Keep-Alive d'HTTP/1.0 et les connexions
+ persistantes d'HTTP/1.1 fournissent des sessions durables HTTP
+ , qui autorisent plusieurs requ&ecirc;tes &agrave; &ecirc;tre
+ envoy&eacute;es sur la m&ecirc;me connexion. Dans certains cas,
+ il a &eacute;t&eacute; constat&eacute; une r&eacute;duction de
+ 50% du temps de latence ppour des documents HTML contenant de
+ nombreuses images. Pour activer les connexions persistantes
+ (keep-alive) &agrave; partir d'Apache 1.2 il faut
+ d&eacute;finir la directive <code>KeepAlive On</code>.</p>
+
+ <p>Pour les clients HTTP/1.1, Les connexions persistantes ne
+ sont employ&eacute;es que si elles sont sp&eacute;cifiquement
+ demand&eacute;es par un client. De plus, une connexion
+ persistantes ne peut &ecirc;tre employ&eacute;es que si la
+ taille du contenu est connu &agrave; l'avance. Ceci implique
+ que les contenus dynamiques, tels que les scripts CGI, les
+ pages SSI, et les listes de r&eacute;pertoires
+ g&eacute;n&eacute;r&eacute;s par le serveur n'utilisent pas de
+ connexions persistentes pour les clients HTTP/1.0. Pour les
+ clients HTTP/1.1, les connexions sont persistantes par
+ d&eacute;faut &agrave; moins d'&ecirc;tre
+ sp&eacute;cifi&eacute;e. Si le client le demande, l'encodage
+ par tranches est utilis&eacute; afin d'envoyer des contenus de
+ tailles inconnus au travers de connxions persistantes.</p>
+
+ <p><strong>Sous Apache 1.1</strong>: Mettre
+ <em>requ&ecirc;tesMax</em> au nombre maximum de requ&ecirc;tes
+ qu'Apache peut traiter par connexion persistante. Une
+ limitation est impos&eacute;e pour &eacute;viter qu'un client
+ ne vienne asphyxier votre serveur en ressources. Mettre un
+ <code>0</code> pour d&eacute;sactiver ce support. A partir de
+ la version 1.2, ceci est contr&ocirc;l&eacute; par la directive
+ MaxKeepAliveRequests</p>
+ Voir aussi la directive <a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.<br />
+ <br />
+
+ <hr />
+
+ <h2><a id="keepalivetimeout" name="keepalivetimeout">Directive
+ KeepAliveTimeout</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> KeepAliveTimeout <em>secondes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>KeepAliveTimeout 15</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>KeepAliveTimeout</tt> est disponible &agrave; partir de la
+ version 1.1 d'Apache.
+
+ <p>Le nombre de secondes pendant lesquelles Apache attendra une
+ requ&ecirc;te post&eacute;rieure avant de rompre une connexion.
+ D&egrave;s qu'une requ&ecirc;te est re&ccedil;ue, la valeur de
+ la temporisation sp&eacute;cifi&eacute;e par la directive <a
+ href="#timeout">Timeout</a> s'applique.</p>
+
+ <p>Mettre <code>KeepAliveTimeout</code> &agrave; une grande
+ valeur peut cr&eacute;er des probl&egrave;mes de performance
+ pour des serveurs charg&eacute;s. Le plus grand est ce
+ d&eacute;lai, le plus les processus du serveur seront
+ occup&eacute;s en attente de connexions avec des clients
+ inactifs.</p>
+ <hr />
+
+ <h2><a id="limit" name="limit">Directive &lt;Limit&gt;</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Limit} section directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;Limit <em>m&eacute;thode m&eacute;thode</em>
+ ... &gt; ... &lt;/Limit&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> tous<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Les contr&ocirc;les d'acc&egrave;s sont normalement actives
+ pour <strong>toutes</strong> les m&eacute;thodes
+ d'acc&egrave;s, et ceci est le comportement normal. <strong>En
+ g&eacute;n&eacute;ral, les directives de contr&ocirc;le
+ d'acc&egrave;s ne doivent &ecirc;tre plac&eacute;es &agrave;
+ l'int&eacute;rieur d'une section
+ <code>&lt;limit&gt;</code>.</strong></p>
+
+ <p>Le but de la directive &lt;Limit&gt; est de restreindre la
+ port&eacute;e des contr&ocirc;les d'acc&egrave;s &agrave;
+ certaines m&eacute;thodes HTTP. Pour toutes les autres
+ m&eacute;thodes, les restrictions d'acc&egrave;s qui sont
+ situ&eacute;es &agrave; l'int&eacute;rieur de &lt;Limit&gt;
+ <strong>sont sans effets</strong>. L'exemple suivant applique
+ le contr&ocirc;le d'acc&egrave;s uniquement aux m&eacute;thodes
+ POST, PUT, and DELETE, laissant les autres m&eacute;thodes non
+ prot&eacute;g&eacute;es :</p>
+
+ <blockquote>
+ <code>&lt;Limit POST PUT DELETE&gt;<br />
+ Require valid-user<br />
+ &lt;/Limit&gt;</code>
+ </blockquote>
+ Les noms de m&eacute;thodes peuvent &ecirc;tre choisis parmi
+ GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH,
+ PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, et UNLOCK.
+ <strong>Le nom de la m&eacute;thode est sensible &agrave; la
+ casse.</strong> Si GET est employ&eacute;, il restreindra
+ &eacute;galement les requ&ecirc;tes HEAD.
+ <hr />
+
+ <h2><a id="limitexcept" name="limitexcept">Directive
+ &lt;LimitExcept&gt;</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt LimitExcept} section directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;LimitExcept <em>m&eacute;thode</em>
+ [<em>m&eacute;thode</em>] ... &gt; ...
+ &lt;/LimitExcept&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> tous<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ disponible &agrave; partir de la version 1.3.5 d'Apache.
+
+ <p>&lt;LimitExcept&gt; et &lt;/LimitExcept&gt; sont
+ employ&eacute;s pour entourer un groupe de directives de
+ contr&ocirc;le d'acc&egrave;s qui s'appliqueront pour n'importe
+ quelle m&eacute;thode d'acc&egrave;s ne se trouvant
+ <strong>pas</strong> en arguments Cette directive est
+ l'opps&eacute;e de <a href="#limit">&lt;Limit&gt;</a> et peut
+ &ecirc;tre employ&eacute;e pour contr&ocirc;ler les
+ m&eacute;thodes non reconnues ou non standard. Voir la
+ documentation de <a href="#limit">&lt;Limit&gt;</a> pour plus
+ de d&eacute;tails.</p>
+ <hr />
+
+ <h2><a id="limitrequestbody" name="limitrequestbody">Directive
+ LimitRequestBody</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt LimitRequestBody} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LimitRequestBody <em>octets</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>LimitRequestBody 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ LimitRequestBody est disponible &agrave; partir de la version
+ 1.3.2.
+
+ <p>Cette directive d&eacute;termine la taille maximale en
+ octets que peut avoir le corps d'une requ&ecirc;te. Elle peut
+ aller de 0 (illimit&eacute;) &agrave; 2147483647 (2GB). La
+ valeur par d&eacute;faut est d&eacute;termin&eacute;e &agrave;
+ la compilation par la constante
+ <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 dans les
+ distributions).</p>
+
+ <p>La directive LimitRequestBody directive permet &agrave;
+ l'utilisateur de fixer une limite &agrave; la taille du corps
+ d'une requ&ecirc;te &agrave; l'int&eacute;rieur du contexte
+ o&ugrave; cette directive est situ&eacute;e (serveur, par
+ r&eacute;pertoire, par fichier). Si le client effezctue une
+ requ&ecirc;te exc&eacute;dant cette limite, le serveur
+ retournera un message d'erreur au lieu de traiter la
+ requ&ecirc;te. La taille d'une requ&ecirc;te normale peut
+ beaucoup varier en fonction de la nature de la ressource
+ demand&eacute;e et des m&eacute;thodes d'acc&egrave;s permise
+ sur cette ressource. Typiquement les scripts CGI utilise le
+ corps du message pour passer des informations au serveur. Des
+ impl&eacute;mentation de la m&eacute;thode PUT n&eacute;cessite
+ une valeur au moins aussi grande que le serveur souhaite
+ recevoir pour cette ressource.</p>
+
+ <p>Cette directive donne &agrave; l'administrateur un plus
+ grand contr&ocirc;le par rapport &agrave; des requ&ecirc;tes
+ anormales de clients, et peut &ecirc;tre utile pour
+ &eacute;viter certaines formes d'attaques par d&eacute;ni de
+ service.</p>
+ <hr />
+
+ <h2><a id="limitrequestfields"
+ name="limitrequestfields">Directive LimitRequestFields</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt LimitRequestFields} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LimitRequestFields <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>LimitRequestFields 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ LimitRequestFields est disponible &agrave; partir de la version
+ 1.3.2.
+
+ <p><em>Number</em> est un entier allant de 0 (signifiant sans
+ limite) &agrave; 32767. La valeur par d&eacute;faut est
+ d&eacute;finie &agrave; la compilation par la constante
+ <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 dans la
+ distribution).</p>
+
+ <p>La directive LimitRequestFields permet &agrave;
+ l'administrateur du serveur de modifier le nombre maximum de
+ champs autoris&eacute; &agrave; l'int&eacute;rieur de
+ l'en-t&ecirc;te d'une requ&ecirc;te HTTP. Un serveur doit avoir
+ cette valeur sup&eacute;rieure au nombre de champs qu'un client
+ normal peut inclure. Le nombre de champs utilis&eacute; par un
+ client exc&egrave;de rarement 20, mais ceci peut varier en
+ fonction de l'impl&eacute;mentation des clients, le plus
+ souvent il d&eacute;pend du niveau auquel le client a
+ configur&eacute; son butineur pour accepter une
+ n&eacute;gociation de contenu tr&egrave;s fine. Les extensions
+ HTTP optionnelles sont exprim&eacute;es en utilisant des champs
+ dans l'en-t&ecirc;te de requ&ecirc;te.</p>
+
+ <p>Cette directive permet &agrave; l'administrateur un meilleur
+ contr&ocirc;le par rapport &agrave; des requ&ecirc;tes
+ anormales, ce qui peut &ecirc;tre utile pour &eacute;viter
+ certaines attaques par d&eacute;ni de service. Cette valeur
+ doit &ecirc;tre augment&eacute;e si certains clients obtiennent
+ un message d'erreur &agrave; leurs requ&ecirc;tes indiquant que
+ trop de champs sont envoy&eacute;s dans la requ&ecirc;te.</p>
+ <hr />
+
+ <h2><a id="limitrequestfieldsize"
+ name="limitrequestfieldsize">Directive
+ LimitRequestFieldsize</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt LimitRequestFieldsize} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LimitRequestFieldsize <em>octets</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>LimitRequestFieldsize 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ LimitRequestFieldsize est disponible &agrave; partir de la
+ version 1.3.2.
+
+ <p>Cette directive indique la taille maximale de
+ l'en-t&ecirc;te d'une requ&ecirc;te HTTP et peut aller de 0
+ <em>octets</em> &agrave; la valeur d&eacute;finit &agrave; la
+ compilation par la constante
+ <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 dans la
+ distribution standard).</p>
+
+ <p>La directive LimitRequestFieldsize permet &agrave;
+ l'administrateur de limiter la taille autoris&eacute;e pour le
+ champ d'en-t&ecirc;te HTTP d'une requ&ecirc;te &agrave; une
+ valeur inf&eacute;rieure &agrave; celle d&eacute;finie &agrave;
+ la compilation. Un serveur doit avoir cette valeur suffisamment
+ grande pour pouvoir traiter les requ&ecirc;tes de clients
+ normaux. La taille d'une requ&ecirc;te noramle peut beaucoup
+ varier en fonction de l'impl&eacute;mentation du client, le
+ plus souvent il d&eacute;pend du niveau auquel le client a
+ configur&eacute; son butineur pour accepter une
+ n&eacute;gociation de contenu tr&egrave;s fine.</p>
+
+ <p>Cette directive permet l'administrateur d'avoir un meilleur
+ contr&ocirc;le sur des requ&ecirc;tes ayant un comportement
+ anormale, ce qui peut &ecirc;tre utile afin d'&eacute;viter
+ certaines formes d'attaques par d&eacute;ni de service. Dans
+ des conditions normales, cette valeur doit rester celle par
+ d&eacute;faut.</p>
+ <hr />
+
+ <h2><a id="limitrequestline" name="limitrequestline">Directive
+ LimitRequestLine</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt LimitRequestLine} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LimitRequestLine <em>octets</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>LimitRequestLine 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ LimitRequestLine est disponible &agrave; partir de la version
+ 1.3.2.
+
+ <p>Cette directive indique la taille maximale d'une
+ requ&ecirc;te HTTP et peut aller de 0 <em>octets</em> &agrave;
+ la valeur d&eacute;finit &agrave; la compilation par la
+ constante <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 dans la
+ distribution standard).</p>
+
+ <p>La directive LimitRequestLine permet &agrave;
+ l'administrateur de r&eacute;duire la limite fix&eacute;e pour
+ une requ&ecirc;te HTTP en dessous de la valeur fix&eacute;e
+ &agrave; la compilation. Comme une requ&ecirc;te est
+ compos&eacute;e de la m&eacute;thode HTTP, d'une URI et de la
+ version du protocole utilis&eacute;, la directive
+ LimitRequestLine place une restriction sur la taille maximale
+ que peut avoir une URI dansune requ&ecirc;te. Un serveur doit
+ avoir cette valeur suffisamment grande pour pouvoir traiter
+ n'importe quelle de ses ressources, en prenant en compte les
+ informations qui pourrait &ecirc;tre pass&eacute;es dans une
+ requ&ecirc;te GET.</p>
+
+ <p>Cette directive permet l'administrateur d'avoir un meilleur
+ contr&ocirc;le sur des requ&ecirc;tes ayant un comportement
+ anormale, ce qui peut &ecirc;tre utile afin d'&eacute;viter
+ certaines formes d'attaques par d&eacute;ni de service. Dans
+ des conditions normales, cette valeur doit rester celle par
+ d&eacute;faut.</p>
+ <hr />
+
+ <h2><a id="listen" name="listen">Directive Listen</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> Listen
+ [<em>adresseIp</em>:]<em>num&eacute;roPort</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> Listen
+ est disponible &agrave; partir de la version 1.1 d'Apache.
+
+ <p>La directive <tt>Listen</tt> enjoint Apache &agrave;
+ &eacute;couter plus d'une adresse IP ou port; par d&eacute;faut
+ Apache r&eacute;pond aux requ&ecirc;tes re&ccedil;ues sur
+ toutes les interfaces IP, mais seulement celles arrivant sur le
+ port donn&eacute; par la directive <a
+ href="#port">Port</a>.</p>
+ <tt>Listen</tt> peut &ecirc;tre utilis&eacute;e &agrave; la
+ place de <tt><a href="#bindaddress">BindAddress</a></tt> et
+ <tt>Port</tt>. Elle indique au serveur d'accepter des
+ requ&ecirc;tes entrantes sur le port sp&eacute;cifi&eacute; ou
+ sur une combinaison adresse-port. Si le premier format est
+ utilis&eacute; (avec seule mention d'un num&eacute;ro de port),
+ le serveur "&eacute;coutera" tous les ports
+ sp&eacute;cifi&eacute;s sur chacune des interfaces IP qu'il
+ conna&icirc;t, plut&ocirc;t que sur le port donn&eacute; par la
+ directive <tt>Port</tt>. Si une adresse IP adresse IP est
+ pr&eacute;cis&eacute;e en compl&eacute;ment, le serveur
+ restreindra son &eacute;coute &agrave; la combinaison
+ adresse-port pr&eacute;cis&eacute;e.<br />
+ <br />
+
+
+ <p>Notez que vous avez toujours besoin de la directive
+ <tt>Port</tt> qui permettent &agrave; Apache de
+ g&eacute;n&eacute;rer les URL de retour vers votre serveur.</p>
+
+ <p>Plusieurs directives <tt>Listen</tt> peuvent &ecirc;tre
+ utilis&eacute;es pour sp&eacute;cifier un ensemble d'adresses
+ et de ports &agrave; &eacute;couter. Le serveur r&eacute;pondra
+ aux requ&ecirc;tes re&ccedil;ues sur n'importe laquelle des
+ combinaisons adresse-port ainsi sp&eacute;cifi&eacute;e.</p>
+
+ <p>Par exemple, pour autoriser le serveur &agrave; accepter des
+ connexions sur les ports 80 et 8000, &eacute;crire :</p>
+
+ <blockquote>
+<pre>
+<code>Listen 80
+Listen 8000
+</code>
+</pre>
+ </blockquote>
+
+ <p>Pour autoriser un serveur &agrave; accepter des connexions
+ sur deux "sockets" qualifi&eacute;s, &eacute;crire :</p>
+<pre>
+Listen 192.170.2.1:80
+Listen 192.170.2.5:8000
+</pre>
+
+ <p><strong>Voir aussi:</strong> <a
+ href="../dns-caveats.html">Apache et DNS</a><br />
+ <strong>Voir aussi:</strong> <a href="../bind.html">Configurer
+ les ports et adresses utilis&eacute;e par Apache</a><br />
+ <strong>Voir aussi :</strong> <a
+ href="http://www.apache.org/info/known_bugs.html#listenbug">Bogues
+ connus</a></p>
+ <hr />
+
+ <h2><a id="listenbacklog" name="listenbacklog">Directive
+ ListenBacklog</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ListenBacklog <em>backlog</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ListenBacklog 511</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>ListenBacklog</tt> n'est disponible qu'&agrave; partir de
+ la version 1.2.0 d'Apache.
+
+ <p>La longueur maximale de la file d'attente des connexions en
+ attente. En g&eacute;n&eacute;ral, aucun ajustement n'est
+ n&eacute;cessaire, cependant, il est souhaitable sur certains
+ syst&egrave;mes d'augmenter cette longueur de file pour
+ r&eacute;pondre &agrave; des attaques TCP SYN. Voir les
+ param&egrave;tres backlog dans l'appel syst&egrave;me
+ <code>listen(2)</code>.</p>
+
+ <p>Cette directive est limit&eacute;e &agrave; un petit nombre
+ par le syst&egrave;me d'exploitation. Elle peut varier d'un
+ syst&egrave;me &agrave; un autre. Il faut &eacute;galement
+ noter que pour la plupart des syst&egrave;mes, la valeur
+ r&eacute;ellement utilis&eacute;e n'est pas celle
+ sp&eacute;cifi&eacute;e par la directive, mais un nombre
+ bas&eacute; sur cette valeur (g&eacute;n&eacute;ralement plus
+ grande).</p>
+ <hr />
+
+ <h2><a id="location" name="location">Directive
+ &lt;Location&gt;</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;Location <em>URL</em>&gt; ...
+ &lt;/Location&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>Location</tt> est disponible &agrave; partir des versions
+ 1.1 d'Apache.
+
+ <p>La directive <tt>&lt;Location&gt;</tt> permet d'instaurer un
+ contr&ocirc;le d'acc&egrave;s sur une base URL. Elle est
+ comparable &agrave; la directive <a
+ href="#directory">&lt;Directory&gt;</a>, et doit s'apparier
+ &agrave; une directive <tt>&lt;/Location&gt;</tt>. Les
+ directives s'appliquant &agrave; l'URL pr&eacute;cis&eacute;e
+ seront &agrave; inclure entre ces deux balises. Les sections
+ <tt>&lt;Location&gt;</tt> sont trait&eacute;es dans l'ordre
+ o&ugrave; elles apparaissent dans le fichier de configuration,
+ une fois les sections <tt>&lt;Directory&gt;</tt> et les
+ fichiers <code>.htaccess</code> trait&eacute;s.</p>
+
+ <p>Il faut noter que les URL n'ont pas du tout &agrave; suivre
+ la m&ecirc;me organisation que le syst&egrave;me de fichiers,
+ et il faut souligner que la directive &lt;Location&gt;
+ op&egrave;re de mani&egrave;re totalement ind&eacute;pendante
+ du syst&egrave;me de fichiers.</p>
+
+ <p>Le <em>pr&eacute;fixe d'URL</em> devra, sauf pour des
+ requ&ecirc;tes &agrave; un proxy, &ecirc;tre de la forme
+ <code>/chemin/</code>, et ne devra pas inclure de mention
+ <code>http://nomserveur</code>. Elle ne prot&egrave;ge pas
+ n&eacute;cessairement un r&eacute;pertoire (cela peut
+ &ecirc;tre un fichier individuel, ou un ensemble de fichiers),
+ et peut inclure des m&eacute;tacaract&egrave;res. Dans un motif
+ (avec des m&eacute;tacaract&egrave;res), '?' remplace un
+ caract&egrave;re quelconque, et '*' remplace toute cha&icirc;ne
+ quelconque de 0 ou plus caract&egrave;res. POur les
+ requ&ecirc;tes &agrave; un proxy, l'URL doitt &ecirc;tre de la
+ forme <code>scheme://nomserveur/serveur</code>, et vous devez
+ inclure le pr&eacute;fixe.</p>
+
+ <p><strong>Apache 1.2 et plus :</strong> Des expression
+ r&eacute;guli&egrave;res peuvent &ecirc;tre utilis&eacute;es,
+ &agrave; condition de les faire pr&eacute;c&eacute;der du
+ caract&egrave;re <code>~</code>. Par exemple :</p>
+
+ <blockquote>
+ <code>&lt;Location ~ "/(extra|special)/data"&gt;</code>
+ </blockquote>
+
+ <p>correspondrait &agrave; des URL contenant la
+ sous-cha&icirc;ne "/extra/data" ou "/special/data". Cependant,
+ sous Apache 1.3, l'utilisation de la directive <a
+ href="#locationmatch">&lt;LocationMatch&gt;</a> est
+ conseill&eacute;e.</p>
+
+ <p>La fonctionnalit&eacute; <tt>Location</tt> est
+ particuli&egrave;rement pratique lorsque combin&eacute;e
+ &agrave; la directive <a
+ href="mod_mime.html#sethandler">SetHandler</a>. Par exemple,
+ pour permettre des requ&ecirc;tes sur les rapports
+ d'&eacute;tat, mais ne les autoriser que pour des agents
+ requ&eacute;rant &agrave; partir du domaine foo.com, vous
+ pourriez &eacute;crire :</p>
+
+ <blockquote>
+<pre>
+<code>&lt;Location /status&gt;
+SetHandler server-status
+order deny,allow
+deny from all
+allow from .foo.com
+&lt;/Location&gt;
+</code>
+</pre>
+ </blockquote>
+
+ <p><strong>Note sur / (barre oblique) pour les version
+ sup&eacute;rieures &agrave; 1.3</strong>: La caract&egrave;re
+ barre oblique &agrave; une signification particuli&egrave;re en
+ fonction de l'endroit o&ugrave; il se situe. Des personnes sont
+ habitu&eacute;s au comportement dans certains syst&egrave;mes
+ de fichiers o&ugrave; de multiples caract&egrave;res obliques
+ sont remplac&eacute;s par un caract&egrave;re unique (par
+ exemple <code>/home///foo</code> est identique &agrave;
+ <code>/home/foo</code>). Dans le monde des URL ceci n'est pas
+ obligatoirement vrai. La directive
+ <code>&lt;LocationMatch&gt;</code> et la version avec
+ expression r&eacute;guli&egrave;re de
+ <code>&lt;Location&gt;</code> demande de sp&eacute;cifier
+ plusieurs caract&egrave;res obliques si ceci est votre
+ intention. Par exemple, <code>&lt;LocationMatch
+ ^/abc&gt;</code> fonctionnera avec l'URL <code>/abc</code> mais
+ pas avec l'URL <code>//abc</code>. La directive (sans
+ expression r&eacute;guli&egrave;re)
+ <code>&lt;Location&gt;</code> se comporte de mani&egrave;re
+ similaire quand elle est employ&eacute;e pour des
+ requ&ecirc;tes proxy. Mais si la directive (sans expression
+ r&eacute;guli&egrave;re) <code>&lt;Location&gt;</code> est
+ utilis&eacute;e pour des requ&ecirc;tes sans proxy, il
+ associera implicitement plusieurs obliques &agrave; un seul.
+ Par exemple, si vous sp&eacute;cifiez <code>&lt;Location
+ /abc/def&gt;</code> et que la requ&ecirc;te est
+ <code>/abc//def</code> celle ci correspondra.</p>
+
+ <p><strong>Voir aussi</strong>: <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e.</p>
+ <hr />
+
+ <h2><a id="locationmatch" name="locationmatch">Directive
+ &lt;LocationMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;LocationMatch <em>regex</em>&gt; ...
+ &lt;/LocationMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> Location
+ est disponible &agrave; partir de la version 1.3 d'Apache.
+
+ <p>La directive <tt>&lt;LocationMatch&gt;</tt> permet
+ l'&eacute;tablissement d'un contr&ocirc;le d'acc&egrave;s sur
+ une base URL, d'une fa&ccedil;on identique &agrave; la
+ directive <a href="#location">&lt;Location&gt;</a>. Cependant,
+ elle n'accepte qu'une expression r&eacute;guli&egrave;re comme
+ argument. Par exemple :</p>
+
+ <blockquote>
+ <code>&lt;LocationMatch "/(extra|special)/data"&gt;</code>
+ </blockquote>
+ repr&eacute;sente des URL contenant l'une des
+ sous-cha&icirc;nes "/extra/data" ou "/special/data". <br />
+ <br />
+ <strong>Voir aussi</strong> : <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e.
+ <hr />
+
+ <h2><a id="lockfile" name="lockfile">Directive
+ LockFile</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LockFile <em>nomfichier</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>LockFile
+ logs/accept.lock</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>LockFile</tt> indique le chemin
+ d'acc&egrave;s du fichier de verrouillage utilis&eacute;
+ lorsqu'Apache est compil&eacute; en mode
+ <code>USE_FCNTL_SERIALIZED_ACCEPT</code> ou
+ <code>USE_FLOCK_SERIALIZED_ACCEPT</code>. Ce param&egrave;tre
+ sera laiss&eacute; g&eacute;n&eacute;ralement dans son
+ &eacute;tat par d&eacute;faut. La raison principale qui
+ conduirait &agrave; modifier ce param&egrave;tre serait le fait
+ que le r&eacute;pertoire des traces (<code>logs</code>) soit
+ mont&eacute; sous NFS, le fichier de verrouillage devant de
+ pr&eacute;f&eacute;rence &ecirc;tre situ&eacute; sur un disque
+ local &agrave; la machine serveur pour autant que possible. Le
+ PID du processus serveur principal est automatiquement
+ rajout&eacute; au nom de fichier.</p>
+
+ <p><strong>SECURITE :</strong> il vaut mieux &eacute;viter de
+ metttre ce fichier dans un r&eacute;pertoire inscriptible par
+ tout le monde tel que <code>/var/tmp</code> cas quelqu'un
+ pourrait cr&eacute;er une attaque par d&eacute;ni de service et
+ emp&eacute;cher le serveur de red&eacute;marrer en
+ cr&eacute;ant un fichier de verrouillage de m&ecirc;me nom que
+ celui que veut cr&eacute;er le serveur.</p>
+ <hr />
+
+ <h2><a id="loglevel" name="loglevel">Directive
+ LogLevel</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> LogLevel <em>niveau</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>LogLevel
+ error</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;tes virtuels<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> LogLevel
+ est disponible &agrave; partir de la version 1.3.
+
+ <p>LogLevel ajuste le niveau de verbosit&eacute; des messages
+ inscrits dans les traces d'erreur (voir la directive <a
+ href="#errorlog">ErrorLog</a>). Les niveaux possibles sont par
+ ordre de gravit&eacute; d&eacute;croissante :</p>
+
+ <table>
+ <tr>
+ <th align="LEFT"><strong>Niveau</strong> </th>
+
+ <th align="LEFT"><strong>Description</strong> </th>
+ </tr>
+
+ <tr>
+ <th>
+ </th>
+
+ <th align="LEFT"><strong>Exemple</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Urgences - le syst&egrave;me est inutilisable.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Une action doit &ecirc;tre prise
+ imm&eacute;diatement.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Conditions critiques.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Cas d'erreur.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Avertissements.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Normal mais condition significative.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Pour information.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Messages de d&eacute;boguage</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>Quand un niveau est sp&eacute;cifi&eacute;, les messages des
+ niveaux de plus haute gravit&eacute; seront &eacute;galement
+ rapport&eacute;s. Par exemple, quand la directive
+ <code>LogLevel info</code> est d&eacute;finie, les messages de
+ niveau <code>notice</code> et <code>warn</code> seront aussi
+ notifi&eacute;s.</p>
+
+ <p>L'utilisation d'un niveau de gravit&eacute; d'au moins
+ <code>crit</code> est recommand&eacute;.</p>
+ <hr />
+
+ <h2><a id="maxclients" name="maxclients">Directive
+ MaxClients</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MaxClients} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> MaxClients <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>MaxClients 256</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>MaxClients</tt> indique le nombre limite de
+ requ&ecirc;tes simultan&eacute;es pouvant &ecirc;tre
+ accept&eacute;es par le serveur ; il repr&eacute;sente le
+ nombre maximum de processus serveur fils qui peuvent tourner
+ &agrave; un instant donn&eacute;. Pour configurer plus de 256
+ clients, vous devez modifier la constante HARD_SERVER_LIMIT du
+ fichier source d'Apache httpd.h et recompiler Apache.</p>
+
+ <p>Les tentatives de connexions au del&agrave; de MaxClients
+ sont normalement mises en attente, jusqu'&agrave; une limite
+ fix&eacute;e par la directive <a
+ href="#listenbacklog">ListenBacklog</a>. Une fois qu'un
+ processus fils est libre &agrave; la fin d'une requ&ecirc;te
+ diff&eacute;rente, la connexion en attente est
+ trait&eacute;e.</p>
+ <hr />
+
+ <h2><a id="maxkeepaliverequests"
+ name="maxkeepaliverequests">Directive
+ MaxKeepAliveRequests</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> MaxKeepAliveRequests <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>MaxKeepAliveRequests 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ Uniquement &agrave; partir de la version 1.2 d'Apache.
+
+ <p>La directive <tt>MaxKeepAliveRequests</tt> limite le nombre
+ de requ&ecirc;tes permises pour une connexion unique lorsque la
+ directive <a href="#keepalive">KeepAlive</a> est
+ activ&eacute;e. Si <em>nombre</em> vaut "<code>0</code>",
+ chaque connexion peut admettre un nombre illimit&eacute; de
+ requ&ecirc;tes. Nous recommendons que ce param&egrave;tre soit
+ r&eacute;gl&eacute; sur une valeur relativement haute pour
+ obtenir des performances optimales du serveur. Dans la version
+ 1.1 d'Apache, ceci est contr&ocirc;l&eacute; par la directive
+ Keepalive</p>
+ <hr />
+
+ <h2><a id="maxrequestsperchild"
+ name="maxrequestsperchild">Directive
+ MaxRequestsPerChild</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MaxRequestsPerChild} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> MaxRequestsPerChild <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>MaxRequestsPerChild 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>MaxRequestsPerChild</tt> indique le nombre
+ limite de requ&ecirc;tes qu'un processus serveur fils peut
+ tra&icirc;ter. Apr&egrave;s <tt>MaxRequestsPerChild</tt>
+ requ&ecirc;tes, ce processus fils meurt. Si ce param&egrave;tre
+ est fix&eacute; &agrave; 0, alors les processus fils ne meurent
+ jamais.</p>
+
+ <p>Le fait de mettre <tt>MaxRequestsPerChild</tt> &agrave; une
+ valeur non nulle a deux cons&eacute;quences
+ b&eacute;n&eacute;fiques :</p>
+
+ <ul>
+ <li>cela limite le volume de m&eacute;moire qu'un processus
+ peut consommer (accidentellement) et &eacute;vite une
+ saturation m&eacute;moire ;</li>
+
+ <li>en donnant &agrave; un processus un temps de vie fini, le
+ nombre total de processus impliqu&eacute;s dans le serveur
+ d&eacute;croit lorsque la charge du serveur retombe.</li>
+ </ul>
+
+ <p>Cependant sur les syst&egrave;mes Win32, il est
+ recommand&eacute; de mettre cette valeur &agrave; 0. Si celle
+ ci est &agrave; une valeur non nulle, quand le nombre de
+ requ&ecirc;tes est atteint, le processus fils quitte, et est
+ relanc&eacute; en relisant les fichiers de configuration. Ceci
+ peut conduire &agrave; un comportement impr&eacute;visible si
+ vous avez modifi&eacute; un fichier de configuration, mais ne
+ souhaitez pas que ces changements soient pris en compte. Voir
+ &eacute;galement <a
+ href="#threadsperchild">ThreadsPerChild</a>.</p>
+
+ <p><strong>NOTE:</strong> pour les requ&ecirc;tes
+ <em>KeepAlive</em> requests, seule la premi&egrave;re
+ requ&ecirc;te est compt&eacute;e. En r&eacute;alit&eacute;, il
+ change le comportement afin de limiter le nombre de
+ <em>connexions</em> par fils.</p>
+ <hr />
+
+ <h2><a id="maxspareservers" name="maxspareservers">Directive
+ MaxSpareServers</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MaxSpareServers} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> MaxSpareServers <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>MaxSpareServers 10</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>MaxSpareServers</tt> indique le nombre
+ maximal de processus fils en <em>attente</em>. Un processus en
+ attente est un processus qui existe, mais qui ne traite pas de
+ requ&ecirc;te. S'il existe plus de <tt>MaxSpareServers</tt> de
+ ces processus, alors le p&egrave;re viendra tuer les processus
+ en suppl&eacute;mentaires.</p>
+
+ <p>L'activation de cette fonctionnalit&eacute; ne devrait
+ &ecirc;tre n&eacute;cessaire que sur les site vraiment
+ tr&egrave;s charg&eacute;s. R&eacute;gler ce param&egrave;tre
+ sur une grande valeur est de toutes fa&ccedil;on toujours une
+ mauvaise id&eacute;e.</p>
+
+ <p>Cette directive n'a aucun effet quand elle est
+ employ&eacute;e sur les plates-formes WIndows.</p>
+
+ <p>Voir aussi <a href="#minspareservers">MinSpareServers</a> et
+ <a href="#startservers">StartServers</a>.</p>
+ <hr />
+
+ <h2><a id="minspareservers" name="minspareservers">Directive
+ MinSpareServers</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt MinSpareServers} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> MinSpareServers <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>MinSpareServers 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>MinSpareServers</tt> indique le nombre
+ minimum de processus fils en <em>attente</em> qu'un serveur
+ pourra conserver. S'il existe moins de <tt>MinSpareServers</tt>
+ processus serveurs fils en attente, le processus p&egrave;re
+ recr&eacute;era des processus fils au rythme de 1 par
+ seconde.</p>
+
+ <p>L'activation de cette fonctionnalit&eacute; ne devrait
+ &ecirc;tre n&eacute;cessaire que sur des sites tr&egrave;s
+ charg&eacute;s. R&eacute;gler ce param&egrave;tre sur une
+ grande valeur est de toutes fa&ccedil;ons toujours une mauvaise
+ id&eacute;e.</p>
+
+ <p>Cette directive n'a aucun effet quand elle est
+ employ&eacute;e sur les plates-formes WIndows.</p>
+
+ <p>Voir aussi <a href="#maxspareservers">MaxSpareServers</a> et
+ <a href="#startservers">StartServers</a>.</p>
+ <hr />
+
+ <h2><a id="namevirtualhost" name="namevirtualhost">Directive
+ NameVirtualHost</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt NameVirtualHost} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> NameVirtualHost
+ <em>addr</em>[:<em>port</em>]<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>NameVirtualHost</tt> n'est disponible qu'&agrave; partir de
+ la version 1.3 d'Apache.
+
+ <p>La directive <tt>NameVirtualHost</tt> est n&eacute;cessaire
+ si vous souhaitez configurer <a href="../vhosts/index.html">des
+ h&ocirc;tes virtuels nomm&eacute;s</a>.</p>
+
+ <p>Bien que <em>addr</em> puisse &ecirc;tre exprim&eacute;e
+ comme un nom d'h&ocirc;te, il est recommand&eacute; d'utiliser
+ une adresse IP, exemple :</p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44</code>
+ </blockquote>
+
+ <p>Avec cette directive <tt>NameVirtualHost</tt>, l'adresse
+ nomm&eacute;e par le nom de votre h&ocirc;te virtuel se
+ r&eacute;sout. Si vous exploitez plusieurs h&ocirc;tes
+ nomm&eacute;s sur des adresses multiples, r&eacute;p&eacute;tez
+ cette directive autant de fois que n&eacute;cessaire (pour
+ chaque adresse).</p>
+
+ <p>Note: le "serveur principal" et tous les serveurs "par
+ d&eacute;faut" ne seront <strong>jamais</strong> servis pour
+ une requ&ecirc;te vers une adresse IP NameVirtualHost (&agrave;
+ moins que pour une raison donn&eacute;e vous d&eacute;finissiez
+ NameVirtualHost mais qu'aucun VirtualHosts ne soit
+ d&eacute;fini pour cette adresse).</p>
+
+ <p>En option, vous pouvez pr&eacute;ciser un num&eacute;ro de
+ port sur lequel l'h&ocirc;te virtuel nomm&eacute; sera atteint,
+ par exemple :</p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44:8080</code>
+ </blockquote>
+ A partir de la version 1.3.13, vous pouvez donner comme adresse
+ <code>*</code> Ceci cr&eacute;e un NameVirtualHost qui
+ correspond &agrave; toutes les connexions venant de toutes les
+ adresses IP qui ne sont pas configur&eacute;s avec une autre
+ directive NameVirtualHost ou un section <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a>. Cette option est
+ pratique si vous n'utilisez que des h&ocirc;tes virtuels
+ nomm&eacute;s et que vous ne souhaitez pas coder en dur
+ l'adresse IP de votre machine dans le fichier de
+ configuration.<br />
+ <br />
+ <strong>Voir aussi :</strong> <a href="../vhosts/">H&ocirc;tes
+ virtuels sur Apache</a>
+ <hr />
+
+ <h2><a id="options" name="options">Directive Options</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Options} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> Options <em>[+|-]option [+|-]option
+ ...</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <strong>Surcharge:</strong> Options<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>Options</tt> contr&ocirc;le quelles
+ fonctions du serveur sont disponibles dans un r&eacute;pertoire
+ particulier.</p>
+
+ <p><em>option</em> peut valoir <code>None</code>, auquel cas
+ aucune fonction suppl&eacute;mentaire n'est disponible, ou une
+ ou plus des possibilit&eacute;s suivantes :</p>
+
+ <dl>
+ <dt>All</dt>
+
+ <dd>toutes options sauf MultiViews.</dd>
+
+ <dt>ExecCGI</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt ExecCGI} option&gt; -->
+ L'ex&eacute;cution des scripts CGI est autoris&eacute;e.</dd>
+
+ <dt>FollowSymLinks</dt>
+
+ <dd>
+ <!--%plaintext &lt;?INDEX {\tt FollowSymLinks} option&gt; -->
+ Le serveur est autoris&eacute; &agrave; suivre les liens
+ symboliques dans ce r&eacute;pertoire.
+
+ <p><strong>Note</strong>: m&ecirc;me si le serveur suit le
+ lien symbolique, il <b>ne</b> doit <b>pas</b> changer le
+ chemin d'acc&egrave;s afin de ne pas entrer en
+ contradiction avec les sections
+ <tt>&lt;Directory&gt;</tt>.</p>
+ </dd>
+
+ <dt>Includes</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt Includes} option&gt; -->
+ Les inclusions par Server-Side-Include sont permises.</dd>
+
+ <dt>IncludesNOEXEC</dt>
+
+ <dd>
+ <!--%plaintext &lt;?INDEX {\tt IncludesNOEXEC} option&gt; -->
+ Les SSI sont autoris&eacute;s, mais pas la commande #exec ni
+ <code>#include</code> des scripts CGI.</dd>
+
+ <dt>Indexes</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt Indexes} option&gt; -->
+ Si une URL requise pointe sur un r&eacute;pertoire, et aucun
+ fichier d&eacute;fini par <tt>DirectoryIndex</tt> (ex.
+ index.html) n'existe dans ce r&eacute;pertoire, alors le
+ serveur retourne une liste format&eacute;e du contenu du
+ r&eacute;pertoire.</dd>
+
+ <dt>MultiViews</dt>
+
+ <dd><!--%plaintext &lt;?INDEX {\tt MultiViews} option&gt; -->
+ <a href="../content-negotiation.html">Un contenu
+ n&eacute;goci&eacute;</a> en <code>MultiViews</code> est
+ permis.</dd>
+
+ <dt>SymLinksIfOwnerMatch</dt>
+
+ <dd>
+ <!--%plaintext &lt;?INDEX {\tt SymLinksIfOwnerMatch} option&gt; -->
+ Le serveur ne suivra les liens symboliques uniquement si le
+ fichier vis&eacute; ou le r&eacute;pertoire vis&eacute;
+ appartiennent au m&ecirc;me utilisateur que le lien
+ lui-m&ecirc;me.</dd>
+ </dl>
+
+ <p>Normalement, si plusieurs options <code>Options</code>
+ peuvent &ecirc;tre appliqu&eacute;es &agrave; un
+ r&eacute;pertoire, alors la plus restrictive est
+ appliqu&eacute;e ; les options ne sont pas combin&eacute;es.
+ Cependant, si <i>all</i> les options dans la directive
+ <code>Options</code> sontpr&eacute;c&eacute;d&eacute;es d'un
+ symbole + ou -, alors les options sont alors combin&eacute;es
+ entre elles. Toute option pr&eacute;c&eacute;d&eacute;e d'un +
+ est ajout&eacute;e aux options en cours, toute option
+ pr&eacute;c&eacute;d&eacute;e d'un - est
+ d&eacute;sactiv&eacute;e.</p>
+
+ <p>Par exemple, sans symboles + ni - :</p>
+
+ <blockquote>
+<pre>
+<code>&lt;Directory /web/docs&gt;
+Options Indexes FollowSymLinks
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt;
+Options Includes
+&lt;/Directory&gt;
+</code>
+</pre>
+ </blockquote>
+
+ <p>seul <code>Includes</code> sera activ&eacute; pour le
+ r&eacute;pertoire <code>/web/docs/spec</code>. Cependant, si la
+ seconde directive d'<code>Options</code> utilise les symboles +
+ et - :</p>
+
+ <blockquote>
+<pre>
+<code>&lt;Directory /web/docs&gt;
+Options Indexes FollowSymLinks
+&lt;/Directory&gt;
+&lt;Directory /web/docs/spec&gt;
+Options +Includes -Indexes
+&lt;/Directory&gt;
+</code>
+</pre>
+ </blockquote>
+
+ <p>alors les options <code>FollowSymLinks</code> et
+ <code>Includes</code> sont valid&eacute;es pour le
+ r&eacute;pertoire <code>/web/docs/spec</code>.</p>
+ <hr />
+
+ <h2><a id="pidfile" name="pidfile">Directive PidFile</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt PidFile} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> PidFile <em>filename</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>PidFile
+ logs/httpd.pid</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>PidFile</tt> d&eacute;finit le fichier dans
+ lequel le serveur enregistre l'identificateur de processus du
+ d&eacute;mon. Si le nom de fichier ne commence pas par un slash
+ (/) alors le fichier est d&eacute;fini relativement au <a
+ href="#serverroot">ServerRoot</a>. Le fichier <tt>PidFile</tt>
+ n'est utilis&eacute; que dans le mode <a
+ href="#servertype">standalone</a>.</p>
+
+ <p>Il est souvent utile de pouvoir envoyer un signal au
+ serveur, pour qu'il referme et r&eacute;ouvre ses fichiers <a
+ href="#errorlog">ErrorLog</a> et <tt>TransferLog</tt>, et
+ relise ses fichiers de configuration. Ceci peut &ecirc;tre fait
+ en envoyant un signal SIGHUP (kill -1) au processus
+ identifi&eacute; par l'identificateur de processus
+ marqu&eacute; dans <tt>PidFile</tt>.</p>
+
+ <p>Le fichier <tt>PidFile</tt> est concern&eacute; par les
+ m&ecirc;mes probl&egrave;mes d'emplacement et de <a
+ href="../misc/security_tips.html">securit&eacute;</a> que les
+ fichiers de trace.</p>
+ <hr />
+
+ <h2><a id="port" name="port">Directive Port</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Port} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> Port <em>num&eacute;ro</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>Port
+ 80</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p><em>num&eacute;ro</em> est un nombre compris entre 0 et
+ 65535; certains num&eacute;ros de ports (surtout en dessous de
+ 1024) sont r&eacute;serv&eacute;s pour des protocoles
+ sp&eacute;cifiques. Une liste des ports
+ pr&eacute;d&eacute;finis est consultable dans la RFC 1340
+ "Assigned Numbers" <code>/etc/services</code>; le port standard
+ assign&eacute; au protocole http est le port 80.</p>
+
+ <p>La directive <tt>Port</tt> a deux comportements, le premier
+ est n&eacute;cessaire pour assurer la compatibilit&eacute; NCSA
+ (et qui peut pr&eacute;ter &agrave; confusion dans le contexte
+ d'Apache).</p>
+
+ <ul>
+ <li>En absence de toute directive <a
+ href="#listen">Listen</a> ou <a
+ href="#bindaddress">BindAddress</a> sp&eacute;cifiant un
+ num&eacute;ro de port, la directive <tt>Port</tt>
+ d&eacute;finit le port r&eacute;seau que le serveur
+ &eacute;coute. S'il existe une directive <tt>Listen</tt> ou
+ <tt>BindAddress</tt> sp&eacute;cifiant un
+ <code>:num&eacute;ro</code> alors la directive Port n'a aucun
+ effet quant au socket que le serveur &eacute;coute.</li>
+
+ <li>La directive Port d&eacute;finit la variable
+ d'environnement <code>SERVER_PORT</code> (pour les <a
+ href="mod_cgi.html">CGI</a> et les <a
+ href="mod_include.html">SSI</a>), laquelle est
+ utilis&eacute;e lorsque le serveur g&eacute;n&egrave;re une
+ URL qui point sur lui-m&ecirc;me (par exemple lorsqu'il
+ indique une indirection externe vers lui-m&ecirc;me).</li>
+ </ul>
+
+ <p>Dans aucun cas une d&eacute;finition du <tt>Port</tt> ne
+ d&eacute;finit &agrave; quel port un <a
+ href="#virtualhost">VirtualHost</a> r&eacute;pond, la directive
+ <tt>VirtualHost</tt> elle-m&ecirc;me se chargeant de cette
+ d&eacute;finition.</p>
+
+ <p>Le comportement premier de la directive <tt>Port</tt> doit
+ &ecirc;tre consid&eacute;r&eacute; comme similaire &agrave;
+ celui de la directive <a href="#servername">ServerName</a>.
+ <tt>ServerName</tt> et <tt>Port</tt> sp&eacute;cifient
+ conjointement ce que vous consid&eacute;rez &ecirc;tre
+ l'adresse <em>canonique</em> du serveur.</p>
+
+ <p>Le Port 80 est l'un des ports pr&eacute;d&eacute;finis
+ d'Unix. Tous les ports num&eacute;rot&eacute;s en dessous de
+ 1024 sont r&eacute;serv&eacute;s &agrave; un usage
+ syst&egrave;me, c-&agrave;-d. que des utilisateurs non
+ privil&eacute;gi&eacute;s (non-root) ne peuvent les utiliser ;
+ ces derniers peuvent par contre utiliser des ports de plus haut
+ rang. Pour utiliser le port 80, le serveur doit &ecirc;tre
+ ex&eacute;cut&eacute; sous <code>root</code>. Apr&egrave;s
+ avoir li&eacute; le port (bind) et avant d'accepter des
+ requ&ecirc;tes, Apache changera son utilisateur associ&eacute;
+ tel que d&eacute;fini par la directive <a
+ href="#user">User</a>.</p>
+
+ <p>Si vous ne pouvez utiliser le port 80, choisissez tout autre
+ port libre. Les utilisateurs non-root devront choisir un
+ num&eacute;ro de port sup&eacute;rieur &agrave; 1023, 8000 par
+ exemple.</p>
+
+ <p><strong>S&eacute;curit&eacute; :</strong> si vous
+ d&eacute;marrez le serveur sous <code>root</code>, assurez vous
+ que la directive <a href="#user">User</a> ne mentionne pas
+ <code>root</code>. Si vous traitez des requ&ecirc;tes en
+ disposant toujours de super privil&egrave;ges, vous ouvrez
+ votre syst&egrave;me &agrave; des attaques majeures.</p>
+ <hr />
+
+ <h2><a id="require" name="require">Directive require</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt require} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> require <em>nomEntite Entite
+ Entite...</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+ .htaccess<br />
+ <strong>Surcharge:</strong> AuthConfig<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Cette directive choisi quels utilisateurs autoris&eacute;s
+ peuvent acc&eacute;der &agrave; un r&eacute;pertoire. Les
+ syntaxes valides sont :</p>
+
+ <ul>
+ <li>
+ require user <em>utilisateur utilisateur ...</em>
+
+ <p>Seuls les utilisateurs nomm&eacute;s peuvent
+ acc&eacute;der au r&eacute;pertoire.</p>
+ </li>
+
+ <li>
+ require group <em>nomGroupe nomGroupe ...</em>
+
+ <p>Seuls les utilisateurs des groupes cit&eacute;s peuvent
+ acc&eacute;der au r&eacute;pertoire.</p>
+ </li>
+
+ <li>
+ require valid-user
+
+ <p>Tout utilisateur reconnu peut acc&eacute;der au
+ r&eacute;pertoire (par opposition aux non
+ utilisateurs).</p>
+ </li>
+ </ul>
+
+ <p>Si <code>require</code> appara&icirc;t dans une section <a
+ href="#limit">&lt;Limit&gt;</a>, alors les restrictions ne sont
+ appliqu&eacute;es qu'aux m&eacute;thodes http
+ mentionn&eacute;es. Autrement, toutes les m&eacute;thodes http
+ sont restreintes. Exemple :</p>
+
+ <blockquote>
+<pre>
+<code>AuthType Basic
+AuthName unDomaine
+AuthUserFile /web/users
+AuthGroupFile /web/groups
+&lt;Limit GET POST&gt;
+require group admin
+&lt;/Limit&gt;
+</code>
+</pre>
+ </blockquote>
+
+ <p>Pour fonctionner correctement, la directive Require doit
+ &ecirc;tre accompagn&eacute; de directives <a
+ href="#authname">AuthName</a> et <a
+ href="#authtype">AuthType</a>, et de directives de type <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a> et <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> (servant
+ &agrave; d&eacute;finir les utilisateurs et les groupes).</p>
+ <hr />
+
+ <h2><a id="resourceconfig" name="resourceconfig">Directive
+ ResourceConfig</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ResourceConfig} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ResourceConfig <em>nomfichier</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ResourceConfig conf/srm.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Le serveur lit dans ce fichier des directives
+ suppl&eacute;mentaires, apr&egrave;s avoir lu le fichier
+ <code>httpd.conf</code>. <em>nomfichier</em> est
+ consid&eacute;r&eacute; relativement &agrave; <a
+ href="#serverroot">ServerRoot</a>. Cette fonctionnalit&eacute;
+ peut &ecirc;tre d&eacute;sactiv&eacute;e par l'&eacute;criture
+ :</p>
+
+ <blockquote>
+ <code>ResourceConfig /dev/null</code>
+ </blockquote>
+ ou sur les serveurs Win32
+
+ <blockquote>
+ <code>ResourceConfig nul</code>
+ </blockquote>
+
+ <p>Historiquement, ce fichier contenait essentiellement les
+ directives autres que celles servant &agrave; la configuration
+ du serveur ou les sections <a
+ href="#directory">&lt;Directory&gt;</a> ; en fait, il peut
+ contenir maintenant toute directive admise dans le contexte
+ <em>configuration serveur</em>.</p>
+
+ <p>A partir de la version 1.3.13, si la directive
+ <code>ResourceConfig</code> pointe sur un r&eacute;pertoire
+ plutot qu'un fichier, Apache lira tous les fichiers de ce
+ r&eacute;pertoire ou de ses sous-r&eacute;pertoires et les
+ traitera comme fichiers de configuration.</p>
+
+ <p>Voir aussi <a href="#accessconfig">AccessConfig</a>.</p>
+ <hr />
+
+ <h2><a id="rlimit" name="rlimit">Directive RLimitCPU</a> <a
+ id="rlimitcpu" name="rlimitcpu"></a></h2>
+ <!--%plaintext &lt;?INDEX {\tt RLimitCPU} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> RLimitCPU <em># ou 'max'</em> <em>[# ou
+ 'max']</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <em>Non
+ pr&eacute;cis&eacute;; utilise le d&eacute;faut du
+ syst&egrave;me d'exploitation</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ RLimitCPU n'est disponible qu'&agrave; partir de la version 1.2
+ d'Apache
+
+ <p>Accepte 1 ou 2 paramet&egrave;res. Le premier
+ param&egrave;tre indique la limite logicielle pour tous les
+ processus et le second param&egrave;tre la limite
+ sup&eacute;rieure en termes de ressources. Chacun des
+ param&egrave;tres peut &ecirc;tre exprim&eacute; par un nombre,
+ ou <em>max</em> pour indiquer au serveur que la limite est
+ celle impos&eacute;e par le syst&egrave;me d'exploitation. La
+ limite sup&eacute;rieure en ressource ne peut &ecirc;tre
+ atteinte que si le serveur tourne sous root, ou
+ &eacute;ventuellement pendant la phase de d&eacute;marrage.</p>
+
+ <p>Ceci est valide pour les processus lanc&eacute;s par les
+ processus fils d'Apache pour le traitement des requ&ecirc;tes
+ et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+ inclut les scripts CGI, les commandes exec SSI, mais pas les
+ processus lanc&eacute;s par le processu Apache p&egrave;re tels
+ que les traces.</p>
+
+ <p>La limite de ressources CPU est exprim&eacute;e en secondes
+ par processus.</p>
+
+ <p>Voir aussi <a href="#rlimitmem">RLimitMEM</a> ou <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitmem" name="rlimitmem">Directive
+ RLimitMEM</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt RLimitMEM} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> RLimitMEM <em># ou 'max'</em> <em>[# ou
+ 'max']</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <em>Non
+ pr&eacute;cis&eacute; ; utilise le d&eacute;faut du
+ syst&egrave;me d'exploitation</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ RLimitMEM is only available in Apache 1.2 and later
+
+ <p>Accepte 1 ou 2 param&egrave;tres. Le premier
+ param&egrave;tre fixe la limite logicielle en ressources
+ m&eacute;moire pour tous les processus tandis que le second
+ param&egrave;tre fixe la limite absolue de ressources
+ m&eacute;moire. Chaque param&egrave;tre peut &ecirc;tre un
+ nombre, ou <em>max</em> pour indiquer au serveur que la limite
+ est fix&eacute;e par le syst&egrave;me d'exploitation. La
+ limite sup&eacute;rieure en ressource ne peut &ecirc;tre
+ atteinte que si le serveur tourne sous root, ou
+ &eacute;ventuellement pendant la phase de d&eacute;marrage.</p>
+
+ <p>Ceci est valide pour les processus lanc&eacute;s par les
+ processus fils d'Apache pour le traitement des requ&ecirc;tes
+ et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+ inclut les scripts CGI, les commandes exec SSI, mais pas les
+ processus lanc&eacute;s par le processu Apache p&egrave;re tels
+ que les traces.</p>
+
+ <p>Les ressources m&eacute;moire sont exprim&eacute;es en
+ octets par processus.</p>
+
+ <p>Voir aussi <a href="#rlimitcpu">RLimitCPU</a> ou <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitnproc" name="rlimitnproc">Directive
+ RLimitNPROC</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt RLimitNPROC} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> RLimitNPROC <em># ou 'max'</em> <em>[# ou
+ 'max']</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <em>Unset; uses
+ operating system defaults</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ RLimitNPROC n'est disponible qu'&agrave; partir de la version
+ 1.2 d'Apache
+
+ <p>Accepte 1 ou 2 param&egrave;tres. Le premier
+ param&egrave;tre fixe la limite logicielle en ressources pour
+ tous les processus tandis que le second param&egrave;tre fixe
+ la limite absolue de ressources m&eacute;moire. Chaque
+ param&egrave;tre peut &ecirc;tre un nombre, ou <em>max</em>
+ pour indiquer au serveur que la limite est fix&eacute;e par le
+ syst&egrave;me d'exploitation. La limite sup&eacute;rieure en
+ ressource ne peut &ecirc;tre atteinte que si le serveur tourne
+ sous root, ou &eacute;ventuellement pendant la phase de
+ d&eacute;marrage.</p>
+
+ <p>Ceci est valide pour les processus lanc&eacute;s par les
+ processus fils d'Apache pour le traitement des requ&ecirc;tes
+ et non pour les processus fils d'Apache eux-m&ecirc;mes. Cela
+ inclut les scripts CGI, les commandes exec SSI, mais pas les
+ processus lanc&eacute;s par le processu Apache p&egrave;re tels
+ que les traces.</p>
+
+ <p>Cette limite contr&ocirc;le le nombre de processus maximum
+ par utilisateur.</p>
+
+ <p><strong>Note :</strong> Si les processus CGI <b>ne</b>
+ tournent <b>pas</b> sous un autre utilisateur que l'utilisateur
+ du serveur, cette directive limitera aussi le nombre de
+ processus que le serveur lui-m&ecirc;me peut cr&eacute;er.
+ Cette situation sera indiqu&eacute;e de fa&ccedil;on
+ &eacute;vidente par des messages d'erreur <b><em>cannot
+ fork</em></b> dans le fichier error_log.</p>
+
+ <p>Voir aussi <a href="#rlimitmem">RLimitMEM</a> ou <a
+ href="#rlimitcpu">RLimitCPU</a>.</p>
+ <hr />
+
+ <h2><a id="satisfy" name="satisfy">Directive Satisfy</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt Satisfy} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> Satisfy <em>'any' ou 'all'</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> Satisfy
+ all<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>Satisfy</tt> n'est disponible qu'&agrave; partir de la
+ version 1.2 d'Apache
+
+ <p>Politique d'acc&egrave;s si &agrave; la fois 'allow' et
+ 'require' sont utilis&eacute;s. Le param&egrave;tre peut valoir
+ soit <em>'all'</em> soit <em>'any'</em>. Cette directive n'est
+ utile que si l'acc&egrave;s &agrave; une zone
+ particuli&egrave;re est &agrave; la fois restreinte par un
+ username/password <em>et</em> et par l'adresse d'h&ocirc;te
+ client. Dans ce cas le comportement par d&eacute;faut ("all")
+ impose au client de passer la restriction d'adresse <em>et</em>
+ d'entrer un identificateur d'utilisateur et un mot de passe
+ valides. Avec l'option "any", le client sera servi si son
+ adresse d'h&ocirc;te est conforme <em>ou</em> s'il rentre des
+ param&egrave;tres d'identification corrects. Ceci peut
+ &ecirc;tre utilis&eacute; pour restreindre un zone par un mot
+ de passe, tout en laissant quelques client bien
+ identifi&eacute;s entrer dans le domaine sans avoir &agrave; se
+ soumettre &agrave; la proc&eacute;dure d'identification.</p>
+
+ <p>Voir aussi <a href="#require">Require</a> et <a
+ href="mod_access.html#allow">Allow</a>.</p>
+ <hr />
+
+ <h2><a id="scoreboardfile" name="scoreboardfile">Directive
+ ScoreBoardFile</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ScoreBoardFile} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ScoreBoardFile <em>nomfichier</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ScoreBoardFile logs/apache_status</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>ScoreBoardFile</tt> est n&eacute;cessaire
+ sur certaines architectures pour cr&eacute;er un fichier
+ servant &agrave; la communication entre des processus
+ p&egrave;res et des processus fils. La meilleure fa&ccedil;on
+ de savoir si votre syst&egrave;me n&eacute;cessite un tel
+ fichier est d'ex&eacute;cuter Apache et de voir s'il
+ cr&eacute;e le fichier mentionn&eacute; dans la directive. Si
+ votre syst&egrave;me n&eacute;cessite l'emploi de ce fichier,
+ alors vous devez vous assurer que celui-ci ne peut &ecirc;tre
+ utilis&eacute; que par une et une seule invocation
+ d'Apache.</p>
+
+ <p>Si vous devez utiliser un <tt>ScoreBoardFile</tt>, vous
+ pourrez optimiser votre temps d'ex&eacute;cution en le
+ pla&ccedil;ant sur un disque virtuel en RAM. Cependant,
+ rappelez-vous que les m&ecirc;mes recommandations sont &agrave;
+ prendre en compte pour la position de ce fichier que pour la
+ position des fichiers de trace quant &agrave; la <a
+ href="../misc/security_tips.html">securit&eacute;</a>.</p>
+
+ <p><i>A partir d'Apache 1.2 :</i></p>
+
+ <p>Les utilisateurs de Linux 1.x doivent pouvoir ajouter
+ <code>-DHAVE_SHMGET</code> aux <code>EXTRA_CFLAGS</code> dans
+ leur fichier de <code>Configuration</code>. Ceci devrait
+ fonctionner sur certaines installations en 1.x, mais pas
+ forc&eacute;ment sur toutes.</p>
+
+ <p>Les utilisateurs de SVR4 devront consid&eacute;rer
+ l'opportunit&eacute; d'ajouter <code>-DHAVE_SHMGET</code> aux
+ <code>EXTRA_CFLAGS</code> dans leur fichier de
+ <code>Configuration</code>. Il semble que cela fonctionne, mais
+ nous n'avons pu le tester pour la version 1.2. (avant la
+ version 1.3b4, <code>HAVE_SHMGET</code> devait suffire.)</p>
+ <br />
+ <br />
+
+
+ <p><strong>Voir aussi</strong> : <a
+ href="../stopping.html">Arr&ecirc;ter et red&eacute;marrer
+ Apache</a></p>
+ <hr />
+
+ <h2><a id="scriptinterpretersource"
+ name="scriptinterpretersource">ScriptInterpreterSource
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ScriptInterpreterSource} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ScriptInterpreterSource registry|script<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ScriptInterpreterSource script</code> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> r&eacute;pertoire,
+ .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau (seulement sur Windows)
+
+ <p>Cette directive sert, &agrave; partir de la version 1.3.5
+ d'Apache, &agrave; d&eacute;terminer o&ugrave; trouver
+ l'interpr&eacute;teur employ&eacute; pour ex&eacute;cuter les
+ scripts CGI. La technique par d&eacute;faut est de prendre
+ l'interpr&eacute;teur point&eacute; par les caract&egrave;res
+ #! dans le script. En fixant ScriptInterpreterSource &agrave;
+ registry, La table de registration de Windows sera
+ employ&eacute;e pour chercher l'interpr&eacute;teur, en prenant
+ l'extension du fichier comme cl&eacute; (par exemple .pl).</p>
+ <hr />
+
+ <h2><a id="sendbuffersize" name="sendbuffersize">Directive
+ SendBufferSize</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt SendBufferSize} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> SendBufferSize <em>octets</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>Le serveur r&egrave;gle la taille du tampon interne de TCP
+ au nombre d'octets sp&eacute;cifi&eacute;. Tr&egrave;s utile
+ pour augmenter les tailles par d&eacute;faut dans le cas
+ d'utilisation de liaisons haute vitesse (ex. des liaisons
+ transcontinantales rapides).</p>
+ <hr />
+
+ <h2><a id="serveradmin" name="serveradmin">Directive
+ ServerAdmin</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerAdmin} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerAdmin <em>adresseEMail</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>ServerAdmin</tt> d&eacute;finit l'adresse
+ e-mail que le serveur inclut dans tout message d'erreur
+ retourn&eacute; au client.</p>
+
+ <p>Il peut &ecirc;tre utile de d&eacute;dier une adresse
+ r&eacute;serv&eacute;e &agrave; cet usage, par exemple :</p>
+
+ <blockquote>
+ <code>ServerAdmin www-admin@foo.bar.com</code>
+ </blockquote>
+
+ <p>car les utilisateur ne rappellent pas toujours dans leur
+ message ce &agrave; propos de quoi ils interviennent!</p>
+ <hr />
+
+ <h2><a id="serveralias" name="serveralias">Directive
+ ServerAlias</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerAlias <em>h&ocirc;te1 h&ocirc;te2
+ ...</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> h&ocirc;te
+ virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>ServerAlias</tt> est disponible &agrave; partir de la
+ version 1.1 d'Apache
+
+ <p>La directive <tt>ServerAlias</tt> d&eacute;fini un nom
+ secondaire pour un h&ocirc;te, utilisable dans le contexte d'<a
+ href="../vhosts/name-based.html">h&ocirc;te virtuels
+ nomm&eacute;s</a>.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="../vhosts/index.html">H&ocirc;tes virtuels sur
+ Apache</a></p>
+ <hr />
+
+ <h2><a id="servername" name="servername">Directive
+ ServerName</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerName} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerName <em>nom de domaine enti&egrave;rement
+ qualifi&eacute;</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>ServerName</tt> d&eacute;finit le nom
+ d'h&ocirc;te du serveur ; celui-ci n'est utilis&eacute; que
+ pour cr&eacute;er des URL de redirection. S'il n'est pas
+ d&eacute;fini, alors le serveur tentera de le r&eacute;soudre
+ &agrave; partir de sa propre adresse IP ; cependant, cette
+ r&eacute;solution n'est pas d'une fiabilit&eacute; absolue, ou
+ peut r&eacute;sulter en un nom autre que le nom
+ "souhait&eacute;". Par exemple :</p>
+
+ <blockquote>
+ <code>ServerName www.wibble.com</code>
+ </blockquote>
+
+ <p>peut &ecirc;tre d&eacute;fini lorsque le nom canonique
+ (principal) de la machine actuelle est
+ <code>monster.wibble.com</code>.</p>
+
+ <p>Si vous utilisez des <a
+ href="../vhosts/name-based.html">h&ocirc;tes virtuels
+ nomm&eacute;s</a>, la directive <code>ServerName</code>
+ &agrave; l'int&eacute;rieur d'une section <a
+ href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a> impose
+ que quel nom d'h&ocirc;te doit appara&icirc;tre dans
+ l'en-t&ecirc;te <code>Host:</code> d'une requ&ecirc;te pour
+ &ecirc;tre associ&eacute; &agrave; cet h&ocirc;te virtuel.</p>
+
+ <p><strong>Voir aussi</strong> : <a
+ href="../dns-caveats.html">Apache et DNS</a> <a
+ href="../vhosts/">documentation sur les h&ocirc;tes virtuels
+ Apache</a><br />
+ <a href="#usecanonicalname">UseCanonicalName</a><br />
+ <a href="#namevirtualhost">NameVirtualHost</a><br />
+ <a href="#serveralias">ServerAlias</a><br />
+ </p>
+ <hr />
+
+ <h2><a id="serverpath" name="serverpath">Directive
+ ServerPath</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerPath <em>chemin</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> h&ocirc;te
+ virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ <tt>ServerPath</tt> est disponible &agrave; partir de la
+ version 1.1 d'Apache.
+
+ <p>La directive <tt>ServerPath</tt> d&eacute;finit le chemin
+ d'acc&egrave;s servant de base pour les URL ciblant un <a
+ href="../vhosts/index.html">h&ocirc;te virtuel
+ nomm&eacute;</a>.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="../vhosts/index.html">H&ocirc;tes virtuels sur
+ Apache</a></p>
+ <hr />
+
+ <h2><a id="serverroot" name="serverroot">Directive
+ ServerRoot</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerRoot} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerRoot <em>nomr&eacute;pertoire</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ServerRoot /usr/local/apache</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>ServerRoot</tt> d&eacute;finit le
+ r&eacute;pertoire dans lequel se situe le serveur. Typiquement,
+ ce r&eacute;pertoire contiendra les sous-r&eacute;pertoires
+ <code>conf/</code> et <code>logs/</code>. Les chemins
+ d'acc&egrave;s relatifs pour d'autres fichiers de configuration
+ seront consid&eacute;r&eacute;s relativement &agrave; ce
+ r&eacute;pertoire.<br />
+ Voir aussi <a href="../invoking.html">les <code>-d</code>
+ options de httpd</a>.</p>
+
+ <p>Voir aussi <a
+ href="../misc/security_tips.html#serverroot">les trucs de
+ s&eacute;curit&eacute;</a> pour plus d'informations sur comment
+ correctment d&eacute;finir les droits d'acc&egrave;s &agrave;
+ ServerRoot.</p>
+ <hr />
+
+ <h2><a id="serversignature" name="serversignature">Directive
+ ServerSignature</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerSignature} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerSignature On|Off|EMail<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ServerSignature Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire, .htaccess<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ ServerSignature est disponible &agrave; partir de la version
+ 1.3.
+
+ <p>La directive ServerSignature permet la configuration d'une
+ ligne de bas de page pour les documents
+ g&eacute;n&eacute;r&eacute;s par le serveur (messages d'erreur,
+ liste des r&eacute;pertoire ftp, affichage de mod_info, ...)
+ L'utilit&eacute; de l'emploi d'une telle ligne appara&icirc;t
+ dans la cas d'encha&icirc;nement de proxy, o&ugrave;
+ l'utilisateuir souvent n'a aucune possibilit&eacute; de
+ d&eacute;terminer quel &eacute;l&eacute;ment de la cha&icirc;ne
+ de proxies a produit un message d'erreur.<br />
+ La valeur par d&eacute;faut <samp>Off</samp> supprime la ligne
+ d'erreur (et est compatible avec le comportement d'Apache 1.2
+ et pr&eacute;c&eacute;dents). La valeur <samp>On</samp> ajoute
+ une ligne contenant la version du serveur, la valeur de <a
+ href="#servername">ServerName</a> de l'h&ocirc;te virtuel et la
+ valeur <samp>EMail</samp> ajoute une r&eacute;f&eacute;rence
+ "mailto:" vers l'adresse <a href="#serveradmin">ServerAdmin</a>
+ du document demand&eacute;.</p>
+ <hr />
+
+ <h2><a id="servertokens" name="servertokens">Directive
+ ServerTokens</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerTokens} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerTokens Minimal|ProductOnly|OS|Full<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ServerTokens Full</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur <br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ ServerTokens est disponible &agrave; partir de la version 1.3
+ d'Apache. Le mot cl&eacute; <code>ProductOnly</code> est
+ disponible &agrave; pertir de la version 1.3.12
+
+ <p>Cette directive contr&ocirc;le si le champ
+ <samp>Server</samp> de l'en-t&ecirc;te de r&eacute;ponse qui
+ est renvoy&eacute; aux clients inclut une description du type
+ de syst&egrave;me de du serveur ainsi que des informations sur
+ les odules compil&eacute;s.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Le serveur renvoie par exemple : <samp>Server:
+ Apache</samp></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Le serveur renvoie par exemple : <samp>Server:
+ Apache/1.3.0</samp></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Le serveur renvoie par exemple : <samp>Server:
+ Apache/1.3.0 (Unix)</samp></dd>
+
+ <dt><code>ServerTokens Full</code> (ou non
+ sp&eacute;cifi&eacute;)</dt>
+
+ <dd>Le serveur renvoie par exemple : <samp>Server:
+ Apache/1.3.0 (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+ </dl>
+
+ <p>Cette directive s'applique &agrave; la globalit&eacute; du
+ serveur et ne paut pas &ecirc;tre activ&eacute; ou
+ d&eacute;sactiv&eacute; sur la base d'h&ocirc;tes virtuels.</p>
+ <hr />
+
+ <h2><a id="servertype" name="servertype">Directive
+ ServerType</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ServerType} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ServerType <em>type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ServerType standalone</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>ServerType</tt> d&eacute;finit comment le
+ serveur est ex&eacute;cut&eacute; par le syst&egrave;me
+ d'exploitation. <em>Type</em> peut prendre l'une des valeurs
+ suivantes :</p>
+
+ <dl>
+ <dt>inetd</dt>
+
+ <dd>Le serveur sera ex&eacute;cut&eacute; &agrave; partir du
+ processus system inetd ; la commande n&eacute;cessaire au
+ d&eacute;marrage du serveur devra &ecirc;tre ajout&eacute;e
+ au fichier <code>/etc/inetd.conf</code></dd>
+
+ <dt>standalone</dt>
+
+ <dd>Le serveur est lanc&eacute; en tant que d&eacute;mon ; la
+ commande de d&eacute;marrage du serveur sera ajout&eacute;e
+ aux scripts de d&eacute;marrage du syst&egrave;me
+ d'exploitation. (<code>/etc/rc.local</code> ou
+ <code>/etc/rc3.d/...</code>.)</dd>
+ </dl>
+
+ <p>Inetd est l'option la moins utilis&eacute;e des deux. Pour
+ chaque connexion http demand&eacute;e, une nouvelle instance du
+ serveur est cr&eacute;&eacute;e ; une fois la connexion
+ &eacute;tablie, ce programme tourne. Ceci implique un
+ co&ucirc;t important en ressources pour chaque connexion, mais
+ certains administrateurs pr&eacute;f&egrave;rent parfois ce
+ mode pour des raisons de s&eacute;curit&eacute;.</p>
+
+ <p>Standalone est l'option la plus fr&eacute;quente pour la
+ directive <tt>ServerType</tt> dans la mesure o&ugrave; ce
+ dernier est de loin plus performant. Le serveur n'est
+ d&eacute;marr&eacute; qu'une fois, et dessert toutes les
+ connexions ult&eacute;rieures. Si vous utilisez Apache sur un
+ site tr&egrave;s charg&eacute;, le mode standalone sera
+ certainement le seul choix possible.</p>
+ <hr />
+
+ <h2><a id="startservers" name="startservers">Directive
+ StartServers</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt StartServers} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> StartServers <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>StartServers 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>StartServers</tt> d&eacute;finit le nombre
+ de processus fils cr&eacute;&eacute;s d&egrave;s le
+ d&eacute;marrage du serveur. Le nombre de ces processus
+ &eacute;tant contr&ocirc;l&eacute; dynamiquement en fonction de
+ la charge, il y a en g&eacute;n&eacute;ral peu
+ d'int&eacute;r&ecirc;t &agrave; modifier la valeur par
+ d&eacute;faut de ce param&egrave;tre.</p>
+
+ <p>Lorsque le serveur est ex&eacute;cut&eacute; sous Microsoft
+ Windows, cette directive n'a aucun effet. Comme la version
+ Windows d'Apache est &eacute;crite en multithread, un seul
+ processus g&egrave;re l'int&eacute;gralit&eacute; des
+ requ&ecirc;tes. La directive <a
+ href="#threadsperchild">ThreadsPerChild</a> contr&ocirc;le le
+ nombre maximal de threads traitant les requ&ecirc;tes, ce qui a
+ un effet similaire &agrave; la directive Unix
+ <samp>StartServers</samp></p>
+
+ <p>Voir aussi <a href="#minspareservers">MinSpareServers</a> et
+ <a href="#maxspareservers">MaxSpareServers</a>.</p>
+ <hr />
+
+ <h2><a id="threadsperchild" name="threadsperchild">Directive
+ ThreadsPerChild</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ThreadsPerChild <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ThreadsPerChild 50</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau (Windows)<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ Disponible seulement &agrave; partir de la version 1.3 pour
+ Windows d'Apache
+
+ <p>Cette directive indique au serveur combien de threads il
+ doit lancer. Cela est &eacute;quivalent au nombre maximum de
+ connexions que le serveur peut traiter simultan&eacute;ment ;
+ soyez s&ucirc;r de vous et r&eacute;glez le nombre suffisament
+ haut si votre site est tr&egrave;s fr&eacute;quent&eacute;.</p>
+
+ <p>Cette directive n'a aucun effet sur les syst&egrave;mes
+ Unix. Les utilisateurs Unix regarderont les directives <a
+ href="#startservers">StartServers</a> et <a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a>.</p>
+ <hr />
+
+ <h2><a id="threadstacksize" name="threadstacksize">Directive
+ ThreadStackSize</a></h2>
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> ThreadStackSize <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>ThreadStackSize 65536</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau (NetWare)<br />
+ <strong>Compatibilit&eacute; :</strong> disponible &agrave;
+ partir de la version d'Apache 1.3 sur Netware.
+
+ <p>Cette directive indique la taille de la pile &agrave;
+ utiliser pour les threads. Si vous rencontrer un
+ probl&egrave;me de d&eacute;bordement de pile, vous devez
+ augmenter cette valeur.</p>
+
+ <p>Cette directive n'a aucun effet sur les autres
+ syst&egrave;mes.</p>
+ <hr />
+
+ <h2><a id="timeout" name="timeout">Directive TimeOut</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt TimeOut} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> TimeOut <em>nombre</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>TimeOut
+ 300</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>TimeOut</tt> d&eacute;finit la
+ temporisation courante pendant laquelle Apache attendra l'une
+ de ces trois choses :</p>
+
+ <ol>
+ <li>Le temps total de r&eacute;ception d'une requ&ecirc;te
+ GET.</li>
+
+ <li>Le temps entre la r&eacute;ception de paquets TCP lors
+ d'une requ&ecirc;te POST ou PUT.</li>
+
+ <li>Le temps entre deux acquittements lors de la transmission
+ de paquets TCP de r&eacute;ponse.</li>
+ </ol>
+
+ <p>Nous pr&eacute;voyons dans le futur de permettre une
+ configuration individuelle de chacune de ces temporisations. La
+ valeur par d&eacute;faut &eacute;tait de 1200 avant la version
+ 1.2, mais a &eacute;t&eacute; abaiss&eacute;e &agrave; 300
+ depuis, ce qui est d&eacute;j&agrave; largement plus que
+ n&eacute;cessaire dans la plupart des situations. Il n'est
+ cependant pas r&eacute;gl&eacute; plus bas car il peut exister
+ (encore) des portions de code un peu "floues" par lesquelles le
+ temporisateur n'est pas remis &agrave; z&eacute;ro lors de la
+ transmission d'un paquet.</p>
+ <hr />
+
+ <h2><a id="usecanonicalname"
+ name="usecanonicalname">UseCanonicalName directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt UseCanonicalName} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> UseCanonicalName on|off|dns<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a>
+ <code>UseCanonicalName on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel, r&eacute;pertoire<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Surcharge :</strong></a> Options<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a>
+ UseCanonicalName est disponible &agrave; partir de la verion
+ 1.3
+
+ <p>Dans beaucoup de situations, Apache doit construire des URL
+ <em>s'autor&eacute;f&eacute;ren&ccedil;ant</em>, autremnet dit,
+ des URL r&eacute;f&eacute;ren&ccedil;ant le m&ecirc;me serveur.
+ Avec la directive <code>UseCanonicalName on</code> (dans les
+ versions d'Apache inf&eacute;rieures &agrave; 1.3) Apache
+ utilise les valeurs des directives <a
+ href="#servername">ServerName</a> et <a href="#port">Port</a>
+ pour construire un nom canonique du serveur. Ce nom est
+ utilis&eacute; pour toutes les URL autor&eacute;f&eacute;rentes
+ et pour les valeurs de <code>SERVER_NAME</code> et
+ <code>SERVER_PORT</code> pour les scripts CGI.</p>
+
+ <p>Avec <code>UseCanonicalName off</code>, Apache formera les
+ URLS autor&eacute;f&eacute;rentes en utilisant le nom
+ d'h&ocirc;te le num&eacute;ro de port fourni par le client si
+ ceux ci sont fournis (sinon il utilisera le nom canonique). Ces
+ valeurs sont les m&ecirc;mes qui sont employ&eacute;es pour
+ impl&eacute;menter les <a
+ href="../vhosts/name-based.html">h&ocirc;tes virtuels
+ bas&eacute;s sur des noms</a>, et sont disponibles pour les
+ m&ecirc;mes clients. Les variable CGI <code>SERVER_NAME</code>
+ et <code>SERVER_PORT</code> seront aussi construites &agrave;
+ partir des valeurs fournies par les clients.</p>
+
+ <p>Un exemple o&ugrave; cette directive est utile est le cas
+ d'un serveur intranet o&ugrave; des utilisateurs se connectent
+ &agrave; la machine en utilisant des noms courts tels que
+ <code>www</code>. Vous noterez que si l'utilisateur tape un nom
+ court et que l'URL est un r&eacute;pertoire tel que
+ <code>http://www/splat</code>, <em>sans le caract&egrave;re
+ oblique / final</em> , Apache redirigera la requ&ecirc;te vers
+ <code>http://www.domain.com/splat/</code>. Si vous avez une
+ authentification active, lu'tilisateur devra s'authentifier
+ deux fois, (une premi&egrave;re fois pour <code>www</code> et
+ une deuxi&egrave;me fois pour An example where this may be
+ useful is on an intranet server where you have users connecting
+ to the machine using short names such as . You'll notice that
+ if the users type a <code>www.domain.com</code>). Mais si la
+ directive <code>UseCanonicalName</code> est &agrave; off,
+ Apache redirigera vers <code>http://www/splat/</code>.</p>
+
+ <p>Il existe une troisi&egrave;me option,
+ <code>UseCanonicalName DNS</code>, qui est pr&eacute;vu pour
+ &ecirc;tre employ&eacute; avec de nombreux h&ocirc;tes virtuels
+ bas&eacute;s sur les adresses IP afin de supporter les clients
+ qui ne fournissent pas d'en-t&ecirc;te <code>Host:</code>. Avec
+ cette option Apache effectue une r&eacute;solution DNS inverse
+ sur l'adresse IP du serveur sur lequel le client se connecte
+ afin de travailler avec pour les URL
+ autor&eacute;f&eacute;rentes.</p>
+
+ <p><strong>Attention :</strong> si les scripts CGI font des
+ suppositions sur les valeurs de <code>SERVER_NAME</code> il
+ peuvent ne plus fonctionner avec cette option. Mais le script
+ CGI utilise uniquement <code>SERVER_NAME</code> pour construire
+ des URL autor&eacute;f&eacute;rentes, il ne evrait y avoir
+ aucun probl&egrave;mes.</p>
+
+ <p><strong>Voir &eacute;galement :</strong> <a
+ href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+ <hr />
+
+ <h2><a id="user" name="user">Directive User</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt User} directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> User <em>utilisateurUnix</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>D&eacute;faut :</strong></a> <code>User
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur, h&ocirc;te virtuel<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> noyau
+
+ <p>La directive <tt>User</tt> d&eacute;finit l'utilisateur
+ associ&eacute; au serveur. Pour utiliser cette directive, un
+ serveur standalone devra &ecirc;tre lanc&eacute; sous
+ <code>root</code>. <em>utilisateurUnix</em> est l'un parmi
+ :</p>
+
+ <dl>
+ <dt>un nom d'utilisateur</dt>
+
+ <dd>se r&eacute;f&egrave;re &agrave; un utilisateur
+ d&eacute;clar&eacute; du syst&egrave;me.</dd>
+
+ <dt># suivi d'un num&eacute;ro d'utilisateur.</dt>
+
+ <dd>se r&eacute;f&egrave;re &agrave; l'utilisateur
+ d&eacute;clar&eacute; du syst&egrave;me portant ce
+ num&eacute;ro.</dd>
+ </dl>
+
+ <p>L'utilisateur peut n'avoir aucun privil&egrave;ge ce qui lui
+ permet n&eacute;anmoins de pouvoir avoir acc&egrave;s &agrave;
+ des fichiers qui ne sont pas sens&eacute;s &ecirc;tre visibles
+ du "reste du monde", mais pas d'ex&eacute;cuter du code qui ne
+ serait pas explicitement ex&eacute;cutable par l'utilisateur
+ associ&eacute; &agrave; httpd. Il est d'ailleurs
+ recommand&eacute; de cr&eacute;er un utilisateur et un groupe
+ specialement pour ex&eacute;cuter le serveur. Certains
+ administrateurs utilisent souvent l'utilisateur
+ <code>nobody</code>, mais ceci n'est pas toujours possible ou
+ souhaitable. Par exemple, le cache de mod_proxy quancd celui
+ est activ&eacute; , doit &ecirc;tre accessible &agrave; cette
+ utilisateur (voir la directive <a
+ href="mod_proxy.html#cacheroot"><code>CacheRoot</code></a>
+ ).</p>
+
+ <p><strong>Note :</strong> si vous d&eacute;marrez le serveur
+ sous un utilisateur non-root, la tentative pour passer sous un
+ utilisateur de moindre privil&egrave;ge &eacute;chouera, et le
+ serveur continuera &agrave; sex&eacute;cuter sous l'utilisateur
+ d'origine. Si vous d&eacute;marrez le serveur sous
+ <code>root</code>, alors il sera normal que le processus
+ p&egrave;re continue &agrave; s'ex&eacute;cuter sous
+ <code>root</code>.</p>
+
+ <p><strong>Note sp&eacute;cifique :</strong> L'utilisation de
+ cette directive dans une section <tt>&lt;VirtualHost&gt;</tt>
+ n&eacute;cessite un <a href="../suexec.html">wrapper suEXEC</a>
+ correctement configur&eacute;. Lorsqu'elle est utilis&eacute;e
+ de cette fa&ccedil;on dans une section
+ <tt>&lt;VirtualHost&gt;</tt>, seul l'utilisateur associ&eacute;
+ &agrave; l'ex&eacute;cution des scripts CGI est affect&eacute;.
+ Les requ&ecirc;tes non-CGI seront toujours trait&eacute;es sous
+ l'utilisateur d&eacute;fini dans la directive User de la
+ section principale.</p>
+
+ <p><strong>S&eacute;curit&eacute; :</strong> Ne
+ d&eacute;finissez pas l'utilisateur (ni le <a
+ href="#group">groupe</a>) comme <code>root</code> sauf si vous
+ savez exactement ce que vous faites, et si vous &ecirc;tes
+ totalement conscients des risques qui sont encourus.</p>
+ <hr />
+
+ <h2><a id="virtualhost" name="virtualhost">Directive
+ &lt;VirtualHost&gt;</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt VirtualHost} section directive&gt; -->
+ <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntaxe
+ :</strong></a> &lt;VirtualHost <em>adresse</em>[:<em>port</em>]
+ ...&gt; ... &lt;/VirtualHost&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Contexte :</strong></a> configuration
+ serveur<br />
+ <a href="directive-dict.html#Status" rel="Help"><strong>Statut
+ :</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> la
+ "virtualisation" d'h&ocirc;tes non bas&eacute;s sur l'adressage
+ IP n'est disponible qu'&agrave; partir de la version 1.1
+ d'Apache<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute; :</strong></a> le
+ support d'adresses multiples n'est disponible qu'&agrave;
+ partir de la version 1.2 d'Apache
+
+ <p>Les directives &lt;VirtualHost&gt; et &lt;/VirtualHost&gt;
+ sont utilis&eacute;es pour "encapsuler" un groupe de directives
+ qui s'appliquent &agrave; un h&ocirc;te virtuel particulier.
+ Toute directive autoris&eacute;e dans un contexte "h&ocirc;te
+ virtuel" peut &ecirc;tre pr&eacute;sente. Lorsque le serveur
+ re&ccedil;oit une requ&ecirc;te demandant un document
+ sp&eacute;cifique sur un h&ocirc;te virtuel sp&eacute;cifique,
+ il utilise les directives de configuration explicit&eacute;es
+ dans la section &lt;VirtualHost&gt; correspondante.
+ <em>Adresse</em> peut &ecirc;tre :</p>
+
+ <ul>
+ <li>l'adresse IP de l'h&ocirc;te virtuel</li>
+
+ <li>un nom de domaine enti&egrave;rement qualifi&eacute; pour
+ l'adresse IP de cet h&ocirc;te virtuel.</li>
+ </ul>
+
+ <p>Exemple :</p>
+
+ <blockquote>
+<pre>
+<code>&lt;VirtualHost 10.1.2.3&gt;
+ServerAdmin webmaster@host.foo.com
+DocumentRoot /www/docs/host.foo.com
+ServerName host.foo.com
+ErrorLog logs/host.foo.com-error_log
+TransferLog logs/host.foo.com-access_log
+&lt;/VirtualHost&gt;
+</code>
+</pre>
+ </blockquote>
+
+ <p>Chaque h&ocirc;te virtuel doit &ecirc;tre associ&eacute;
+ &agrave; une adresse IP, &agrave; un num&eacute;ro de port ou
+ &agrave; un nom d'h&ocirc;te diff&eacute;rents que celui
+ attribu&eacute; au serveur, dans le dernier cas la machine du
+ serveur doit &ecirc;tre configur&eacute;e pour accepter des
+ paquets IP sur plusieurs adresses. (Si la machine ne dispose
+ pas de plusieurs interfaces r&eacute;seau physiques, ceci peut
+ &ecirc;tre obtenu par la commande <code>ifconfig alias</code>
+ (si votre OS l'accepte), ou par des patchs du kernel du type <a
+ href="../misc/vif-info.html">VIF</a> (pour SunOS(TM)
+ 4.1.x)).</p>
+
+ <p>Vous pouvez sp&eacute;cifier plus d'une adresse IP. Ceci
+ peut &ecirc;tre utile si une machine r&eacute;pond au
+ m&ecirc;me nom venant de deux diff&eacute;rentes interfaces.
+ Par exemple, si vous avez un h&ocirc;te virtuel qui est
+ accessible des h&ocirc;tes &agrave; partir d'un r&eacute;seau
+ interne (intranet) et externe (internet). Exemple :</p>
+
+ <blockquote>
+ <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+ DocumentRoot /www/docs/host.foo.com<br />
+ ServerName host.foo.com<br />
+ ServerAlias host<br />
+ &lt;/VirtualHost&gt;</code>
+ </blockquote>
+
+ <p>Le nom pr&eacute;d&eacute;fini <code>_default_</code> peut
+ &ecirc;tre attribu&eacute; auquel cas cet h&ocirc;te virtuel
+ lira toutes les adresses IP qui ne sont pas explicitement
+ list&eacute;es dans les autres h&ocirc;tes virtuels
+ d&eacute;finis. En l'absence d'un h&ocirc;te virtuel _default_,
+ la configuration serveur "principale", &agrave; savoir toutes
+ les d&eacute;finitions en dehors des sections VirtualHost,
+ seront utilis&eacute;es si aucun h&ocirc;te virtuel ne
+ reconna&icirc;t l'adresse.</p>
+
+ <p>Vous pouvez sp&eacute;cifier une commande <code>:port</code>
+ pour changer le port reconnu par l'h&ocirc;te virtuel. Si aucun
+ port n'est mentionn&eacute;, alors le port reconnu est par
+ d&eacute;faut celui mentionn&eacute; dans la derni&egrave;re
+ directive de <code><a href="#port">Port</a></code> de la
+ section principale qui pr&eacute;c&egrave;de. Vous pouvez
+ &eacute;galement sp&eacute;cifier <code>:*</code> pour
+ reconna&icirc;tre tous les ports &agrave; cette adresse. (Ceci
+ est conseill&eacute; lorsque l'h&ocirc;te virtuel est le
+ <code>_default_</code>.)</p>
+
+ <p><strong>S&eacute;curit&eacute;</strong>: Voir les <a
+ href="../misc/security_tips.html">conseils de
+ s&eacute;curit&eacute;</a> pour plus de d&eacute;tails sur les
+ risques encourus si le r&eacute;pertoire contenant les fichiers
+ de trace peut &ecirc;tre &eacute;crit par un autre utilisateur
+ que celui sous lequel est ex&eacute;cut&eacute; le serveur.</p>
+
+ <p><strong>Note</strong>: L'utilisation de la directive
+ &lt;VirtualHost&gt; <strong>n'</strong> affecte
+ <strong>pas</strong> les adresses qu'&eacute;coute Apache. Vous
+ devez vous assurer que les adresses d&eacute;finies pour les
+ h&ocirc;tes virtuels font aussi partie de l'ensemble des
+ adresses &eacute;cout&eacute;es par Apache et d&eacute;finies
+ par des directives <a href="#bindaddress">BindAddress</a> ou <a
+ href="#listen">Listen</a>.</p>
+
+ <p><strong>Voir aussi :</strong> <a
+ href="../vhosts/index.html">H&ocirc;tes virtuels sur
+ Apache</a><br />
+ <a href="../dns-caveats.html">Avertissement concernant DNS et
+ Apache</a><br />
+ <a href="../bind.html">Configurer les ports et adresses
+ utilis&eacute;s par Apache</a></p>
+
+ <p><strong>Voir aussi</strong> : <a
+ href="../sections.html">Comment fonctionnent les sections
+ concernant les r&eacute;pertoires, chemins et fichiers</a> pour
+ une explication plus pr&eacute;cise concernant la
+ mani&egrave;re dont ces sections sont combin&eacute;es
+ lorsqu'une requ&ecirc;te est trait&eacute;e.
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/core.html.html b/usr.sbin/httpd/htdocs/manual/mod/core.html.html
new file mode 100644
index 00000000000..27cd9184bd5
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/core.html.html
@@ -0,0 +1,3762 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache Core Features</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache Core Features</h1>
+
+ <p>These configuration parameters control the core Apache
+ features, and are always available.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="#acceptmutex">AcceptMutex</a></li>
+
+ <li><a href="#accessconfig">AccessConfig</a></li>
+
+ <li><a href="#accessfilename">AccessFileName</a></li>
+
+ <li><a href="#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a href="#addmodule">AddModule</a></li>
+
+ <li><a href="#allowoverride">AllowOverride</a></li>
+
+ <li><a href="#authname">AuthName</a></li>
+
+ <li><a href="#authtype">AuthType</a></li>
+
+ <li><a href="#bindaddress">BindAddress</a></li>
+
+ <li><a href="#bs2000account">BS2000Account</a></li>
+
+ <li><a href="#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="#contentdigest">ContentDigest</a></li>
+
+ <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a href="#defaulttype">DefaultType</a></li>
+
+ <li><a href="#directory">&lt;Directory&gt;</a></li>
+
+ <li><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a href="#documentroot">DocumentRoot</a></li>
+
+ <li><a href="#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="#errordocument">ErrorDocument</a></li>
+
+ <li><a href="#errorlog">ErrorLog</a></li>
+
+ <li><a href="#files">&lt;Files&gt;</a></li>
+
+ <li><a href="#fileetag">&lt;FileETag&gt;</a></li>
+
+ <li><a href="#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="#group">Group</a></li>
+
+ <li><a href="#hostnamelookups">HostnameLookups</a></li>
+
+ <li><a href="#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="#include">Include</a></li>
+
+ <li><a href="#keepalive">KeepAlive</a></li>
+
+ <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a href="#limit">&lt;Limit&gt;</a></li>
+
+ <li><a href="#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a href="#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a href="#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a href="#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="#listen">Listen</a></li>
+
+ <li><a href="#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="#location">&lt;Location&gt;</a></li>
+
+ <li><a href="#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="#lockfile">LockFile</a></li>
+
+ <li><a href="#loglevel">LogLevel</a></li>
+
+ <li><a href="#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a href="#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="#options">Options</a></li>
+
+ <li><a href="#pidfile">PidFile</a></li>
+
+ <li><a href="#port">Port</a></li>
+
+ <li><a href="#require">Require</a></li>
+
+ <li><a href="#resourceconfig">ResourceConfig</a></li>
+
+ <li><a href="#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="#satisfy">Satisfy</a></li>
+
+ <li><a href="#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a
+ href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="#serveralias">ServerAlias</a></li>
+
+ <li><a href="#servername">ServerName</a></li>
+
+ <li><a href="#serverpath">ServerPath</a></li>
+
+ <li><a href="#serverroot">ServerRoot</a></li>
+
+ <li><a href="#serversignature">ServerSignature</a></li>
+
+ <li><a href="#servertokens">ServerTokens</a></li>
+
+ <li><a href="#servertype">ServerType</a></li>
+
+ <li><a href="#startservers">StartServers</a></li>
+
+ <li><a href="#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="#threadstacksize">ThreadStackSize</a></li>
+
+ <li><a href="#timeout">TimeOut</a></li>
+
+ <li><a href="#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="#user">User</a></li>
+
+ <li><a href="#virtualhost">&lt;VirtualHost&gt;</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="acceptfilter" name="acceptfilter">AcceptFilter
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AcceptFilter
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AcceptFilter
+ on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server configt<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AcceptFilter is
+ available in Apache 1.3.22 and later
+
+ <p><code>AcceptFilter</code> controls a BSD specific filter
+ optimization. It is compiled in by default - and switched on by
+ default if your system supports it (setsocketopt() option
+ SO_ACCEPTFILTER). Currently only FreeBSD supports this.</p>
+
+ <p>See the filter section on <a
+ href="misc/perf-bsd44.html">performance hints</a> for more
+ information.</p>
+
+ <p>The compile time flag <code>AP_ACCEPTFILTER_OFF</code> can
+ be used to change the default to 'off'. <code>httpd -V</code>
+ and <code>httpd -L</code> will show compile time defaults and
+ whether or not SO_ACCEPTFILTER was defined during the
+ compile.</p>
+
+ <h2><a id="acceptmutex" name="acceptmutex">AcceptMutex
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AcceptMutex
+ uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AcceptMutex
+ default</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p><code>AcceptMutex</code> controls which accept() mutex
+ method Apache will use. Not all methods are available on all
+ platforms, since the suite of methods is determined at
+ compile-time. For a list of which methods are available for
+ your particular build, the <code>httpd -L</code> command line
+ option will list them out.</p>
+
+ <p>The compile time flags <code>-D
+ HAVE_METHOD_SERIALIZED_ACCEPT</code> can be used to add
+ different methods to your build, or one can edit the
+ <code>include/ap_config.h</code> file for your particular
+ platform.</p>
+
+ <p>See the <a href="../misc/perf-tuning.html">performance tuning
+ guide</a> for more information.</p>
+
+ <h2><a id="accessconfig" name="accessconfig">AccessConfig
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AccessConfig
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AccessConfig
+ conf/access.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The ability to
+ specify a directory, rather than a file name, is only available in
+ Apache 1.3.13 and later.
+
+ <p>The server will read this file for more directives after
+ reading the <a href="#resourceconfig">ResourceConfig</a> file.
+ <em>File-path</em> is relative to the <a
+ href="#serverroot">ServerRoot</a>. This feature can be disabled
+ using:</p>
+
+ <blockquote>
+ <code>AccessConfig /dev/null</code>
+ </blockquote>
+ Or, on Win32 servers,
+
+ <blockquote>
+ <code>AccessConfig nul</code>
+ </blockquote>
+ Historically, this file only contained <a
+ href="#directory">&lt;Directory&gt;</a> sections; in fact it
+ can now contain any server directive allowed in the <em>server
+ config</em> context. However, since Apache version 1.3.4,
+ the default <code>access.conf</code> file which ships with
+ Apache contains only comments, and all directives are placed
+ in the main server configuration file, <code>httpd.conf</code>.
+
+ <p>If <code>AccessConfig</code> points to a directory, rather than a
+ file, Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files. Note that
+ <emph>any</emph> file in the specified directory will be loaded as a
+ configuration file, so make sure that you don't have stray files in
+ this directory by mistake, such as temporary files created by your
+ editor, for example.</p>
+
+ <p>See also <a href="#resourceconfig">ResourceConfig</a>.</p>
+ <hr />
+
+ <h2><a id="accessfilename" name="accessfilename">AccessFileName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AccessFileName
+ <em>filename</em> [<em>filename</em>] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AccessFileName
+ .htaccess</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AccessFileName
+ can accept more than one filename only in Apache 1.3 and later
+
+ <p>When returning a document to the client the server looks for
+ the first existing access control file from this list of names
+ in every directory of the path to the document, if access
+ control files are enabled for that directory. For example:</p>
+
+ <blockquote>
+ <code>AccessFileName .acl</code>
+ </blockquote>
+ before returning the document /usr/local/web/index.html, the
+ server will read /.acl, /usr/.acl, /usr/local/.acl and
+ /usr/local/web/.acl for directives, unless they have been
+ disabled with
+
+ <blockquote>
+ <code>&lt;Directory /&gt;<br />
+ AllowOverride None<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+
+ <p><strong>See Also:</strong> <a
+ href="#allowoverride">AllowOverride</a></p>
+ <hr />
+
+ <h2><a id="adddefaultcharset"
+ name="adddefaultcharset">AddDefaultCharset directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddDefaultCharset
+ On|Off|<em>charset</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>AddDefaultCharset Off</code><br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ AddDefaultCharset is only available in Apache 1.3.12 and later
+
+ <p>This directive specifies the name of the character set that
+ will be added to any response that does not have any parameter
+ on the content type in the HTTP headers. This will override any
+ character set specified in the body of the document via a
+ <code>META</code> tag. A setting of <code>AddDefaultCharset
+ Off</code> disables this functionality. <code>AddDefaultCharset
+ On</code> enables Apache's internal default charset of
+ <code>iso-8859-1</code> as required by the directive. You can
+ also specify an alternate <em>charset</em> to be used; e.g.
+ <code>AddDefaultCharset utf-8</code>.</p>
+ <hr />
+
+ <h2><a id="addmodule" name="addmodule">AddModule
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddModule
+ <em>module</em> [<em>module</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config <br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddModule is
+ only available in Apache 1.2 and later
+
+ <p>The server can have modules compiled in which are not
+ actively in use. This directive can be used to enable the use
+ of those modules. The server comes with a pre-loaded list of
+ active modules; this list can be cleared with the <a
+ href="#clearmodulelist">ClearModuleList</a> directive.</p>
+ <hr />
+
+ <h2><a id="allowoverride" name="allowoverride">AllowOverride
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AllowOverride
+ All|None|<em>directive-type</em> [<em>directive-type</em>]
+ ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>AllowOverride
+ All</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>When the server finds an .htaccess file (as specified by <a
+ href="#accessfilename">AccessFileName</a>) it needs to know
+ which directives declared in that file can override earlier
+ access information.</p>
+
+ <p>When this directive is set to <code>None</code>, then
+ .htaccess files are completely ignored. In this case, the
+ server will not even attempt to read .htaccess files in the
+ filesystem.</p>
+
+ <p>When this directive is set to <code>All</code>, then any
+ directive which has the .htaccess <a
+ href="directive-dict.html#Context">Context</a> is allowed in
+ .htaccess files.</p>
+
+ <p>The <em>directive-type</em> can be one of the following
+ groupings of directives.</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+
+ Allow use of the authorization directives (<a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>,
+ <a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>,
+ <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a
+ href="#authname">AuthName</a>, <a
+ href="#authtype">AuthType</a>, <a
+ href="mod_auth.html#authuserfile">AuthUserFile</a>, <a
+ href="#require">Require</a>, <em>etc.</em>).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd>
+ Allow use of the directives controlling document types (<a
+ href="mod_mime.html#addencoding">AddEncoding</a>, <a
+ href="mod_mime.html#addlanguage">AddLanguage</a>, <a
+ href="mod_mime.html#addtype">AddType</a>, <a
+ href="#defaulttype">DefaultType</a>, <a
+ href="#errordocument">ErrorDocument</a>, <a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a>,
+ <em>etc.</em>).</dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ Allow use of the directives controlling directory indexing
+ (<a
+ href="mod_autoindex.html#adddescription">AddDescription</a>,
+ <a href="mod_autoindex.html#addicon">AddIcon</a>, <a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>,
+ <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>,
+ <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a
+ href="mod_autoindex.html#headername">HeaderName</a>, <a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a
+ href="mod_autoindex.html#readmename">ReadmeName</a>,
+ <em>etc.</em>).</dd>
+
+ <dt>Limit</dt>
+
+ <dd>
+ Allow use of the directives controlling host access (Allow,
+ Deny and Order).</dd>
+
+ <dt>Options</dt>
+
+ <dd>
+ Allow use of the directives controlling specific directory
+ features (<a href="#options">Options</a> and <a
+ href="mod_include.html#xbithack">XBitHack</a>).</dd>
+ </dl>
+
+ <p><strong>See Also:</strong> <a
+ href="#accessfilename">AccessFileName</a></p>
+ <hr />
+
+ <h2><a id="authname" name="authname">AuthName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AuthName
+ <em>auth-domain</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive sets the name of the authorization realm for
+ a directory. This realm is given to the client so that the user
+ knows which username and password to send.
+ <samp>AuthName</samp> takes a single argument; if the realm
+ name contains spaces, it must be enclosed in quotation marks.
+ It must be accompanied by <a href="#authtype">AuthType</a> and
+ <a href="#require">Require</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+ work.</p>
+ <hr />
+
+ <h2><a id="authtype" name="authtype">AuthType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AuthType
+ Basic|Digest<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive selects the type of user authentication for a
+ directory. Only <code>Basic</code> and <code>Digest</code> are
+ currently implemented.
+
+ It must be accompanied by <a href="#authname">AuthName</a> and
+ <a href="#require">Require</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> to
+ work.</p>
+ <hr />
+
+ <h2><a id="bindaddress" name="bindaddress">BindAddress
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BindAddress
+ *|<em>IP-address</em>|<em>domain-name</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>BindAddress
+ *</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>A Unix&reg; http server can either listen for connections to
+ every IP address of the server machine, or just one IP address
+ of the server machine. If the argument to this directive is *,
+ then the server will listen for connections on every IP
+ address. Otherwise, the server can listen to only a specific
+ <em>IP-address</em> or a fully-qualified Internet
+ <em>domain-name</em>.</p>
+
+ <p>Only one <code>BindAddress</code> directive can be used. For
+ more control over which address and ports Apache listens to,
+ use the <code><a href="#listen">Listen</a></code> directive
+ instead of <code>BindAddress</code>.</p>
+
+ <p><code>BindAddress</code> can be used as an alternative
+ method for supporting <a href="../vhosts/">virtual hosts</a>
+ using multiple independent servers, instead of using <code><a
+ href="#virtualhost">&lt;VirtualHost&gt;</a></code>
+ sections.</p>
+
+ <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+ Issues</a><br />
+ <strong>See Also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a></p>
+ <hr />
+
+ <h2><a id="bs2000account" name="bs2000account">BS2000Account
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BS2000Account
+ <em>account</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> BS2000Account is
+ only available for BS2000 machines, as of Apache 1.3 and later.
+
+
+ <p>The <code>BS2000Account</code> directive is available for
+ BS2000 hosts only. It must be used to define the account number
+ for the non-privileged apache server user (which was configured
+ using the <a href="#user">User</a> directive). This is required
+ by the BS2000 POSIX subsystem (to change the underlying BS2000
+ task environment by performing a sub-LOGON) to prevent CGI
+ scripts from accessing resources of the privileged account
+ which started the server, usually <samp>SYSROOT</samp>.<br />
+ Only one <code>BS2000Account</code> directive can be used.</p>
+
+ <p><strong>See Also:</strong> <a href="../ebcdic.html">Apache
+ EBCDIC port</a></p>
+ <hr />
+
+ <h2><a id="clearmodulelist"
+ name="clearmodulelist">ClearModuleList directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ClearModuleList<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ClearModuleList
+ is only available in Apache 1.2 and later
+
+ <p>The server comes with a built-in list of active modules.
+ This directive clears the list. It is assumed that the list
+ will then be re-populated using the <a
+ href="#addmodule">AddModule</a> directive.</p>
+ <hr />
+
+ <h2><a id="contentdigest" name="contentdigest">ContentDigest
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ContentDigest
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ContentDigest
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> experimental<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ContentDigest is
+ only available in Apache 1.1 and later
+
+ <p>This directive enables the generation of
+ <code>Content-MD5</code> headers as defined in RFC1864
+ respectively RFC2068.</p>
+
+ <p>MD5 is an algorithm for computing a "message digest"
+ (sometimes called "fingerprint") of arbitrary-length data, with
+ a high degree of confidence that any alterations in the data
+ will be reflected in alterations in the message digest.</p>
+
+ <p>The <code>Content-MD5</code> header provides an end-to-end
+ message integrity check (MIC) of the entity-body. A proxy or
+ client may check this header for detecting accidental
+ modification of the entity-body in transit. Example header:</p>
+<pre>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+</pre>
+
+ <p>Note that this can cause performance problems on your server
+ since the message digest is computed on every request (the
+ values are not cached).</p>
+
+ <p><code>Content-MD5</code> is only sent for documents served
+ by the core, and not by any module. For example, SSI documents,
+ output from CGI scripts, and byte range responses do not have
+ this header.</p>
+ <hr />
+
+ <h2><a id="coredumpdirectory"
+ name="coredumpdirectory">CoreDumpDirectory directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> CoreDumpDirectory
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> the same location as
+ ServerRoot<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This controls the directory to which Apache attempts to
+ switch before dumping core. The default is in the <a
+ href="#serverroot">ServerRoot</a> directory, however since this
+ should not be writable by the user the server runs as, core
+ dumps won't normally get written. If you want a core dump for
+ debugging, you can use this directive to place it in a
+ different location.</p>
+ <hr />
+
+ <h2><a id="defaulttype" name="defaulttype">DefaultType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DefaultType
+ <em>MIME-type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DefaultType
+ text/html</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>There will be times when the server is asked to provide a
+ document whose type cannot be determined by its MIME types
+ mappings.</p>
+
+ <p>The server must inform the client of the content-type of the
+ document, so in the event of an unknown type it uses the
+ <code>DefaultType</code>. For example:</p>
+
+ <blockquote>
+ <code>DefaultType image/gif</code>
+ </blockquote>
+ would be appropriate for a directory which contained many gif
+ images with filenames missing the .gif extension.
+ <hr />
+
+ <h2><a id="directory" name="directory">&lt;Directory&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Directory
+ <em>directory-path</em>&gt; ... &lt;/Directory&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.
+
+ <p>&lt;Directory&gt; and &lt;/Directory&gt; are used to enclose
+ a group of directives which will apply only to the named
+ directory and sub-directories of that directory. Any directive
+ which is allowed in a directory context may be used.
+ <em>Directory-path</em> is either the full path to a directory,
+ or a wild-card string. In a wild-card string, `?' matches any
+ single character, and `*' matches any sequences of characters.
+ As of Apache 1.3, you may also use `[]' character ranges like
+ in the shell. Also as of Apache 1.3 none of the wildcards match
+ a `/' character, which more closely mimics the behavior of
+ Unix shells. Example:</p>
+<pre>
+ &lt;Directory /usr/local/httpd/htdocs&gt;
+ Options Indexes FollowSymLinks
+ &lt;/Directory&gt;
+</pre>
+
+ <p><strong>Apache 1.2 and above:</strong> Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
+</pre>
+ would match directories in /www/ that consisted of three
+ numbers.
+
+ <p>If multiple (non-regular expression) directory sections
+ match the directory (or its parents) containing a document,
+ then the directives are applied in the order of shortest match
+ first, interspersed with the directives from the <a
+ href="#accessfilename">.htaccess</a> files. For example,
+ with</p>
+
+ <blockquote>
+ <code>&lt;Directory /&gt;<br />
+ AllowOverride None<br />
+ &lt;/Directory&gt;<br />
+ <br />
+ &lt;Directory /home/*&gt;<br />
+ AllowOverride FileInfo<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ for access to the document <code>/home/web/dir/doc.html</code>
+ the steps are:
+
+ <ul>
+ <li>Apply directive <code>AllowOverride None</code>
+ (disabling <code>.htaccess</code> files).</li>
+
+ <li>Apply directive <code>AllowOverride FileInfo</code> (for
+ directory <code>/home/web</code>).</li>
+
+ <li>Apply any FileInfo directives in
+ <code>/home/web/.htaccess</code></li>
+ </ul>
+
+ <p>Regular expression directory sections are handled slightly
+ differently by Apache 1.2 and 1.3. In Apache 1.2 they are
+ interspersed with the normal directory sections and applied in
+ the order they appear in the configuration file. They are
+ applied only once, and apply when the shortest match possible
+ occurs. In Apache 1.3 regular expressions are not considered
+ until after all of the normal sections have been applied. Then
+ all of the regular expressions are tested in the order they
+ appeared in the configuration file. For example, with</p>
+
+ <blockquote>
+ <code>&lt;Directory ~ abc$&gt;<br />
+ ... directives here ...<br />
+ &lt;/Directory&gt;<br />
+ </code>
+ </blockquote>
+ Suppose that the filename being accessed is
+ <code>/home/abc/public_html/abc/index.html</code>. The server
+ considers each of <code>/</code>, <code>/home</code>,
+ <code>/home/abc</code>, <code>/home/abc/public_html</code>, and
+ <code>/home/abc/public_html/abc</code> in that order. In Apache
+ 1.2, when <code>/home/abc</code> is considered, the regular
+ expression will match and be applied. In Apache 1.3 the regular
+ expression isn't considered at all at that point in the tree.
+ It won't be considered until after all normal
+ &lt;Directory&gt;s and <code>.htaccess</code> files have been
+ applied. Then the regular expression will match on
+ <code>/home/abc/public_html/abc</code> and be applied.
+
+ <p><strong>Note that the default Apache access for
+ &lt;Directory /&gt; is <samp>Allow from All</samp>. This means
+ that Apache will serve any file mapped from an URL. It is
+ recommended that you change this with a block such
+ as</strong></p>
+<pre>
+ &lt;Directory /&gt;
+ Order Deny,Allow
+ Deny from All
+ &lt;/Directory&gt;
+</pre>
+
+ <p><strong>and then override this for directories you
+ <em>want</em> accessible. See the <a
+ href="../misc/security_tips.html">Security Tips</a> page for
+ more details.</strong></p>
+ The directory sections typically occur in the access.conf file,
+ but they may appear in any configuration file.
+ &lt;Directory&gt; directives cannot nest, and cannot appear in
+ a <a href="#limit">&lt;Limit&gt;</a> or <a
+ href="#limitexcept">&lt;LimitExcept&gt;</a> section.
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="directorymatch"
+ name="directorymatch">&lt;DirectoryMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;DirectoryMatch
+ <em>regex</em>&gt; ... &lt;/DirectoryMatch&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3 and later
+
+ <p>&lt;DirectoryMatch&gt; and &lt;/DirectoryMatch&gt; are used
+ to enclose a group of directives which will apply only to the
+ named directory and sub-directories of that directory, the same
+ as <a href="#directory">&lt;Directory&gt;</a>. However, it
+ takes as an argument a regular expression. For example:</p>
+<pre>
+ &lt;DirectoryMatch "^/www/.*/[0-9]{3}"&gt;
+</pre>
+
+ <p>would match directories in /www/ that consisted of three
+ numbers.</p>
+
+ <p><strong>See Also:</strong> <a
+ href="#directory">&lt;Directory&gt;</a> for a description of
+ how regular expressions are mixed in with normal
+ &lt;Directory&gt;s.<br />
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="documentroot" name="documentroot">DocumentRoot
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DocumentRoot
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DocumentRoot
+ /usr/local/apache/htdocs</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive sets the directory from which httpd will
+ serve files. Unless matched by a directive like Alias, the
+ server appends the path from the requested URL to the document
+ root to make the path to the document. Example:</p>
+
+ <blockquote>
+ <code>DocumentRoot /usr/web</code>
+ </blockquote>
+ then an access to
+ <code>http://www.my.host.com/index.html</code> refers to
+ <code>/usr/web/index.html</code>.
+
+ <p>There appears to be a bug in mod_dir which causes problems
+ when the DocumentRoot has a trailing slash (<em>i.e.</em>,
+ "DocumentRoot /usr/web/") so please avoid that.</p>
+ <hr />
+
+ <h2><a id="ebcdicconvert"
+ name="ebcdicconvert">EBCDICConvert</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICConvert
+ On|Off[=<em>direction</em>] <em>extension</em>
+ [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The configurable
+ EBCDIC conversion is only available in Apache 1.3.19 and later,
+ and on EBCDIC based platforms.
+
+ <p>The EBCDICConvert directive maps the given filename
+ extensions to the specified conversion setting (<samp>On</samp>
+ or <samp>Off</samp>). File extensions may be specified with or
+ without a leading dot.</p>
+
+ <p>If the optional format <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) is used, where
+ <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+ <samp>InOut</samp>, then the directive only applies to the
+ specified transfer direction (<samp>In</samp>: uploaded content
+ in a PUT or POST request, <samp>Out</samp>: returned content in
+ a GET or POST request, and <samp>InOut</samp>: conversion in
+ both directions).<br />
+ Otherwise, <samp>InOut</samp> (conversion in both directions)
+ is implied.</p>
+
+ <p>Conversion configuration based on file extension is tested
+ prior to configuration based on MIME type, to allow for generic
+ MIME based rules to be overridden by a more specific file
+ extension (several file extensions may exist for the same MIME
+ type).</p>
+
+ <p><strong>Example</strong>:<br />
+ With a configuration like the following, the normal
+ <samp>*.html</samp> files contain HTML text in EBCDIC encoding,
+ while <samp>*.ahtml</samp> files contain HTML text in ASCII
+ encoding:</p>
+<pre>
+ # *.html and *.ahtml contain HTML text:
+ AddType text/html .html .ahtml
+
+ # *.ahtml is not converted (contains ASCII text already):
+ EBCDICConvert Off .ahtml
+
+ # All other text/html files presumably contain EBCDIC text:
+ EBCDICConvertByType On text/html
+</pre>
+ <br />
+ <br />
+
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="ebcdicconvertbytype"
+ name="ebcdicconvertbytype">EBCDICConvertByType</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICConvertByType
+ On|Off[=<em>direction</em>] <em>mimetype</em>
+ [<em>mimetype</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The configurable
+ EBCDIC conversion is only available in Apache 1.3.19 and later,
+ and on EBCDIC based platforms.
+
+ <p>The EBCDICConvertByType directive maps the given MIME type
+ (optionally containing wildcards) to the specified conversion
+ setting (<samp>On</samp> or <samp>Off</samp>).</p>
+
+ <p>If the optional format <samp>On=<i>direction</i></samp> (or
+ <samp>Off=<i>direction</i></samp>) is used, where
+ <i>direction</i> is one of <samp>In</samp>, <samp>Out</samp> or
+ <samp>InOut</samp>, then the directive only applies to the
+ specified transfer direction (<samp>In</samp>: uploaded content
+ in a PUT or POST request, <samp>Out</samp>: returned content in
+ a GET or POST request, and <samp>InOut</samp>: conversion in
+ both directions).<br />
+ Otherwise, <samp>InOut</samp> (conversion in both directions)
+ is implied.</p>
+
+ <p><strong>Example</strong>:<br />
+ A useful standard configuration should at least contain the
+ following defaults:</p>
+<pre>
+ # All text documents are stored as EBCDIC files:
+ EBCDICConvertByType On text/* message/* multipart/*
+ EBCDICConvertByType On application/x-www-form-urlencoded \
+ model/vrml application/postscript
+ # All other files are assumed to be binary:
+ EBCDICConvertByType Off */*
+</pre>
+ If you serve ASCII documents only, for example from an NFS
+ mounted unix server, use:
+<pre>
+ # All documents are ASCII already:
+ EBCDICConvertByType Off */*
+</pre>
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvert">EBCDICConvert</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="ebcdickludge"
+ name="ebcdickludge">EBCDICKludge</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> EBCDICKludge
+ On|Off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>EBCDICKludge
+ Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> EBCDICKludge is
+ only available in Apache 1.3.19 and later, and on EBCDIC based
+ platforms. It is deprecated and will be withdrawn in a future
+ version.<br />
+
+
+ <p>The EBCDICKludge is provided for the backward compatible
+ behavior with apache versions 1.3.0 through 1.3.18. In these
+ versions, all files with MIME types starting with "text/",
+ "message/" or "multipart/" or with type
+ "application/x-www-form-urlencoded" would be converted by
+ default, all other documents were returned unconverted. Only if
+ a MIME type "<samp>text/<b>x-ascii-</b><i>subtype</i></samp>"
+ was configured for a certain document, the document was assumed
+ to be in ASCII format already, and was not converted again.
+ Instead, the "<samp><b>x-ascii-</b></samp>" was removed from
+ the type, resulting in the MIME type
+ "<samp>text/<i>subtype</i></samp>" being returned for the
+ document.</p>
+
+ <p>If the EBCDICKludge directive is set to <samp>On</samp>, and
+ if none of the file extensions configured with the <a
+ href="#ebcdicconvert">EBCDICConvert</a> directive matches in
+ the current context, then the server tests for a MIME type of
+ the format
+ <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp>. If the
+ document has such a type, then the
+ "<samp><b>x-ascii-</b></samp>" substring is removed and the
+ conversion set to <samp>Off</samp>. This allows for overriding
+ the implicit assumption that all text files are stored in
+ EBCDIC format, for example when serving documents from an NFS
+ mounted directory with ASCII documents.<br />
+ By using the EBCDICKludge, there is no way to force one of the
+ other MIME types (<em>e.g.</em>, model/vrml) to be treated as
+ an EBCDIC text file. Use of the <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> directive
+ mentioned above is the preferred way to configure such a
+ conversion. (Before Apache version 1.3.19, there was no way at
+ all to force these binary documents to be treated as EBCDIC
+ text files.)</p>
+
+ <p><strong>See also</strong>: <a
+ href="#ebcdicconvert">EBCDICConvert</a>, <a
+ href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a
+ href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion
+ Functions</a></p>
+ <hr />
+
+ <h2><a id="errordocument" name="errordocument">ErrorDocument
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ErrorDocument
+ <em>error-code document</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The directory
+ and .htaccess contexts are only available in Apache 1.1 and
+ later.
+
+ <p>In the event of a problem or error, Apache can be configured
+ to do one of four things,</p>
+
+ <ol>
+ <li>output a simple hardcoded error message</li>
+
+ <li>output a customized message</li>
+
+ <li>redirect to a local <em>URL-path</em> to handle the
+ problem/error</li>
+
+ <li>redirect to an external <em>URL</em> to handle the
+ problem/error</li>
+ </ol>
+
+ <p>The first option is the default, while options 2-4 are
+ configured using the <code>ErrorDocument</code> directive,
+ which is followed by the HTTP response code and a message or
+ URL.</p>
+
+ <p><em>Messages</em> in this context begin with a single
+ double-quote character (<code>"</code>), which does not form
+ part of the message itself. Apache will sometimes offer
+ additional information regarding the problem/error.</p>
+
+ <p>URLs can begin with a slash (/) for local URLs, or be a full
+ URL which the client can resolve. Examples:</p>
+
+ <blockquote>
+ <code>ErrorDocument 500
+ http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Sorry can't allow you access today</code>
+ </blockquote>
+
+ <p>Note that when you specify an <code>ErrorDocument</code>
+ that points to a remote URL (ie. anything with a method such as
+ "http" in front of it), Apache will send a redirect to the
+ client to tell it where to find the document, even if the
+ document ends up being on the same server. This has several
+ implications, the most important being that the client will not
+ receive the original error status code, but instead will
+ receive a redirect status code. This in turn can confuse web
+ robots and other clients which try to determine if a URL is
+ valid using the status code. In addition, if you use a remote
+ URL in an <code>ErrorDocument 401</code>, the client will not
+ know to prompt the user for a password since it will not
+ receive the 401 status code. Therefore, <strong>if you use an
+ "ErrorDocument 401" directive then it must refer to a local
+ document.</strong></p>
+
+ <p>See Also: <a href="../custom-error.html">documentation of
+ customizable responses.</a></p>
+ <hr />
+
+ <h2><a id="errorlog" name="errorlog">ErrorLog
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ErrorLog
+ <em>file-path</em>|syslog[:<em>facility</em>] <br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+ logs/error_log</code> (Unix)<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ErrorLog
+ logs/error.log</code> (Windows and OS/2)<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The error log directive sets the name of the file to which
+ the server will log any errors it encounters. If the
+ <em>file-path</em> does not begin with a slash (/) then it is
+ assumed to be relative to the <a
+ href="#serverroot">ServerRoot</a>. If the <em>file-path</em>
+ begins with a pipe (|) then it is assumed to be a command to
+ spawn to handle the error log.</p>
+
+ <p><strong>Apache 1.3 and above:</strong> Using
+ <code>syslog</code> instead of a filename enables logging via
+ syslogd(8) if the system supports it. The default is to use
+ syslog facility <code>local7</code>, but you can override this
+ by using the <code>syslog:</code><em>facility</em> syntax where
+ <em>facility</em> can be one of the names usually documented in
+ syslog(1).</p>
+
+ <p>SECURITY: See the <a
+ href="../misc/security_tips.html#serverroot">security tips</a>
+ document for details on why your security could be compromised
+ if the directory where logfiles are stored is writable by
+ anyone other than the user that starts the server.</p>
+
+ <p><strong>See also:</strong> <a href="#loglevel">LogLevel</a>
+ and <a href="../logs.html">Apache Log Files</a></p>
+ <hr />
+
+ <h2><a id="fileetag" name="fileetag">&lt;FileETag&gt; directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> FileETag
+ <i>component</i> ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.3.23 versions and later.
+
+ <p>
+ The FileETag directive configures the file attributes that are
+ used to create the ETag (entity tag) response header field
+ when the document is based on a file.
+ (The ETag value is used in cache management to save network
+ bandwidth.) In Apache 1.3.22 and earlier, the ETag value was
+ <i>always</i> formed from the file's inode, size, and last-modified
+ time (mtime). The FileETag directive allows you to choose
+ which of these -- if any -- should be used. The recognised
+ keywords are:
+ </p>
+ <dl compact="compact">
+ <dt><b>INode</b></dt>
+ <dd>The file's i-node number will be included in the calculation</dd>
+ <dt><b>MTime</b></dt>
+ <dd>The date and time the file was last modified will be included</dd>
+ <dt><b>Size</b></dt>
+ <dd>The number of bytes in the file will be included</dd>
+ <dt><b>All</b></dt>
+ <dd>All available fields will be used (equivalent to
+ '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>')</dd>
+ <dt><b>None</b></dt>
+ <dd>If a document is file-based, no ETag field will be included in the
+ response</dd>
+ </dl>
+ <p>
+ The INode, MTime, and Size keywords may be prefixed with either '+'
+ or '-', which allow changes to be made to the default setting
+ inherited from a broader scope. Any keyword appearing without
+ such a prefix immediatey and completely cancels the inherited
+ setting.
+ </p>
+ <p>
+ If a directory's configuration includes
+ '<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>', and a
+ subdirectory's includes '<code>FileETag&nbsp;-INode</code>',
+ the setting for that subdirectory (which will be inherited by
+ any sub-subdirectories that don't override it) will be equivalent to
+ '<code>FileETag&nbspMTime&nbsp;Size</code>'.
+ </p>
+ <hr />
+
+ <h2><a id="files" name="files">&lt;Files&gt; directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Files
+ <em>filename</em>&gt; ... &lt;/Files&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.2 and above.
+
+ <p>The &lt;Files&gt; directive provides for access control by
+ filename. It is comparable to the <a
+ href="#directory">&lt;Directory&gt;</a> directive and <a
+ href="#location">&lt;Location&gt;</a> directives. It should be
+ matched with a &lt;/Files&gt; directive. The directives given
+ within this section will be applied to any object with a
+ basename (last component of filename) matching the specified
+ filename. <code>&lt;Files&gt;</code> sections are processed in
+ the order they appear in the configuration file, after the
+ &lt;Directory&gt; sections and <code>.htaccess</code> files are
+ read, but before &lt;Location&gt; sections. Note that
+ &lt;Files&gt; can be nested inside &lt;Directory&gt; sections
+ to restrict the portion of the filesystem they apply to.</p>
+
+ <p>The <em>filename</em> argument should include a filename, or
+ a wild-card string, where `?' matches any single character, and
+ `*' matches any sequences of characters. Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
+</pre>
+ would match most common Internet graphics formats. In Apache
+ 1.3 and later, <a href="#filesmatch">&lt;FilesMatch&gt;</a> is
+ preferred, however.
+
+ <p>Note that unlike <a
+ href="#directory"><code>&lt;Directory&gt;</code></a> and <a
+ href="#location"><code>&lt;Location&gt;</code></a> sections,
+ <code>&lt;Files&gt;</code> sections can be used inside
+ .htaccess files. This allows users to control access to their
+ own files, at a file-by-file level.</p>
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="filesmatch"
+ name="filesmatch">&lt;FilesMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;FilesMatch
+ <em>regex</em>&gt; ... &lt;/FilesMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> only available
+ in Apache 1.3 and above.
+
+ <p>The &lt;FilesMatch&gt; directive provides for access control
+ by filename, just as the <a href="#files">&lt;Files&gt;</a>
+ directive does. However, it accepts a regular expression. For
+ example:</p>
+<pre>
+ &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
+</pre>
+
+ <p>would match most common Internet graphics formats.</p>
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received
+ <hr />
+
+ <h2><a id="group" name="group">Group directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Group
+ <em>unix-group</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>Group
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The Group directive sets the group under which the server
+ will answer requests. In order to use this directive, the
+ stand-alone server must be run initially as root.
+ <em>Unix-group</em> is one of:</p>
+
+ <dl>
+ <dt>A group name</dt>
+
+ <dd>Refers to the given group by name.</dd>
+
+ <dt># followed by a group number.</dt>
+
+ <dd>Refers to a group by its number.</dd>
+ </dl>
+ It is recommended that you set up a new group specifically for
+ running the server. Some admins use user <code>nobody</code>,
+ but this is not always possible or desirable.
+
+ <p>Note: if you start the server as a non-root user, it will
+ fail to change to the specified group, and will instead
+ continue to run as the group of the original user.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+ requires a properly configured <a href="../suexec.html">suEXEC
+ wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+ manner, only the group that CGIs are run as is affected.
+ Non-CGI requests are still processed as the group specified in
+ the main Group directive.</p>
+
+ <p>SECURITY: See <a href="#user">User</a> for a discussion of
+ the security considerations.</p>
+ <hr />
+
+ <h2><a id="hostnamelookups"
+ name="hostnamelookups">HostnameLookups directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> HostnameLookups
+ on|off|double<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>HostnameLookups
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ <code>double</code> available only in Apache 1.3 and
+ above.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Default was
+ <code>on</code> prior to Apache 1.3.
+
+ <p>This directive enables DNS lookups so that host names can be
+ logged (and passed to CGIs/SSIs in <code>REMOTE_HOST</code>).
+ The value <code>double</code> refers to doing double-reverse
+ DNS. That is, after a reverse lookup is performed, a forward
+ lookup is then performed on that result. At least one of the ip
+ addresses in the forward lookup must match the original
+ address. (In "tcpwrappers" terminology this is called
+ <code>PARANOID</code>.)</p>
+
+ <p>Regardless of the setting, when <a
+ href="mod_access.html">mod_access</a> is used for controlling
+ access by hostname, a double reverse lookup will be performed.
+ This is necessary for security. Note that the result of this
+ double-reverse isn't generally available unless you set
+ <code>HostnameLookups double</code>. For example, if only
+ <code>HostnameLookups on</code> and a request is made to an
+ object that is protected by hostname restrictions, regardless
+ of whether the double-reverse fails or not, CGIs will still be
+ passed the single-reverse result in
+ <code>REMOTE_HOST</code>.</p>
+
+ <p>The default for this directive was previously
+ <code>on</code> in versions of Apache prior to 1.3. It was
+ changed to <code>off</code> in order to save the network
+ traffic for those sites that don't truly need the reverse
+ lookups done. It is also better for the end users because they
+ don't have to suffer the extra latency that a lookup entails.
+ Heavily loaded sites should leave this directive
+ <code>off</code>, since DNS lookups can take considerable
+ amounts of time. The utility <a
+ href="../programs/logresolve.html">logresolve</a>, provided in
+ the <em>/support</em> directory, can be used to look up host
+ names from logged IP addresses offline.</p>
+ <hr />
+
+ <h2><a id="identitycheck" name="identitycheck">IdentityCheck
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> IdentityCheck
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>IdentityCheck
+ off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive enables RFC1413-compliant logging of the
+ remote user name for each connection, where the client machine
+ runs identd or something similar. This information is logged in
+ the access log. <em>Boolean</em> is either <code>on</code> or
+ <code>off</code>.</p>
+
+ <p>The information should not be trusted in any way except for
+ rudimentary usage tracking.</p>
+
+ <p>Note that this can cause serious latency problems accessing
+ your server since every request requires one of these lookups
+ to be performed. When firewalls are involved each lookup might
+ possibly fail and add 30 seconds of latency to each hit. So in
+ general this is not very useful on public servers accessible
+ from the Internet.</p>
+ <hr />
+
+ <h2><a id="ifdefine" name="ifdefine">&lt;IfDefine&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;IfDefine
+ [!]<em>parameter-name</em>&gt; <em>...</em>
+ &lt;/IfDefine&gt;<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> None<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> &lt;IfDefine&gt;
+ is only available in 1.3.1 and later.
+
+ <p>The &lt;IfDefine <em>test</em>&gt;...&lt;/IfDefine&gt;
+ section is used to mark directives that are conditional. The
+ directives within an IfDefine section are only processed if the
+ <em>test</em> is true. If <em>test</em> is false, everything
+ between the start and end markers is ignored.</p>
+
+ <p>The <em>test</em> in the &lt;IfDefine&gt; section directive
+ can be one of two forms:</p>
+
+ <ul>
+ <li><em>parameter-name</em></li>
+
+ <li><code>!</code><em>parameter-name</em></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and end
+ markers are only processed if the parameter named
+ <em>parameter-name</em> is defined. The second format reverses
+ the test, and only processes the directives if
+ <em>parameter-name</em> is <strong>not</strong> defined.</p>
+
+ <p>The <em>parameter-name</em> argument is a define as given on
+ the <code>httpd</code> command line via
+ <code>-D</code><em>parameter-</em>, at the time the server was
+ started.</p>
+
+ <p>&lt;IfDefine&gt; sections are nest-able, which can be used
+ to implement simple multiple-parameter tests. Example:</p>
+<pre>
+ $ httpd -DReverseProxy ...
+
+ # httpd.conf
+ &lt;IfDefine ReverseProxy&gt;
+ LoadModule rewrite_module libexec/mod_rewrite.so
+ LoadModule proxy_module libexec/libproxy.so
+ &lt;/IfDefine&gt;
+</pre>
+ <hr />
+
+ <h2><a id="ifmodule" name="ifmodule">&lt;IfModule&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;IfModule
+ [!]<em>module-name</em>&gt; <em>...</em>
+ &lt;/IfModule&gt;<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> None<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> all<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> IfModule is only
+ available in 1.2 and later.
+
+ <p>The &lt;IfModule <em>test</em>&gt;...&lt;/IfModule&gt;
+ section is used to mark directives that are conditional. The
+ directives within an IfModule section are only processed if the
+ <em>test</em> is true. If <em>test</em> is false, everything
+ between the start and end markers is ignored.</p>
+
+ <p>The <em>test</em> in the &lt;IfModule&gt; section directive
+ can be one of two forms:</p>
+
+ <ul>
+ <li><em>module name</em></li>
+
+ <li>!<em>module name</em></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and end
+ markers are only processed if the module named <em>module
+ name</em> is compiled in to Apache. The second format reverses
+ the test, and only processes the directives if <em>module
+ name</em> is <strong>not</strong> compiled in.</p>
+
+ <p>The <em>module name</em> argument is a module name as given
+ as the file name of the module, at the time it was compiled.
+ For example, <code>mod_rewrite.c</code>.</p>
+
+ <p>&lt;IfModule&gt; sections are nest-able, which can be used
+ to implement simple multiple-module tests.</p>
+ <hr />
+
+ <h2><a id="include" name="include">Include directive</a></h2>
+ <strong>Syntax:</strong> Include
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Include is only
+ available in Apache 1.3 and later.
+
+ <p>This directive allows inclusion of other configuration files
+ from within the server configuration files.</p>
+
+ <p>New in Apache 1.3.13 is the feature that if
+ <code>Include</code> points to a directory, rather than a file,
+ Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files.</p>
+ <hr />
+
+ <h2><a id="keepalive" name="keepalive">KeepAlive
+ directive</a></h2>
+ <strong>Syntax: (Apache 1.1)</strong> KeepAlive
+ <em>max-requests</em><br />
+ <strong>Default: (Apache 1.1)</strong> <code>KeepAlive
+ 5</code><br />
+ <strong>Syntax: (Apache 1.2)</strong> KeepAlive on|off<br />
+ <strong>Default: (Apache 1.2)</strong> <code>KeepAlive
+ On</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> KeepAlive is
+ only available in Apache 1.1 and later.
+
+ <p>The Keep-Alive extension to HTTP/1.0 and the persistent
+ connection feature of HTTP/1.1 provide long-lived HTTP sessions
+ which allow multiple requests to be sent over the same TCP
+ connection. In some cases this has been shown to result in an
+ almost 50% speedup in latency times for HTML documents with
+ many images. To enable Keep-Alive connections in Apache 1.2 and
+ later, set <code>KeepAlive On</code>.</p>
+
+ <p>For HTTP/1.0 clients, Keep-Alive connections will only be
+ used if they are specifically requested by a client. In
+ addition, a Keep-Alive connection with an HTTP/1.0 client can
+ only be used when the length of the content is known in
+ advance. This implies that dynamic content such as CGI output,
+ SSI pages, and server-generated directory listings will
+ generally not use Keep-Alive connections to HTTP/1.0 clients.
+ For HTTP/1.1 clients, persistent connections are the default
+ unless otherwise specified. If the client requests it, chunked
+ encoding will be used in order to send content of unknown
+ length over persistent connections.</p>
+
+ <p><strong>Apache 1.1 only</strong>: Set <em>max-requests</em>
+ to the maximum number of requests you want Apache to entertain
+ per connection. A limit is imposed to prevent a client from
+ hogging your server resources. Set this to <code>0</code> to
+ disable support. In Apache 1.2 and 1.3, this is controlled
+ through the MaxKeepAliveRequests directive instead.</p>
+
+ <p>See also <a
+ href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.</p>
+ <hr />
+
+ <h2><a id="keepalivetimeout"
+ name="keepalivetimeout">KeepAliveTimeout directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout
+ <em>seconds</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>KeepAliveTimeout
+ 15</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> KeepAliveTimeout
+ is only available in Apache 1.1 and later.
+
+ <p>The number of seconds Apache will wait for a subsequent
+ request before closing the connection. Once a request has been
+ received, the timeout value specified by the <a
+ href="#timeout"><code>Timeout</code></a> directive applies.</p>
+
+ <p>Setting <code>KeepAliveTimeout</code> to a high value may
+ cause performance problems in heavily loaded servers. The
+ higher the timeout, the more server processes will be kept
+ occupied waiting on connections with idle clients.</p>
+ <hr />
+
+ <h2><a id="limit" name="limit">&lt;Limit&gt; directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Limit
+ <em>method</em> [<em>method</em>] ... &gt; ...
+ &lt;/Limit&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> any<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>Access controls are normally effective for
+ <strong>all</strong> access methods, and this is the usual
+ desired behavior. <strong>In the general case, access control
+ directives should not be placed within a
+ <code>&lt;limit&gt;</code> section.</strong></p>
+
+ <p>The purpose of the &lt;Limit&gt; directive is to restrict
+ the effect of the access controls to the nominated HTTP
+ methods. For all other methods, the access restrictions that
+ are enclosed in the &lt;Limit&gt; bracket <strong>will have no
+ effect</strong>. The following example applies the access
+ control only to the methods POST, PUT, and DELETE, leaving all
+ other methods unprotected:</p>
+
+ <blockquote>
+ <code>&lt;Limit POST PUT DELETE&gt;<br />
+ Require valid-user<br />
+ &lt;/Limit&gt;</code>
+ </blockquote>
+ The method names listed can be one or more of: GET, POST, PUT,
+ DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH,
+ MKCOL, COPY, MOVE, LOCK, and UNLOCK. <strong>The method name is
+ case-sensitive.</strong> If GET is used it will also restrict
+ HEAD requests.
+ <hr />
+
+ <h2><a id="limitexcept" name="limitexcept">&lt;LimitExcept&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;LimitExcept
+ <em>method</em> [<em>method</em>] ... &gt; ...
+ &lt;/LimitExcept&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> any<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3.5 and later
+
+ <p>&lt;LimitExcept&gt; and &lt;/LimitExcept&gt; are used to
+ enclose a group of access control directives which will then
+ apply to any HTTP access method <strong>not</strong> listed in
+ the arguments; <em>i.e.</em>, it is the opposite of a <a
+ href="#limit">&lt;Limit&gt;</a> section and can be used to
+ control both standard and nonstandard/unrecognized methods. See
+ the documentation for <a href="#limit">&lt;Limit&gt;</a> for
+ more details.</p>
+ <hr />
+
+ <h2><a id="limitrequestbody"
+ name="limitrequestbody">LimitRequestBody directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestBody
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LimitRequestBody
+ 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LimitRequestBody
+ is only available in Apache 1.3.2 and later.
+
+ <p>This directive specifies the number of <em>bytes</em> from 0
+ (meaning unlimited) to 2147483647 (2GB) that are allowed in a
+ request body. The default value is defined by the compile-time
+ constant <code>DEFAULT_LIMIT_REQUEST_BODY</code> (0 as
+ distributed).</p>
+
+ <p>The LimitRequestBody directive allows the user to set a
+ limit on the allowed size of an HTTP request message body
+ within the context in which the directive is given (server,
+ per-directory, per-file or per-location). If the client request
+ exceeds that limit, the server will return an error response
+ instead of servicing the request. The size of a normal request
+ message body will vary greatly depending on the nature of the
+ resource and the methods allowed on that resource. CGI scripts
+ typically use the message body for passing form information to
+ the server. Implementations of the PUT method will require a
+ value at least as large as any representation that the server
+ wishes to accept for that resource.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service
+ attacks.</p>
+ <hr />
+
+ <h2><a id="limitrequestfields"
+ name="limitrequestfields">LimitRequestFields directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestFields
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>LimitRequestFields 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ LimitRequestFields is only available in Apache 1.3.2 and later.
+
+
+ <p><em>Number</em> is an integer from 0 (meaning unlimited) to
+ 32767. The default value is defined by the compile-time
+ constant <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 as
+ distributed).</p>
+
+ <p>The LimitRequestFields directive allows the server
+ administrator to modify the limit on the number of request
+ header fields allowed in an HTTP request. A server needs this
+ value to be larger than the number of fields that a normal
+ client request might include. The number of request header
+ fields used by a client rarely exceeds 20, but this may vary
+ among different client implementations, often depending upon
+ the extent to which a user has configured their browser to
+ support detailed content negotiation. Optional HTTP extensions
+ are often expressed using request header fields.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ The value should be increased if normal clients see an error
+ response from the server that indicates too many fields were
+ sent in the request.</p>
+ <hr />
+
+ <h2><a id="limitrequestfieldsize"
+ name="limitrequestfieldsize">LimitRequestFieldsize
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestFieldsize
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>LimitRequestFieldsize 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a>
+ LimitRequestFieldsize is only available in Apache 1.3.2 and
+ later.
+
+ <p>This directive specifies the number of <em>bytes</em> from 0
+ to the value of the compile-time constant
+ <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (8190 as
+ distributed) that will be allowed in an HTTP request
+ header.</p>
+
+ <p>The LimitRequestFieldsize directive allows the server
+ administrator to reduce the limit on the allowed size of an
+ HTTP request header field below the normal input buffer size
+ compiled with the server. A server needs this value to be large
+ enough to hold any one header field from a normal client
+ request. The size of a normal request header field will vary
+ greatly among different client implementations, often depending
+ upon the extent to which a user has configured their browser to
+ support detailed content negotiation.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ Under normal conditions, the value should not be changed from
+ the default.</p>
+ <hr />
+
+ <h2><a id="limitrequestline"
+ name="limitrequestline">LimitRequestLine directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LimitRequestLine
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LimitRequestLine
+ 8190</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LimitRequestLine
+ is only available in Apache 1.3.2 and later.
+
+ <p>This directive sets the number of <em>bytes</em> from 0 to
+ the value of the compile-time constant
+ <code>DEFAULT_LIMIT_REQUEST_LINE</code> (8190 as distributed)
+ that will be allowed on the HTTP request-line.</p>
+
+ <p>The LimitRequestLine directive allows the server
+ administrator to reduce the limit on the allowed size of a
+ client's HTTP request-line below the normal input buffer size
+ compiled with the server. Since the request-line consists of
+ the HTTP method, URI, and protocol version, the
+ LimitRequestLine directive places a restriction on the length
+ of a request-URI allowed for a request on the server. A server
+ needs this value to be large enough to hold any of its resource
+ names, including any information that might be passed in the
+ query part of a GET request.</p>
+
+ <p>This directive gives the server administrator greater
+ control over abnormal client request behavior, which may be
+ useful for avoiding some forms of denial-of-service attacks.
+ Under normal conditions, the value should not be changed from
+ the default.</p>
+ <hr />
+
+ <h2><a id="listen" name="listen">Listen directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Listen
+ [<em>IP-address</em>:]<em>port</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Listen is only
+ available in Apache 1.1 and later.
+
+ <p>The Listen directive instructs Apache to listen to more than
+ one IP address or port; by default it responds to requests on
+ all IP interfaces, but only on the port given by the <code><a
+ href="#port">Port</a></code> directive.</p>
+ <tt>Listen</tt> can be used instead of <tt><a
+ href="#bindaddress">BindAddress</a></tt> and <tt>Port</tt>. It
+ tells the server to accept incoming requests on the specified
+ port or address-and-port combination. If the first format is
+ used, with a port number only, the server listens to the given
+ port on all interfaces, instead of the port given by the
+ <tt>Port</tt> directive. If an IP address is given as well as a
+ port, the server will listen on the given port and interface.
+
+ <p>Note that you may still require a <tt>Port</tt> directive so
+ that URLs that Apache generates that point to your server still
+ work.</p>
+
+ <p>Multiple Listen directives may be used to specify a number
+ of addresses and ports to listen to. The server will respond to
+ requests from any of the listed addresses and ports.</p>
+
+ <p>For example, to make the server accept connections on both
+ port 80 and port 8000, use:</p>
+<pre>
+ Listen 80
+ Listen 8000
+</pre>
+ To make the server accept connections on two specified
+ interfaces and port numbers, use
+<pre>
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+</pre>
+
+ <p><strong>See Also:</strong> <a href="../dns-caveats.html">DNS
+ Issues</a><br />
+ <strong>See Also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a><br />
+ <strong>See Also:</strong> <a
+ href="http://www.apache.org/info/known_bugs.html#listenbug">Known
+ Bugs</a></p>
+ <hr />
+
+ <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ListenBacklog
+ <em>backlog</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ListenBacklog
+ 511</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ListenBacklog is
+ only available in Apache versions after 1.2.0.
+
+ <p>The maximum length of the queue of pending connections.
+ Generally no tuning is needed or desired, however on some
+ systems it is desirable to increase this when under a TCP SYN
+ flood attack. See the backlog parameter to the
+ <code>listen(2)</code> system call.</p>
+
+ <p>This will often be limited to a smaller number by the
+ operating system. This varies from OS to OS. Also note that
+ many OSes do not use exactly what is specified as the backlog,
+ but use a number based on (but normally larger than) what is
+ set.</p>
+ <hr />
+
+ <h2><a id="location" name="location">&lt;Location&gt;
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;Location
+ <em>URL-path</em>|<em>URL</em>&gt; ... &lt;/Location&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Location is only
+ available in Apache 1.1 and later.
+
+ <p>The &lt;Location&gt; directive provides for access control
+ by URL. It is similar to the <a
+ href="#directory">&lt;Directory&gt;</a> directive, and starts a
+ subsection which is terminated with a &lt;/Location&gt;
+ directive. <code>&lt;Location&gt;</code> sections are processed
+ in the order they appear in the configuration file, after the
+ &lt;Directory&gt; sections and <code>.htaccess</code> files are
+ read, and after the &lt;Files&gt; sections.</p>
+
+ <p>Note that URLs do not have to line up with the filesystem at
+ all, it should be emphasized that &lt;Location&gt; operates
+ completely outside the filesystem.</p>
+
+ <p>For all origin (non-proxy) requests, the URL to be matched
+ is of the form <code>/path/</code>, and you should not include
+ any <code>http://servername</code> prefix. For proxy requests,
+ the URL to be matched is of the form
+ <code>scheme://servername/path</code>, and you must include the
+ prefix.</p>
+
+ <p>The URL may use wildcards In a wild-card string, `?' matches
+ any single character, and `*' matches any sequences of
+ characters.</p>
+
+ <p><strong>Apache 1.2 and above:</strong> Extended regular
+ expressions can also be used, with the addition of the
+ <code>~</code> character. For example:</p>
+<pre>
+ &lt;Location ~ "/(extra|special)/data"&gt;
+</pre>
+
+ <p>would match URLs that contained the substring "/extra/data"
+ or "/special/data". In Apache 1.3 and above, a new directive <a
+ href="#locationmatch">&lt;LocationMatch&gt;</a> exists which
+ behaves identical to the regex version of
+ <code>&lt;Location&gt;</code>.</p>
+
+ <p>The <code>Location</code> functionality is especially useful
+ when combined with the <code><a
+ href="mod_mime.html#sethandler">SetHandler</a></code>
+ directive. For example, to enable status requests, but allow
+ them only from browsers at foo.com, you might use:</p>
+<pre>
+ &lt;Location /status&gt;
+ SetHandler server-status
+ Order Deny,Allow
+ Deny from all
+ Allow from .foo.com
+ &lt;/Location&gt;
+</pre>
+
+ <p><strong>Apache 1.3 and above note about / (slash)</strong>:
+ The slash character has special meaning depending on where in a
+ URL it appears. People may be used to its behavior in the
+ filesystem where multiple adjacent slashes are frequently
+ collapsed to a single slash (<em>i.e.</em>,
+ <code>/home///foo</code> is the same as
+ <code>/home/foo</code>). In URL-space this is not necessarily
+ true. The <code>&lt;LocationMatch&gt;</code> directive and the
+ regex version of <code>&lt;Location&gt;</code> require you to
+ explicitly specify multiple slashes if that is your intention.
+ For example, <code>&lt;LocationMatch ^/abc&gt;</code> would
+ match the request URL <code>/abc</code> but not the request URL
+ <code>//abc</code>. The (non-regex)
+ <code>&lt;Location&gt;</code> directive behaves similarly when
+ used for proxy requests. But when (non-regex)
+ <code>&lt;Location&gt;</code> is used for non-proxy requests it
+ will implicitly match multiple slashes with a single slash. For
+ example, if you specify <code>&lt;Location /abc/def&gt;</code>
+ and the request is to <code>/abc//def</code> then it will
+ match.</p>
+
+ <p><strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h2><a id="locationmatch"
+ name="locationmatch">&lt;LocationMatch&gt;</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;LocationMatch
+ <em>regex</em>&gt; ... &lt;/LocationMatch&gt;<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LocationMatch is
+ only available in Apache 1.3 and later.
+
+ <p>The &lt;LocationMatch&gt; directive provides for access
+ control by URL, in an identical manner to <a
+ href="#location">&lt;Location&gt;</a>. However, it takes a
+ regular expression as an argument instead of a simple string.
+ For example:</p>
+<pre>
+ &lt;LocationMatch "/(extra|special)/data"&gt;
+</pre>
+
+ <p>would match URLs that contained the substring "/extra/data"
+ or "/special/data".</p>
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received
+ <hr />
+
+ <h2><a id="lockfile" name="lockfile">LockFile
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LockFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LockFile
+ logs/accept.lock</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The LockFile directive sets the path to the lockfile used
+ when Apache is compiled with either USE_FCNTL_SERIALIZED_ACCEPT
+ or USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally
+ be left at its default value. The main reason for changing it
+ is if the <code>logs</code> directory is NFS mounted, since
+ <strong>the lockfile must be stored on a local disk</strong>.
+ The PID of the main server process is automatically appended to
+ the filename.</p>
+
+ <p><strong>SECURITY:</strong> It is best to avoid putting this
+ file in a world writable directory such as
+ <code>/var/tmp</code> because someone could create a denial of
+ service attack and prevent the server from starting by creating
+ a lockfile with the same name as the one the server will try to
+ create.</p>
+ <hr />
+
+ <h2><a id="loglevel" name="loglevel">LogLevel
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> LogLevel
+ <em>level</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>LogLevel
+ warn</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> LogLevel is only
+ available in 1.3 or later.
+
+ <p>LogLevel adjusts the verbosity of the messages recorded in
+ the error logs (see <a href="#errorlog">ErrorLog</a>
+ directive). The following <em>level</em>s are available, in
+ order of decreasing significance:</p>
+
+ <table>
+ <tr>
+ <th align="LEFT"><strong>Level</strong> </th>
+
+ <th align="LEFT"><strong>Description</strong> </th>
+ </tr>
+
+ <tr>
+ <th>
+ </th>
+
+ <th align="LEFT"><strong>Example</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Emergencies - system is unusable.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Action must be taken immediately.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Critical Conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Error conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Warning conditions.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Normal but significant condition.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Informational.</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Debug-level messages</td>
+ </tr>
+
+ <tr>
+ <td>
+ </td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>When a particular level is specified, messages from all
+ other levels of higher significance will be reported as well.
+ <em>E.g.</em>, when <code>LogLevel info</code> is specified,
+ then messages with log levels of <code>notice</code> and
+ <code>warn</code> will also be posted.</p>
+
+ <p>Using a level of at least <code>crit</code> is
+ recommended.</p>
+ <hr />
+
+ <h2><a id="maxclients" name="maxclients">MaxClients
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxClients
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxClients
+ 256</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxClients directive sets the limit on the number of
+ simultaneous requests that can be supported; not more than this
+ number of child server processes will be created. To configure
+ more than 256 clients, you must edit the HARD_SERVER_LIMIT
+ entry in httpd.h and recompile.</p>
+
+ <p>Any connection attempts over the MaxClients limit will
+ normally be queued, up to a number based on the <a
+ href="#listenbacklog">ListenBacklog</a> directive. Once a child
+ process is freed at the end of a different request, the
+ connection will then be serviced.</p>
+ <hr />
+
+ <h2><a id="maxkeepaliverequests"
+ name="maxkeepaliverequests">MaxKeepAliveRequests
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxKeepAliveRequests
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxKeepAliveRequests 100</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Only available
+ in Apache 1.2 and later.
+
+ <p>The MaxKeepAliveRequests directive limits the number of
+ requests allowed per connection when <a
+ href="#keepalive">KeepAlive</a> is on. If it is set to
+ "<code>0</code>", unlimited requests will be allowed. We
+ recommend that this setting be kept to a high value for maximum
+ server performance. In Apache 1.1, this is controlled through
+ an option to the KeepAlive directive.</p>
+ <hr />
+
+ <h2><a id="maxrequestsperchild"
+ name="maxrequestsperchild">MaxRequestsPerChild
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxRequestsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>MaxRequestsPerChild 0</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxRequestsPerChild directive sets the limit on the
+ number of requests that an individual child server process will
+ handle. After MaxRequestsPerChild requests, the child process
+ will die. If MaxRequestsPerChild is 0, then the process will
+ never expire.</p>
+
+ <p>Setting MaxRequestsPerChild to a non-zero limit has two
+ beneficial effects:</p>
+
+ <ul>
+ <li>it limits the amount of memory that process can consume
+ by (accidental) memory leakage;</li>
+
+ <li>by giving processes a finite lifetime, it helps reduce
+ the number of processes when the server load reduces.</li>
+ </ul>
+
+ <p>However, on Win32, It is recommended that this be set to 0.
+ If it is set to a non-zero value, when the request count is
+ reached, the child process exits, and is respawned, at which
+ time it re-reads the configuration files. This can lead to
+ unexpected behavior if you have modified a configuration file,
+ but are not expecting the changes to be applied yet. See also
+ <a href="#threadsperchild">ThreadsPerChild</a>.</p>
+
+ <p><strong>NOTE:</strong> For <em>KeepAlive</em> requests, only
+ the first request is counted towards this limit. In effect, it
+ changes the behavior to limit the number of
+ <em>connections</em> per child.</p>
+ <hr />
+
+ <h2><a id="maxspareservers"
+ name="maxspareservers">MaxSpareServers directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MaxSpareServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MaxSpareServers
+ 10</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MaxSpareServers directive sets the desired maximum
+ number of <em>idle</em> child server processes. An idle process
+ is one which is not handling a request. If there are more than
+ MaxSpareServers idle, then the parent process will kill off the
+ excess processes.</p>
+
+ <p>Tuning of this parameter should only be necessary on very
+ busy sites. Setting this parameter to a large number is almost
+ always a bad idea.</p>
+
+ <p>Note that this is the maximum number of <em>spare</em> servers,
+ not the maximum total number of client requests that can be handled
+ at one time. If you wish to limit that number, see the <a
+ href="#maxclients">MaxClients</a> directive.</p>
+
+ <p>This directive has no effect when used with the Apache Web
+ server on a Microsoft Windows platform.</p>
+
+ <p>See also <a href="#minspareservers">MinSpareServers</a>,
+ <a href="#startservers">StartServers</a>, and <a
+ href="#maxclients">MaxClients</a>.</p>
+ <hr />
+
+ <h2><a id="minspareservers"
+ name="minspareservers">MinSpareServers directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> MinSpareServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>MinSpareServers
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The MinSpareServers directive sets the desired minimum
+ number of <em>idle</em> child server processes. An idle process
+ is one which is not handling a request. If there are fewer than
+ MinSpareServers idle, then the parent process creates new
+ children at a maximum rate of 1 per second.</p>
+
+ <p>Tuning of this parameter should only be necessary on very
+ busy sites. Setting this parameter to a large number is almost
+ always a bad idea.</p>
+
+ <p>Note that setting this directive to some value <i>m</i> ensures
+ that you will always have at least <i>n + m</i> <code>httpd</code>
+ processes running when you have <i>n</i> active client requests.</p>
+
+ <p>This directive has no effect on Microsoft Windows.</p>
+
+ <p>See also <a href="#maxspareservers">MaxSpareServers</a>,
+ <a href="#startservers">StartServers</a>, and <a
+ href="#maxclients">MaxClients</a>.</p>
+ <hr />
+
+ <h2><a id="namevirtualhost"
+ name="namevirtualhost">NameVirtualHost directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> NameVirtualHost
+ <em>addr</em>[:<em>port</em>]<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> NameVirtualHost
+ is only available in Apache 1.3 and later
+
+ <p>The NameVirtualHost directive is a required directive if you
+ want to configure <a href="../vhosts/">name-based virtual
+ hosts</a>.</p>
+
+ <p>Although <em>addr</em> can be hostname it is recommended
+ that you always use an IP address or wildcard,
+ <em>e.g.</em></p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44</code>
+ </blockquote>
+ With the NameVirtualHost directive you specify the IP address
+ on which the server will receive requests for the name-based
+ virtual hosts. This will usually be the address to which your
+ name-based virtual host names resolve. In cases where a
+ firewall or other proxy receives the requests and forwards them
+ on a different IP address to the server, you must specify the
+ IP address of the physical interface on the machine which will
+ be servicing the requests. If you have multiple name-based
+ hosts on multiple addresses, repeat the directive for each
+ address.
+
+ <p>Note: the "main server" and any _default_ servers will
+ <strong>never</strong> be served for a request to a
+ NameVirtualHost IP Address (unless for some reason you specify
+ NameVirtualHost but then don't define any VirtualHosts for that
+ address).</p>
+
+ <p>Optionally you can specify a port number on which the
+ name-based virtual hosts should be used, <em>e.g.</em></p>
+
+ <blockquote>
+ <code>NameVirtualHost 111.22.33.44:8080</code>
+ </blockquote>
+ In Apache 1.3.13 and greater you can specify a <code>*</code>
+ for the <em>addr</em>. This creates a wildcard NameVirtualHost
+ which will match connections to any address that isn't
+ configured with a more specific NameVirtualHost directive or <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a> section. This is
+ useful if you want only name-based virtual hosts and you don't
+ want to hard-code the server's IP address into the
+ configuration file.
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="options" name="options">Options directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Options
+ [+|-]<em>option</em> [[+|-]<em>option</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The Options directive controls which server features are
+ available in a particular directory.</p>
+
+ <p><em>option</em> can be set to <code>None</code>, in which
+ case none of the extra features are enabled, or one or more of
+ the following:</p>
+
+ <dl>
+ <dt>All</dt>
+
+ <dd>All options except for MultiViews. This is the default
+ setting.</dd>
+
+ <dt>ExecCGI</dt>
+
+ <dd>
+ Execution of CGI scripts is permitted.</dd>
+
+ <dt>FollowSymLinks</dt>
+
+ <dd>
+
+ The server will follow symbolic links in this
+ directory.<br />
+ <strong>Note</strong>: even though the server follows the
+ symlink it does <em>not</em> change the pathname used to
+ match against <code>&lt;Directory&gt;</code> sections.<br />
+ <strong>Note</strong>: this option gets ignored if set
+ inside a &lt;Location&gt; section.</dd>
+
+ <dt>Includes</dt>
+
+ <dd>
+ Server-side includes are permitted.</dd>
+
+ <dt>IncludesNOEXEC</dt>
+
+ <dd>
+
+ Server-side includes are permitted, but the #exec command and
+ #exec CGI are disabled. It is still possible to #include
+ virtual CGI scripts from ScriptAliase'd directories.</dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ If a URL which maps to a directory is requested, and the
+ there is no DirectoryIndex (<em>e.g.</em>, index.html) in
+ that directory, then the server will return a formatted
+ listing of the directory.</dd>
+
+ <dt>MultiViews</dt>
+
+ <dd>
+ <a href="../content-negotiation.html">Content negotiated</a>
+ MultiViews are allowed.</dd>
+
+ <dt>SymLinksIfOwnerMatch</dt>
+
+ <dd>
+
+ The server will only follow symbolic links for which the
+ target file or directory is owned by the same user id as the
+ link.<br />
+ <strong>Note</strong>: this option gets ignored if set
+ inside a &lt;Location&gt; section.</dd>
+ </dl>
+ Normally, if multiple <code>Options</code> could apply to a
+ directory, then the most specific one is taken complete; the
+ options are not merged. However if <em>all</em> the options on
+ the <code>Options</code> directive are preceded by a + or -
+ symbol, the options are merged. Any options preceded by a + are
+ added to the options currently in force, and any options
+ preceded by a - are removed from the options currently in
+ force.
+
+ <p>For example, without any + and - symbols:</p>
+
+ <blockquote>
+ <code>&lt;Directory /web/docs&gt;<br />
+ Options Indexes FollowSymLinks<br />
+ &lt;/Directory&gt;<br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ Options Includes<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ then only <code>Includes</code> will be set for the
+ /web/docs/spec directory. However if the second
+ <code>Options</code> directive uses the + and - symbols:
+
+ <blockquote>
+ <code>&lt;Directory /web/docs&gt;<br />
+ Options Indexes FollowSymLinks<br />
+ &lt;/Directory&gt;<br />
+ &lt;Directory /web/docs/spec&gt;<br />
+ Options +Includes -Indexes<br />
+ &lt;/Directory&gt;</code>
+ </blockquote>
+ then the options <code>FollowSymLinks</code> and
+ <code>Includes</code> are set for the /web/docs/spec directory.
+
+
+ <p><strong>Note:</strong> Using <code>-IncludesNOEXEC</code> or
+ <code>-Includes</code> disables server-side includes completely
+ regardless of the previous setting.</p>
+
+ <p>The default in the absence of any other settings is
+ <code>All</code>.</p>
+ <hr />
+
+ <h2><a id="pidfile" name="pidfile">PidFile directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> PidFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>PidFile
+ logs/httpd.pid</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The PidFile directive sets the file to which the server
+ records the process id of the daemon. If the filename does not
+ begin with a slash (/) then it is assumed to be relative to the
+ <a href="#serverroot">ServerRoot</a>. The PidFile is only used
+ in <a href="#servertype">standalone</a> mode.</p>
+
+ <p>It is often useful to be able to send the server a signal,
+ so that it closes and then reopens its <a
+ href="#errorlog">ErrorLog</a> and TransferLog, and re-reads its
+ configuration files. This is done by sending a SIGHUP (kill -1)
+ signal to the process id listed in the PidFile.</p>
+
+ <p>The PidFile is subject to the same warnings about log file
+ placement and <a
+ href="../misc/security_tips.html#serverroot">security</a>.</p>
+ <hr />
+
+ <h2><a id="port" name="port">Port directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Port
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>Port
+ 80</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p><em>Number</em> is a number from 0 to 65535; some port
+ numbers (especially below 1024) are reserved for particular
+ protocols. See <code>/etc/services</code> for a list of some
+ defined ports; the standard port for the http protocol is
+ 80.</p>
+
+ <p>The Port directive has two behaviors, the first of which is
+ necessary for NCSA backwards compatibility (and which is
+ confusing in the context of Apache).</p>
+
+ <ul>
+ <li>In the absence of any <a href="#listen">Listen</a> or <a
+ href="#bindaddress">BindAddress</a> directives specifying a
+ port number, a Port directive given in the "main server"
+ (<em>i.e.</em>, outside any <a
+ href="#virtualhost">&lt;VirtualHost&gt;</a> section) sets the
+ network port on which the server listens. If there are any
+ Listen or BindAddress directives specifying
+ <code>:number</code> then Port has no effect on what address
+ the server listens at.</li>
+
+ <li>The Port directive sets the <code>SERVER_PORT</code>
+ environment variable (for <a href="mod_cgi.html">CGI</a> and
+ <a href="mod_include.html">SSI</a>), and is used when the
+ server must generate a URL that refers to itself (for example
+ when creating an external redirect to itself). This behavior
+ is modified by <a
+ href="#usecanonicalname">UseCanonicalName</a>.</li>
+ </ul>
+ The primary behavior of Port should be considered to be
+ similar to that of the <a href="#servername">ServerName</a>
+ directive. The ServerName and Port together specify what you
+ consider to be the <em>canonical</em> address of the server.
+ (See also <a href="#usecanonicalname">UseCanonicalName</a>.)
+
+ <p>Port 80 is one of Unix's special ports. All ports numbered
+ below 1024 are reserved for system use, <em>i.e.</em>, regular
+ (non-root) users cannot make use of them; instead they can only
+ use higher port numbers. To use port 80, you must start the
+ server from the root account. After binding to the port and
+ before accepting requests, Apache will change to a low
+ privileged user as set by the <a href="#user">User
+ directive</a>.</p>
+
+ <p>If you cannot use port 80, choose any other unused port.
+ Non-root users will have to choose a port number higher than
+ 1023, such as 8000.</p>
+
+ <p>SECURITY: if you do start the server as root, be sure not to
+ set <a href="#user">User</a> to root. If you run the server as
+ root whilst handling connections, your site may be open to a
+ major security attack.</p>
+ <hr />
+
+ <h2><a id="require" name="require">Require directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Require
+ <em>entity-name</em> [<em>entity-name</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> AuthConfig<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>This directive selects which authenticated users can access
+ a directory. The allowed syntaxes are:</p>
+
+ <ul>
+ <li>
+ Require user <em>userid</em> [<em>userid</em>] ...
+
+ <p>Only the named users can access the directory.</p>
+ </li>
+
+ <li>
+ Require group <em>group-name</em> [<em>group-name</em>] ...
+
+
+ <p>Only users in the named groups can access the
+ directory.</p>
+ </li>
+
+ <li>
+ Require valid-user
+
+ <p>All valid users can access the directory.</p>
+ </li>
+ </ul>
+
+ <p>Require must be accompanied by <a
+ href="#authname">AuthName</a> and <a
+ href="#authtype">AuthType</a> directives, and directives such
+ as <a href="mod_auth.html#authuserfile">AuthUserFile</a> and <a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a> (to define
+ users and groups) in order to work correctly. Example:</p>
+
+ <blockquote>
+ <code>AuthType Basic<br />
+ AuthName "Restricted Directory"<br />
+ AuthUserFile /web/users<br />
+ AuthGroupFile /web/groups<br />
+ Require group admin<br />
+ </code>
+ </blockquote>
+ Access controls which are applied in this way are effective for
+ <strong>all</strong> methods. <strong>This is what is normally
+ desired.</strong> If you wish to apply access controls only to
+ specific methods, while leaving other methods unprotected, then
+ place the <code>Require</code> statement into a <a
+ href="#limit">&lt;Limit&gt;</a> section
+
+ <p>See also <a href="#satisfy">Satisfy</a> and <a
+ href="mod_access.html">mod_access</a>.</p>
+ <hr />
+
+ <h2><a id="resourceconfig" name="resourceconfig">ResourceConfig
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ResourceConfig
+ <em>file-path</em>|<em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ResourceConfig
+ conf/srm.conf</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> The ability to
+ specify a directory, rather than a file name, is only available in
+ Apache 1.3.13 and later.
+
+ <p>The server will read this file for more directives after
+ reading the httpd.conf file. <em>File-path</em> is relative to
+ the <a href="#serverroot">ServerRoot</a>. This feature can be
+ disabled using:</p>
+
+ <blockquote>
+ <code>ResourceConfig /dev/null</code>
+ </blockquote>
+ Or, on Win32 servers,
+
+ <blockquote>
+ <code>ResourceConfig nul</code>
+ </blockquote>
+ <p>Historically, this file contained most directives except for
+ server configuration directives and <a
+ href="#directory">&lt;Directory&gt;</a> sections; in fact it
+ can now contain any server directive allowed in the <em>server
+ config</em> context. However, since Apache version 1.3.4, the
+ default <code>srm.conf</code> file which ships with Apache contains
+ only comments, and all directives are placed in the main server
+ configuration file, <code>httpd.conf</code>.</p>
+
+ <p>If <code>ResourceConfig</code> points to a directory, rather than
+ a file, Apache will read all files in that directory, and any
+ subdirectory, and parse those as configuration files. Note that
+ <emph>any</emph> file in the specified directory will be loaded as a
+ configuration file, so make sure that you don't have any stray files
+ in this directory by mistake, such as temporary files created by
+ your editor, for example.</p>
+
+ <p>See also <a href="#accessconfig">AccessConfig</a>.</p>
+ <hr />
+
+ <h2><a id="rlimit" name="rlimit">RLimitCPU</a> <a
+ id="rlimitcpu" name="rlimitcpu">directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitCPU
+ <em>number</em>|max [<em>number</em>|max] <br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitCPU is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>CPU resource limits are expressed in seconds per
+ process.</p>
+
+ <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitmem" name="rlimitmem">RLimitMEM
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitMEM
+ <em>number</em>|max [<em>number</em>|max]<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitMEM is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>Memory resource limits are expressed in bytes per
+ process.</p>
+
+ <p>See also <a href="#rlimitcpu">RLimitCPU</a> or <a
+ href="#rlimitnproc">RLimitNPROC</a>.</p>
+ <hr />
+
+ <h2><a id="rlimitnproc" name="rlimitnproc">RLimitNPROC
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RLimitNPROC
+ <em>number</em>|max [<em>number</em>|max]<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>Unset; uses
+ operating system defaults</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RLimitNPROC is
+ only available in Apache 1.2 and later
+
+ <p>Takes 1 or 2 parameters. The first parameter sets the soft
+ resource limit for all processes and the second parameter sets
+ the maximum resource limit. Either parameter can be a number,
+ or <code>max</code> to indicate to the server that the limit
+ should be set to the maximum allowed by the operating system
+ configuration. Raising the maximum resource limit requires that
+ the server is running as root, or in the initial startup
+ phase.</p>
+
+ <p>This applies to processes forked off from Apache children
+ servicing requests, not the Apache children themselves. This
+ includes CGI scripts and SSI exec commands, but not any
+ processes forked off from the Apache parent such as piped
+ logs.</p>
+
+ <p>Process limits control the number of processes per user.</p>
+
+ <p>Note: If CGI processes are <strong>not</strong> running
+ under userids other than the web server userid, this directive
+ will limit the number of processes that the server itself can
+ create. Evidence of this situation will be indicated by
+ <strong><em>cannot fork</em></strong> messages in the
+ error_log.</p>
+
+ <p>See also <a href="#rlimitmem">RLimitMEM</a> or <a
+ href="#rlimitcpu">RLimitCPU</a>.</p>
+ <hr />
+
+ <h2><a id="satisfy" name="satisfy">Satisfy directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> Satisfy any|all<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> Satisfy all<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Satisfy is only
+ available in Apache 1.2 and later
+
+ <p>Access policy if both <code>Allow</code> and
+ <code>Require</code> used. The parameter can be either
+ <em>'all'</em> or <em>'any'</em>. This directive is only useful
+ if access to a particular area is being restricted by both
+ username/password <em>and</em> client host address. In this
+ case the default behavior ("all") is to require that the client
+ passes the address access restriction <em>and</em> enters a
+ valid username and password. With the "any" option the client
+ will be granted access if they either pass the host restriction
+ or enter a valid username and password. This can be used to
+ password restrict an area, but to let clients from particular
+ addresses in without prompting for a password.</p>
+
+ <p>See also <a href="#require">Require</a> and <a
+ href="mod_access.html#allow">Allow</a>.</p>
+ <hr />
+
+ <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ScoreBoardFile
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ScoreBoardFile
+ logs/apache_status</code> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ScoreBoardFile directive is required on some
+ architectures to place a file that the server will use to
+ communicate between its children and the parent. The easiest
+ way to find out if your architecture requires a scoreboard file
+ is to run Apache and see if it creates the file named by the
+ directive. If your architecture requires it then you must
+ ensure that this file is not used at the same time by more than
+ one invocation of Apache.</p>
+
+ <p>If you have to use a ScoreBoardFile then you may see
+ improved speed by placing it on a RAM disk. But be careful that
+ you heed the same warnings about log file placement and <a
+ href="../misc/security_tips.html">security</a>.</p>
+
+ <p>Apache 1.2 and above:</p>
+
+ <p>Linux 1.x users might be able to add <code>-DHAVE_SHMGET
+ -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+ in your <code>Configuration</code>. This might work with some
+ 1.x installations, but won't work with all of them. (Prior to
+ 1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+ <p>SVR4 users should consider adding <code>-DHAVE_SHMGET
+ -DUSE_SHMGET_SCOREBOARD</code> to the <code>EXTRA_CFLAGS</code>
+ in your <code>Configuration</code>. This is believed to work,
+ but we were unable to test it in time for 1.2 release. (Prior
+ to 1.3b4, <code>HAVE_SHMGET</code> would have sufficed.)</p>
+
+ <p><strong>See Also</strong>: <a
+ href="../stopping.html">Stopping and Restarting Apache</a></p>
+ <hr />
+
+ <h2><a id="scriptinterpretersource"
+ name="scriptinterpretersource">ScriptInterpreterSource
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ScriptInterpreterSource
+ registry|script<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a>
+ <code>ScriptInterpreterSource script</code> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (Windows only)
+
+ <p>This directive is used to control how Apache 1.3.5 and later
+ finds the interpreter used to run CGI scripts. The default
+ technique is to use the interpreter pointed to by the #! line
+ in the script. Setting ScriptInterpreterSource registry will
+ cause the Windows Registry to be searched using the script file
+ extension (e.g., .pl) as a search key.</p>
+ <hr />
+
+ <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SendBufferSize
+ <em>bytes</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The server will set the TCP buffer size to the number of
+ bytes specified. Very useful to increase past standard OS
+ defaults on high speed high latency (<em>i.e.</em>, 100ms or
+ so, such as transcontinental fast pipes)</p>
+ <hr />
+
+ <h2><a id="serveradmin" name="serveradmin">ServerAdmin
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerAdmin
+ <em>email-address</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerAdmin sets the e-mail address that the server
+ includes in any error messages it returns to the client.</p>
+
+ <p>It may be worth setting up a dedicated address for this,
+ <em>e.g.</em></p>
+
+ <blockquote>
+ <code>ServerAdmin www-admin@foo.bar.com</code>
+ </blockquote>
+ as users do not always mention that they are talking about the
+ server!
+ <hr />
+
+ <h2><a id="serveralias" name="serveralias">ServerAlias
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerAlias
+ <em>hostname</em> [<em>hostname</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> virtual host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerAlias is
+ only available in Apache 1.1 and later.
+
+ <p>The ServerAlias directive sets the alternate names for a
+ host, for use with <a
+ href="../vhosts/name-based.html">name-based virtual
+ hosts</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="servername" name="servername">ServerName
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerName
+ <em>fully-qualified-domain-name</em> <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerName directive sets the hostname of the server;
+ this is used when creating redirection URLs. If it is not
+ specified, then the server attempts to deduce it from its own
+ IP address; however this may not work reliably, or may not
+ return the preferred hostname. For example:</p>
+
+ <blockquote>
+ <code>ServerName www.example.com</code>
+ </blockquote>
+ would be used if the canonical (main) name of the actual
+ machine were <code>simple.example.com</code>.
+
+ <p>If you are using <a
+ href="../vhosts/name-based.html">name-based virtual hosts</a>,
+ the <code>ServerName</code> inside a <a
+ href="#virtualhost"><code>&lt;VirtualHost&gt;</code></a>
+ section specifies what hostname must appear in the request's
+ <code>Host:</code> header to match this virtual host.</p>
+
+ <p><strong>See Also</strong>:<br />
+ <a href="../dns-caveats.html">DNS Issues</a><br />
+ <a href="../vhosts/">Apache virtual host
+ documentation</a><br />
+ <a href="#usecanonicalname">UseCanonicalName</a><br />
+ <a href="#namevirtualhost">NameVirtualHost</a><br />
+ <a href="#serveralias">ServerAlias</a><br />
+ </p>
+ <hr />
+
+ <h2><a id="serverpath" name="serverpath">ServerPath
+ directive</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerPath
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> virtual host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerPath is
+ only available in Apache 1.1 and later.
+
+ <p>The ServerPath directive sets the legacy URL pathname for a
+ host, for use with <a href="../vhosts/">name-based virtual
+ hosts</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a></p>
+ <hr />
+
+ <h2><a id="serverroot" name="serverroot">ServerRoot
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerRoot
+ <em>directory-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerRoot
+ /usr/local/apache</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerRoot directive sets the directory in which the
+ server lives. Typically it will contain the subdirectories
+ <code>conf/</code> and <code>logs/</code>. Relative paths for
+ other configuration files are taken as relative to this
+ directory.</p>
+
+ <p>See also <a href="../invoking.html">the <code>-d</code>
+ option to httpd</a>.</p>
+
+ <p>See also <a href="../misc/security_tips.html#serverroot">the
+ security tips</a> for information on how to properly set
+ permissions on the ServerRoot.</p>
+ <hr />
+
+ <h2><a id="serversignature"
+ name="serversignature">ServerSignature directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerSignature
+ On|Off|EMail<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerSignature
+ Off</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerSignature
+ is only available in Apache 1.3 and later.
+
+ <p>The ServerSignature directive allows the configuration of a
+ trailing footer line under server-generated documents (error
+ messages, mod_proxy ftp directory listings, mod_info output,
+ ...). The reason why you would want to enable such a footer
+ line is that in a chain of proxies, the user often has no
+ possibility to tell which of the chained servers actually
+ produced a returned error message.<br />
+ The <samp>Off</samp> setting, which is the default, suppresses
+ the error line (and is therefore compatible with the behavior
+ of Apache-1.2 and below). The <samp>On</samp> setting simply
+ adds a line with the server version number and <a
+ href="#servername">ServerName</a> of the serving virtual host,
+ and the <samp>EMail</samp> setting additionally creates a
+ "mailto:" reference to the <a
+ href="#serveradmin">ServerAdmin</a> of the referenced
+ document.</p>
+ <hr />
+
+ <h2><a id="servertokens" name="servertokens">ServerTokens
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerTokens
+ Minimal|ProductOnly|OS|Full<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerTokens
+ Full</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config <br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ServerTokens is
+ only available in Apache 1.3 and later; the
+ <code>ProductOnly</code> keyword is only available in versions
+ later than 1.3.12
+
+ <p>This directive controls whether <samp>Server</samp> response
+ header field which is sent back to clients includes a
+ description of the generic OS-type of the server as well as
+ information about compiled-in modules.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server:
+ Apache</samp></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server:
+ Apache/1.3.0</samp></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+ (Unix)</samp></dd>
+
+ <dt><code>ServerTokens Full</code> (or not specified)</dt>
+
+ <dd>Server sends (<em>e.g.</em>): <samp>Server: Apache/1.3.0
+ (Unix) PHP/3.0 MyMod/1.2</samp></dd>
+ </dl>
+
+ <p>This setting applies to the entire server, and cannot be
+ enabled or disabled on a virtualhost-by-virtualhost basis.</p>
+ <hr />
+
+ <h2><a id="servertype" name="servertype">ServerType
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ServerType
+ <em>type</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ServerType
+ standalone</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The ServerType directive sets how the server is executed by
+ the system. <em>Type</em> is one of</p>
+
+ <dl>
+ <dt>inetd</dt>
+
+ <dd>The server will be run from the system process inetd; the
+ command to start the server is added to
+ <code>/etc/inetd.conf</code></dd>
+
+ <dt>standalone</dt>
+
+ <dd>The server will run as a daemon process; the command to
+ start the server is added to the system startup scripts.
+ (<code>/etc/rc.local</code> or
+ <code>/etc/rc3.d/...</code>.)</dd>
+ </dl>
+ Inetd is the lesser used of the two options. For each http
+ connection received, a new copy of the server is started from
+ scratch; after the connection is complete, this program exits.
+ There is a high price to pay per connection, but for security
+ reasons, some admins prefer this option. <font
+ color="red">Inetd mode is no longer recommended and does not
+ always work properly. Avoid it if at all possible.</font>
+
+ <p>Standalone is the most common setting for ServerType since
+ it is far more efficient. The server is started once, and
+ services all subsequent connections. If you intend running
+ Apache to serve a busy site, standalone will probably be your
+ only option.</p>
+ <hr />
+
+ <h2><a id="startservers" name="startservers">StartServers
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> StartServers
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>StartServers
+ 5</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The StartServers directive sets the number of child server
+ processes created on startup. As the number of processes is
+ dynamically controlled depending on the load, there is usually
+ little reason to adjust this parameter.</p>
+
+ <p>When running under Microsoft Windows, this directive has no
+ effect. There is always one child which handles all requests.
+ Within the child requests are handled by separate threads. The
+ <a href="#threadsperchild">ThreadsPerChild</a> directive
+ controls the maximum number of child threads handling requests,
+ which will have a similar effect to the setting of
+ <samp>StartServers</samp> on Unix.</p>
+
+ <p>See also <a href="#minspareservers">MinSpareServers</a> and
+ <a href="#maxspareservers">MaxSpareServers</a>.</p>
+ <hr />
+
+ <h2><a id="threadsperchild"
+ name="threadsperchild">ThreadsPerChild</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ThreadsPerChild
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ThreadsPerChild
+ 50</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (Windows,
+ NetWare)<br />
+ <strong>Compatibility:</strong> Available only with Apache 1.3
+ and later with Windows
+
+ <p>This directive tells the server how many threads it should
+ use. This is the maximum number of connections the server can
+ handle at once; be sure and set this number high enough for
+ your site if you get a lot of hits.</p>
+
+ <p>This directive has no effect on Unix systems. Unix users
+ should look at <a href="#startservers">StartServers</a> and <a
+ href="#maxrequestsperchild">MaxRequestsPerChild</a>.</p>
+ <hr />
+
+ <h2><a id="threadstacksize"
+ name="threadstacksize">ThreadStackSize</a></h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ThreadStackSize
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>ThreadStackSize
+ 65536</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core (NetWare)<br />
+ <strong>Compatibility:</strong> Available only with Apache 1.3
+ and later with NetWare
+
+ <p>This directive tells the server what stack size to use for
+ each of the running threads. If you ever get a stack overflow
+ you will need to bump this number to a higher setting.</p>
+
+ <p>This directive has no effect on other systems.</p>
+ <hr />
+
+ <h2><a id="timeout" name="timeout">TimeOut directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> TimeOut
+ <em>number</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>TimeOut
+ 300</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The TimeOut directive currently defines the amount of time
+ Apache will wait for three things:</p>
+
+ <ol>
+ <li>The total amount of time it takes to receive a GET
+ request.</li>
+
+ <li>The amount of time between receipt of TCP packets on a
+ POST or PUT request.</li>
+
+ <li>The amount of time between ACKs on transmissions of TCP
+ packets in responses.</li>
+ </ol>
+ We plan on making these separately configurable at some point
+ down the road. The timer used to default to 1200 before 1.2,
+ but has been lowered to 300 which is still far more than
+ necessary in most situations. It is not set any lower by
+ default because there may still be odd places in the code where
+ the timer is not reset when a packet is sent.
+ <hr />
+
+ <h2><a id="usecanonicalname"
+ name="usecanonicalname">UseCanonicalName directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> UseCanonicalName
+ on|off|dns<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>UseCanonicalName
+ on</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Options<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> UseCanonicalName
+ is only available in Apache 1.3 and later
+
+ <p>In many situations Apache has to construct a
+ <em>self-referential</em> URL. That is, a URL which refers back
+ to the same server. With <code>UseCanonicalName on</code> (and
+ in all versions prior to 1.3) Apache will use the <a
+ href="#servername">ServerName</a> and <a href="#port">Port</a>
+ directives to construct a canonical name for the server. This
+ name is used in all self-referential URLs, and for the values
+ of <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in
+ CGIs.</p>
+
+ <p>With <code>UseCanonicalName off</code> Apache will form
+ self-referential URLs using the hostname and port supplied by
+ the client if any are supplied (otherwise it will use the
+ canonical name). These values are the same that are used to
+ implement <a href="../vhosts/name-based.html">name based
+ virtual hosts</a>, and are available with the same clients. The
+ CGI variables <code>SERVER_NAME</code> and
+ <code>SERVER_PORT</code> will be constructed from the client
+ supplied values as well.</p>
+
+ <p>An example where this may be useful is on an intranet server
+ where you have users connecting to the machine using short
+ names such as <code>www</code>. You'll notice that if the users
+ type a shortname, and a URL which is a directory, such as
+ <code>http://www/splat</code>, <em>without the trailing
+ slash</em> then Apache will redirect them to
+ <code>http://www.domain.com/splat/</code>. If you have
+ authentication enabled, this will cause the user to have to
+ reauthenticate twice (once for <code>www</code> and once again
+ for <code>www.domain.com</code>). But if
+ <code>UseCanonicalName</code> is set off, then Apache will
+ redirect to <code>http://www/splat/</code>.</p>
+
+ <p>There is a third option, <code>UseCanonicalName DNS</code>,
+ which is intended for use with mass IP-based virtual hosting to
+ support ancient clients that do not provide a
+ <code>Host:</code> header. With this option Apache does a
+ reverse DNS lookup on the server IP address that the client
+ connected to in order to work out self-referential URLs.</p>
+
+ <p><strong>Warning:</strong> if CGIs make assumptions about the
+ values of <code>SERVER_NAME</code> they may be broken by this
+ option. The client is essentially free to give whatever value
+ they want as a hostname. But if the CGI is only using
+ <code>SERVER_NAME</code> to construct self-referential URLs
+ then it should be just fine.</p>
+
+ <p><strong>See also:</strong> <a
+ href="#servername">ServerName</a>, <a href="#port">Port</a></p>
+ <hr />
+
+ <h2><a id="user" name="user">User directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> User
+ <em>unix-userid</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>User
+ #-1</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> core
+
+ <p>The User directive sets the userid as which the server will
+ answer requests. In order to use this directive, the standalone
+ server must be run initially as root. <em>Unix-userid</em> is
+ one of:</p>
+
+ <dl>
+ <dt>A username</dt>
+
+ <dd>Refers to the given user by name.</dd>
+
+ <dt># followed by a user number.</dt>
+
+ <dd>Refers to a user by their number.</dd>
+ </dl>
+ The user should have no privileges which result in it being
+ able to access files which are not intended to be visible to
+ the outside world, and similarly, the user should not be able
+ to execute code which is not meant for httpd requests. It is
+ recommended that you set up a new user and group specifically
+ for running the server. Some admins use user
+ <code>nobody</code>, but this is not always possible or
+ desirable. For example mod_proxy's cache, when enabled, must be
+ accessible to this user (see the <a
+ href="mod_proxy.html#cacheroot"><code>CacheRoot</code>
+ directive</a>).
+
+ <p>Notes: If you start the server as a non-root user, it will
+ fail to change to the lesser privileged user, and will instead
+ continue to run as that original user. If you do start the
+ server as root, then it is normal for the parent process to
+ remain running as root.</p>
+
+ <p>Special note: Use of this directive in &lt;VirtualHost&gt;
+ requires a properly configured <a href="../suexec.html">suEXEC
+ wrapper</a>. When used inside a &lt;VirtualHost&gt; in this
+ manner, only the user that CGIs are run as is affected. Non-CGI
+ requests are still processed with the user specified in the
+ main User directive.</p>
+
+ <p>SECURITY: Don't set User (or <a href="#group">Group</a>) to
+ <code>root</code> unless you know exactly what you are doing,
+ and what the dangers are.</p>
+ <hr />
+
+ <h2><a id="virtualhost" name="virtualhost">&lt;VirtualHost&gt;
+ directive</a></h2>
+
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> &lt;VirtualHost
+ <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]]
+ ...&gt; ... &lt;/VirtualHost&gt; <br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Core.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Non-IP
+ address-based Virtual Hosting only available in Apache 1.1 and
+ later.<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Multiple address
+ support only available in Apache 1.2 and later.
+
+ <p>&lt;VirtualHost&gt; and &lt;/VirtualHost&gt; are used to
+ enclose a group of directives which will apply only to a
+ particular virtual host. Any directive which is allowed in a
+ virtual host context may be used. When the server receives a
+ request for a document on a particular virtual host, it uses
+ the configuration directives enclosed in the
+ &lt;VirtualHost&gt; section. <em>Addr</em> can be</p>
+
+ <ul>
+ <li>The IP address of the virtual host</li>
+
+ <li>A fully qualified domain name for the IP address of the
+ virtual host.</li>
+ </ul>
+ Example:
+
+ <blockquote>
+ <code>&lt;VirtualHost 10.1.2.3&gt;<br />
+ ServerAdmin webmaster@host.foo.com<br />
+ DocumentRoot /www/docs/host.foo.com<br />
+ ServerName host.foo.com<br />
+ ErrorLog logs/host.foo.com-error_log<br />
+ TransferLog logs/host.foo.com-access_log<br />
+ &lt;/VirtualHost&gt;</code>
+ </blockquote>
+ Each VirtualHost must correspond to a different IP address,
+ different port number or a different host name for the server,
+ in the former case the server machine must be configured to
+ accept IP packets for multiple addresses. (If the machine does
+ not have multiple network interfaces, then this can be
+ accomplished with the <code>ifconfig alias</code> command (if
+ your OS supports it), or with kernel patches like <a
+ href="../misc/vif-info.html">VIF</a> (for SunOS(TM) 4.1.x)).
+
+ <p>You can specify more than one IP address. This is useful if
+ a machine responds to the same name on two different
+ interfaces. For example, if you have a VirtualHost that is
+ available to hosts on an internal (intranet) as well as
+ external (internet) network. Example:</p>
+
+ <blockquote>
+ <code>&lt;VirtualHost 192.168.1.2 204.255.176.199&gt;<br />
+ DocumentRoot /www/docs/host.foo.com<br />
+ ServerName host.foo.com<br />
+ ServerAlias host<br />
+ &lt;/VirtualHost&gt;</code>
+ </blockquote>
+ The special name <code>_default_</code> can be specified in
+ which case this virtual host will match any IP address that is
+ not explicitly listed in another virtual host. In the absence
+ of any _default_ virtual host the "main" server config,
+ consisting of all those definitions outside any VirtualHost
+ section, is used when no match occurs.
+
+ <p>You can specify a <code>:port</code> to change the port that
+ is matched. If unspecified then it defaults to the same port as
+ the most recent <code><a href="#port">Port</a></code> statement
+ of the main server. You may also specify <code>:*</code> to
+ match all ports on that address. (This is recommended when used
+ with <code>_default_</code>.)</p>
+
+ <p><strong>SECURITY</strong>: See the <a
+ href="../misc/security_tips.html">security tips</a> document
+ for details on why your security could be compromised if the
+ directory where logfiles are stored is writable by anyone other
+ than the user that starts the server.</p>
+
+ <p><strong>NOTE</strong>: The use of &lt;VirtualHost&gt; does
+ <strong>not</strong> affect what addresses Apache listens on.
+ You may need to ensure that Apache is listening on the correct
+ addresses using either <a href="#bindaddress">BindAddress</a>
+ or <a href="#listen">Listen</a>.</p>
+
+ <p><strong>See also:</strong> <a href="../vhosts/">Apache
+ Virtual Host documentation</a><br />
+ <strong>See also:</strong> <a
+ href="../dns-caveats.html">Warnings about DNS and
+ Apache</a><br />
+ <strong>See also:</strong> <a href="../bind.html">Setting
+ which addresses and ports Apache uses</a><br />
+ <strong>See also</strong>: <a href="../sections.html">How
+ Directory, Location and Files sections work</a> for an
+ explanation of how these different sections are combined when a
+ request is received</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.fr b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.fr
new file mode 100644
index 00000000000..817a984f246
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directive-dict.html.fr
@@ -0,0 +1,261 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.4 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Termes utilis&eacute;s pour d&eacute;crire les
+ directives Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Termes utilis&eacute;s pour d&eacute;crire
+ les directives Apache</h1>
+
+ <p>Chaque directive de configuration d'Apache est
+ d&eacute;crite selon un format de pr&eacute;sentation commun
+ ressemblant &agrave; ceci :</p>
+
+ <dl>
+ <dd><a href="#Syntax"
+ rel="Help"><strong>Syntaxe:</strong></a>
+ <em>nomDirective</em> <em>arguments</em><br />
+ <a href="#Default"
+ rel="Help"><strong>D&eacute;faut:</strong></a>
+ <samp><em>nomDirective
+ valeursParD&eacute;faut</em></samp><br />
+ <a href="#Context" rel="Help"><strong>Contexte:</strong></a>
+ <em>listeDeContextes</em><br />
+ <a href="#Override"
+ rel="Help"><strong>Surcharge:</strong></a>
+ <em>DirectivesSurcharg&eacute;es</em><br />
+ <a href="#Status" rel="Help"><strong>Statut:</strong></a>
+ <em>statut</em><br />
+ <a href="#Module" rel="Help"><strong>Module:</strong></a>
+ <em>nomModule</em><br />
+ <a href="#Compatibility"
+ rel="Help"><strong>Compatibilit&eacute;:</strong></a>
+ <em>notes concernant la compatibilit&eacute;</em></dd>
+ </dl>
+
+ <p>Chacun des attributs possibles pour les directives, avec
+ toutes leurs valeurs possibles sont d&eacute;crites dans ce
+ document.</p>
+
+ <h2>Termes employ&eacute;s pour les directives</h2>
+
+ <ul>
+ <li><a href="#Syntax">Syntaxe</a></li>
+
+ <li><a href="#Default">D&eacute;faut</a></li>
+
+ <li><a href="#Context">Contexte</a></li>
+
+ <li><a href="#Override">Surcharge</a></li>
+
+ <li><a href="#Status">Statut</a></li>
+
+ <li><a href="#Module">Module</a></li>
+
+ <li><a href="#Compatibility">Compatibilit&eacute;</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="Syntax" name="Syntax">Syntaxe</a></h2>
+
+ <p>Indique le format dans laquelle la directive doit &ecirc;tre
+ inscrite dans les fichiers de configuration. Cette syntaxe est
+ tr&egrave;s sp&eacute;cifique pour chaque directive, et est
+ d&eacute;crite en d&eacute;tail dans la d&eacute;finition de la
+ directive. G&eacute;n&eacute;ralement, le nom de la directive
+ est suivi d'un ou de plusieurs arguments. Les arguments
+ optionnels sont entour&eacute;s de crochets Quand un argument
+ peut prendre plus d'une valeur possible, les valeurs possibles
+ sont s&eacute;par&eacute;es par une barre verticale. Les
+ valeurs litt&eacute;rales sont affich&eacute;e avec la fontes
+ par d&eacute;faut, tandis qur les type d'arguments pour
+ lesquels une substitution doit &ecirc;tre faite sont en
+ italique. Les diretrives pouvant avoir un nombre variable
+ d'arguments se terminent avec "..." indiquant que le dernier
+ argument se r&eacute;p&egrave;te.</p>
+ <hr />
+
+ <h2><a id="Default" name="Default">D&eacute;faut</a></h2>
+
+ <p>Si la directive a une valeur par d&eacute;faut
+ (<em>c-&agrave;-d.</em>, si elle n'apparait pas du tout dans le
+ fichier de configuration, le serveur Apache se comportera comme
+ si cette directive avait &eacute;t&eacute; &eacute;crite en
+ mentionnant cette valeur), elle est sp&eacute;cifi&eacute;e
+ ici. Si aucune valeur n'est d&eacute;finie par d&eacute;faut,
+ cette section pr&eacute;cisera "<em>Non
+ pr&eacute;cis&eacute;</em>".</p>
+ <hr />
+
+ <h2><a id="Context" name="Context">Contexte</a></h2>
+
+ <p>Indique l&agrave; ou l'implantation de la directive dans le
+ fichier de configuration est licite. Il est exprim&eacute;
+ comme une liste s&eacute;par&eacute;e par des virgules, et
+ pouvant contenir les &eacute;l&eacute;ments suivants :</p>
+
+ <dl>
+ <dt><strong>configuration serveur</strong></dt>
+
+ <dd>La directive peut &ecirc;tre utilis&eacute;e dans le
+ fichier de configuration du serveur (<em>ex.</em>,
+ <samp>httpd.conf</samp>, <samp>srm.conf</samp>, et
+ <samp>access.conf</samp>), mais dans <strong>aucune</strong>
+ des sections int&eacute;rieures des containers
+ <samp>&lt;VirtualHost&gt;</samp> ni &lt;Directory&gt;. Elle
+ n'est pas permise dans aucun des fichiers
+ <samp>.htaccess</samp>.</dd>
+
+ <dt><strong>h&ocirc;te virtuel</strong></dt>
+
+ <dd>Dans ce contexte, la directive peut appara&icirc;tre dans
+ les containers <samp>&lt;VirtualHost&gt;</samp> &eacute;crits
+ dans les fichiers de configuration du serveur.</dd>
+
+ <dt><strong>r&eacute;pertoire</strong></dt>
+
+ <dd>La directive peut appara&icirc;tre dans les containers
+ <samp>&lt;Directory&gt;</samp> &eacute;crits dans les
+ fichiers de configuration du serveur.</dd>
+
+ <dt><strong>.htaccess</strong></dt>
+
+ <dd>La directive peut appara&icirc;tre dans les fichiers
+ <samp>.htaccess</samp> situ&eacute; dans chacun des
+ r&eacute;pertoires. Elle peut ou ne pas &ecirc;tre
+ interpr&eacute;t&eacute;e, suivant la configuration des
+ directives <a href="#Override" rel="Help">de
+ surcharge</a>.</dd>
+ </dl>
+
+ <p>Les directives ne sont autoris&eacute;es <em>que</em> dans
+ les contextes cit&eacute;s ; si vous essayez de les
+ &eacute;crire ailleurs, vous provoquerez une erreur de
+ configuration qui soit conduira le serveur &agrave; ignorer les
+ requ&ecirc;tes dans le contexte sp&eacute;cifi&eacute;, soit
+ peut emp&ecirc;cher le serveur de fonctionner --
+ <em>c-&agrave;-d.</em>, le serveur refusera de
+ d&eacute;marrer.</p>
+
+ <p>Les emplacements valides pour les directives sont le
+ r&eacute;sultat d'un OU bool&eacute;en de tous les contextes
+ cit&eacute;s. En d'autres termes, une directive marqu&eacute;e
+ comma &eacute;tant valide dans le contexte "<samp>configuration
+ serveur, .htaccess</samp>" peut &ecirc;tre utilis&eacute;e dans
+ le fichier <samp>httpd.conf</samp> et dans les fichiers
+ <samp>.htaccess</samp>, mais pas dans le container
+ &lt;Directory&gt; ni &lt;VirtualHost&gt;.</p>
+ <hr />
+
+ <h2><a id="Override" name="Override">Surcharge</a></h2>
+
+ <p>Cet attribut de directive pr&eacute;cise quelle surcharge
+ doit &ecirc;tre permise pour que la directive puisse &ecirc;tre
+ interpr&eacute;t&eacute;e lorsqu'elle appara&icirc;t dans un
+ fichier <samp>.htaccess</samp>. Si le <a href="#Context"
+ rel="Help">contexte</a> de directive ne permet pas une
+ &eacute;criture dans les fichiers <samp>.htaccess</samp>, cet
+ attribut doit mentionner "<em>Non applicable</em>".</p>
+
+ <p>Les surcharges sont g&eacute;r&eacute;es par la directive <a
+ href="core.html#allowoverrides"
+ rel="Help"><samp>AllowOverrides</samp></a>, et ont une
+ port&eacute;e d&eacute;finie, par exemple un r&eacute;pertoire
+ donn&eacute; et tous ses descendants, sauf si la configuration
+ de surcharge est chang&eacute;e &agrave; un endroit de la
+ descendance par une directive <samp>AllowOverrides</samp> d'un
+ niveau inf&eacute;rieur. La documentation pour cette directive
+ liste aussi les noms possibles de surcharges disponibles.</p>
+ <hr />
+
+ <h2><a id="Status" name="Status">Statut</a></h2>
+
+ <p>Indique &agrave; quel module du serveur Apache Web la
+ directive est rattach&eacute;e ; en d'autres termes, vous
+ devrez peut &ecirc;tre recompiler le serveur en
+ pr&eacute;cisant un ensemble plus large de modules pour pouvoir
+ b&eacute;n&eacute;ficier de cette fonctionnalit&eacute;. Les
+ valeurs possibles pour cet attribut sont :</p>
+
+ <dl>
+ <dt><strong>Noyau</strong></dt>
+
+ <dd>Il s'agit d'une directive du noyau d'Apache et est de ce
+ fait toujours disponible.</dd>
+
+ <dt><strong>Base</strong></dt>
+
+ <dd>La directive est impl&eacute;ment&eacute;e dans un module
+ d'Apache faisant partie de l'ensemble de compilation de base,
+ et est normalement disponible sauf si vous avez explicitement
+ enlev&eacute; ce module &agrave; la compilation.</dd>
+
+ <dt><strong>Extension</strong></dt>
+
+ <dd>La directive est impl&eacute;ment&eacute;e par un module
+ faisant partie de l'Apache Server Kit, mais ce module n'est
+ pas compil&eacute; par d&eacute;faut. Pour activer cette
+ directive, et rendre op&eacute;rationnelle cette
+ fonctionnalit&eacute;, vous devrez modifier le fichier de
+ configuration de compilation et recompiler Apache.</dd>
+
+ <dt><strong>Exp&eacute;rimental</strong></dt>
+
+ <dd>Le statut "Experimental" indique que la directive est
+ disponible dans le Kit Apache, mais que vous ne pouvez
+ l'utiliser qu'&agrave; vos risques et p&eacute;rils. La
+ directive est document&eacute; dans un souci
+ d'exhaustivit&eacute; mais n'est pas forc&eacute;ment
+ support&eacute;e. Le module qui donne acc&egrave;s &agrave;
+ cette directive peut &ecirc;tre ou ne pas &ecirc;tre
+ compil&eacute; par d&eacute;faut ; reportez vous en
+ t&ecirc;te de la page qui d&eacute;crit la directive et le
+ module pour toute remarque concernant sa
+ disponibilit&eacute;.</dd>
+ </dl>
+ <hr />
+
+ <h2><a id="Module" name="Module">Module</a></h2>
+
+ <p>Donne simplement le nom du module ou est
+ impl&eacute;ment&eacute;e cette fonctionnalit&eacute;.</p>
+ <hr />
+
+ <h2><a id="Compatibility"
+ name="Compatibility">Compatibilit&eacute;</a></h2>
+
+ <p>Si la directive ne faisait pas partie de la version 1
+ d'Apache, le num&eacute;ro indique la version dans laquelle
+ elle a &eacute;t&eacute; introduite. Si la directive a le
+ m&ecirc;me nom qu'une ancienne directive du serveur HTTPd du
+ NCSA, toute diff&eacute;rence de comportement y sera
+ mentionn&eacute;e. Dans les autres cas, cette rubrique
+ affichera "<em>Pas de remarques sur
+ compatiblit&eacute;.</em>"</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directives.html.de b/usr.sbin/httpd/htdocs/manual/mod/directives.html.de
new file mode 100644
index 00000000000..b0fb88568c1
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directives.html.de
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<TITLE>Apache Konfigurationsdirektiven</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<H1 ALIGN="CENTER">Apache Konfigurationsdirektiven</H1>
+<P>
+Dieses Dokument enth&auml;lt eine vollst&auml;ndige Liste aller
+Konfigurationsdirektiven der Apache Standard-Distribution.
+Die Beschreibungen sind dabei in einem einheitlichen Format verfasst,
+wobei es zu den im Beschreibungsformat verwendeten Feldern eine eigene
+<A
+ HREF="directive-dict.html"
+ REL="Glossary"
+>Legende</A>
+gibt.
+</P>
+<UL>
+<LI><A HREF="core.html#accessconfig">AccessConfig</A>
+<LI><A HREF="core.html#accessfilename">AccessFileName</A>
+<LI><A HREF="mod_actions.html#action">Action</A>
+<LI><A HREF="mod_autoindex.html#addalt">AddAlt</A>
+<LI><A HREF="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</A>
+<LI><A HREF="mod_autoindex.html#addaltbytype">AddAltByType</A>
+<LI><A HREF="mod_mime.html#addcharset">AddCharset</A>
+<LI><A HREF="core.html#adddefaultcharset">AddDefaultCharset</A>
+<LI><A HREF="mod_autoindex.html#adddescription">AddDescription</A>
+<LI><A HREF="mod_mime.html#addencoding">AddEncoding</A>
+<LI><A HREF="mod_mime.html#addhandler">AddHandler</A>
+<LI><A HREF="mod_autoindex.html#addicon">AddIcon</A>
+<LI><A HREF="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</A>
+<LI><A HREF="mod_autoindex.html#addiconbytype">AddIconByType</A>
+<LI><A HREF="mod_mime.html#addlanguage">AddLanguage</A>
+<LI><A HREF="core.html#addmodule">AddModule</A>
+<LI><A HREF="mod_info.html#addmoduleinfo">AddModuleInfo</A>
+<LI><A HREF="mod_mime.html#addtype">AddType</A>
+<LI><A HREF="mod_log_agent.html#agentlog">AgentLog</A>
+<LI><A HREF="mod_alias.html#alias">Alias</A>
+<LI><A HREF="mod_alias.html#aliasmatch">AliasMatch</A>
+<LI><A HREF="mod_access.html#allow">Allow</A>
+<LI><A HREF="mod_proxy.html#allowconnect">AllowCONNECT</A>
+<LI><A HREF="core.html#allowoverride">AllowOverride</A>
+<LI><A HREF="mod_auth_anon.html#anonymous">Anonymous</A>
+<LI><A HREF="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</A>
+<LI><A HREF="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</A>
+<LI><A HREF="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</A>
+<LI><A HREF="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</A>
+<LI><A HREF="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</A>
+<LI><A HREF="mod_auth.html#authauthoritative">AuthAuthoritative</A>
+<LI><A HREF="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</A>
+<LI><A HREF="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</A>
+<LI><A HREF="mod_auth_db.html#authdbuserfile">AuthDBUserFile</A>
+<LI><A HREF="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</A>
+<LI><A HREF="mod_digest.html#authdigestfile">AuthDigestFile</A>
+<LI><A HREF="mod_auth.html#authgroupfile">AuthGroupFile</A>
+<LI><A HREF="core.html#authname">AuthName</A>
+<LI><A HREF="core.html#authtype">AuthType</A>
+<LI><A HREF="mod_auth.html#authuserfile">AuthUserFile</A>
+<LI><A HREF="core.html#bindaddress">BindAddress</A>
+<LI><A HREF="mod_setenvif.html#BrowserMatch">BrowserMatch</A>
+<LI><A HREF="mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</A>
+<LI><A HREF="core.html#bs2000account">BS2000Account</A>
+<LI><A HREF="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</A>
+<LI><A HREF="mod_proxy.html#cachedirlength">CacheDirLength</A>
+<LI><A HREF="mod_proxy.html#cachedirlevels">CacheDirLevels</A>
+<LI><A HREF="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</A>
+<LI><A HREF="mod_proxy.html#cachegcinterval">CacheGcInterval</A>
+<LI><A HREF="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</A>
+<LI><A HREF="mod_proxy.html#cachemaxexpire">CacheMaxExpire</A>
+<LI><A HREF="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</A>
+<LI><A HREF="mod_proxy.html#cacheroot">CacheRoot</A>
+<LI><A HREF="mod_proxy.html#cachesize">CacheSize</A>
+<LI><A HREF="mod_speling.html#checkspelling">CheckSpelling</A>
+<LI><A HREF="core.html#clearmodulelist">ClearModuleList</A>
+<LI><A HREF="core.html#contentdigest">ContentDigest</A>
+<LI><A HREF="mod_usertrack.html#cookieexpires">CookieExpires</A>
+<LI><A HREF="mod_cookies.html#cookielog">CookieLog</A> (mod_cookies)
+<LI><A HREF="mod_log_config.html#cookielog">CookieLog</A> (mod_log_config)
+<LI><A HREF="mod_usertrack.html#cookietracking">CookieTracking</A>
+<LI><A HREF="core.html#coredumpdirectory">CoreDumpDirectory</A>
+<LI><A HREF="mod_log_config.html#customlog">CustomLog</A>
+<LI><A HREF="mod_autoindex.html#defaulticon">DefaultIcon</A>
+<LI><A HREF="mod_mime.html#defaultlanguage">DefaultLanguage</A>
+<LI><A HREF="core.html#defaulttype">DefaultType</A>
+<LI><A HREF="mod_access.html#deny">Deny</A>
+<LI><A HREF="core.html#directory">&lt;Directory&gt;</A>
+<LI><A HREF="core.html#directorymatch">&lt;DirectoryMatch&gt;</A>
+<LI><A HREF="mod_dir.html#directoryindex">DirectoryIndex</A>
+<LI><A HREF="core.html#documentroot">DocumentRoot</A>
+<LI><A HREF="core.html#ebcdicconvert">EBCDICConvert</A>
+<LI><A HREF="core.html#ebcdicconvertbytype">EBCDICConvertByType</A>
+<LI><A HREF="core.html#ebcdickludge">EBCDICKludge</A>
+<LI><A HREF="core.html#errordocument">ErrorDocument</A>
+<LI><A HREF="core.html#errorlog">ErrorLog</A>
+<LI><A HREF="mod_example.html#example">Example</A>
+<LI><A HREF="mod_expires.html#expiresactive">ExpiresActive</A>
+<LI><A HREF="mod_expires.html#expiresbytype">ExpiresByType</A>
+<LI><A HREF="mod_expires.html#expiresdefault">ExpiresDefault</A>
+<LI><A HREF="mod_status.html#extendedstatus">ExtendedStatus</A>
+<LI><A HREF="mod_autoindex.html#fancyindexing">FancyIndexing</A>
+<LI><A HREF="core.html#files">&lt;Files&gt;</A>
+<LI><A HREF="core.html#filesmatch">&lt;FilesMatch&gt;</A>
+<LI><A HREF="mod_mime.html#forcetype">ForceType</A>
+<LI><A HREF="core.html#group">Group</A>
+<LI><A HREF="mod_headers.html#header">Header</A>
+<LI><A HREF="mod_autoindex.html#headername">HeaderName</A>
+<LI><A HREF="core.html#hostnamelookups">HostNameLookups</A>
+<LI><A HREF="core.html#identitycheck">IdentityCheck</A>
+<LI><A HREF="core.html#ifdefine">&lt;IfDefine&gt;</A>
+<LI><A HREF="core.html#ifmodule">&lt;IfModule&gt;</A>
+<LI><A HREF="mod_imap.html#imapbase">ImapBase</A>
+<LI><A HREF="mod_imap.html#imapdefault">ImapDefault</A>
+<LI><A HREF="mod_imap.html#imapmenu">ImapMenu</A>
+<LI><A HREF="core.html#include">Include</A>
+<LI><A HREF="mod_autoindex.html#indexignore">IndexIgnore</A>
+<LI><A HREF="mod_autoindex.html#indexoptions">IndexOptions</A>
+<LI><A HREF="mod_autoindex.html#indexorderdefault">IndexOrderDefault</A>
+<LI><A HREF="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</A>
+<LI><A HREF="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</A>
+<LI><A HREF="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A>
+<LI><A HREF="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</A>
+<LI><A HREF="core.html#keepalive">KeepAlive</A>
+<LI><A HREF="core.html#keepalivetimeout">KeepAliveTimeout</A>
+<LI><A HREF="mod_negotiation.html#languagepriority">LanguagePriority</A>
+<LI><A HREF="core.html#limit">&lt;Limit&gt;</A>
+<LI><A HREF="core.html#limitexcept">&lt;LimitExcept&gt;</A>
+<LI><A HREF="core.html#limitrequestbody">LimitRequestBody</A>
+<LI><A HREF="core.html#limitrequestfields">LimitRequestFields</A>
+<LI><A HREF="core.html#limitrequestfieldsize">LimitRequestFieldsize</A>
+<LI><A HREF="core.html#limitrequestline">LimitRequestLine</A>
+<LI><A HREF="core.html#listen">Listen</A>
+<LI><A HREF="core.html#listenbacklog">ListenBacklog</A>
+<LI><A HREF="mod_so.html#loadfile">LoadFile</A>
+<LI><A HREF="mod_so.html#loadmodule">LoadModule</A>
+<LI><A HREF="core.html#location">&lt;Location&gt;</A>
+<LI><A HREF="core.html#locationmatch">&lt;LocationMatch&gt;</A>
+<LI><A HREF="core.html#lockfile">LockFile</A>
+<LI><A HREF="mod_log_config.html#logformat">LogFormat</A>
+<LI><A HREF="core.html#loglevel">LogLevel</A>
+<LI><A HREF="core.html#maxclients">MaxClients</A>
+<LI><A HREF="core.html#maxkeepaliverequests">MaxKeepAliveRequests</A>
+<LI><A HREF="core.html#maxrequestsperchild">MaxRequestsPerChild</A>
+<LI><A HREF="core.html#maxspareservers">MaxSpareServers</A>
+<LI><A HREF="mod_cern_meta.html#metadir">MetaDir</A>
+<LI><A HREF="mod_cern_meta.html#metafiles">MetaFiles</A>
+<LI><A HREF="mod_cern_meta.html#metasuffix">MetaSuffix</A>
+<LI><A HREF="mod_mime_magic.html#mimemagicfile">MimeMagicFile</A>
+<LI><A HREF="core.html#minspareservers">MinSpareServers</A>
+<LI><A HREF="mod_mmap_static.html#mmapfile">MMapFile</A>
+<LI><A HREF="core.html#namevirtualhost">NameVirtualHost</A>
+<LI><A HREF="mod_proxy.html#nocache">NoCache</A>
+<LI><A HREF="core.html#options">Options</A>
+<LI><A HREF="mod_access.html#order">Order</A>
+<LI><A HREF="mod_env.html#passenv">PassEnv</A>
+<LI><A HREF="core.html#pidfile">PidFile</A>
+<LI><A HREF="core.html#port">Port</A>
+<LI><A HREF="mod_proxy.html#proxyblock">ProxyBlock</A>
+<LI><A HREF="mod_proxy.html#proxydomain">ProxyDomain</A>
+<LI><A HREF="mod_proxy.html#proxypass">ProxyPass</A>
+<LI><A HREF="mod_proxy.html#proxypassreverse">ProxyPassReverse</A>
+<LI><A HREF="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</A>
+<LI><A HREF="mod_proxy.html#proxyremote">ProxyRemote</A>
+<LI><A HREF="mod_proxy.html#proxyrequests">ProxyRequests</A>
+<LI><A HREF="mod_proxy.html#proxyvia">ProxyVia</A>
+<LI><A HREF="mod_autoindex.html#readmename">ReadmeName</A>
+<LI><A HREF="mod_alias.html#redirect">Redirect</A>
+<LI><A HREF="mod_alias.html#redirectmatch">RedirectMatch</A>
+<LI><A HREF="mod_alias.html#redirectperm">RedirectPermanent</A>
+<LI><A HREF="mod_alias.html#redirecttemp">RedirectTemp</A>
+<LI><A HREF="mod_log_referer.html#refererignore">RefererIgnore</A>
+<LI><A HREF="mod_log_referer.html#refererlog">RefererLog</A>
+<LI><A HREF="mod_mime.html#removeencoding">RemoveEncoding</A>
+<LI><A HREF="mod_mime.html#removehandler">RemoveHandler</A>
+<LI><A HREF="mod_mime.html#removetype">RemoveType</A>
+<LI><A HREF="core.html#require">Require</A>
+<LI><A HREF="core.html#resourceconfig">ResourceConfig</A>
+<LI><A HREF="mod_rewrite.html#RewriteBase">RewriteBase</A>
+<LI><A HREF="mod_rewrite.html#RewriteCond">RewriteCond</A>
+<LI><A HREF="mod_rewrite.html#RewriteEngine">RewriteEngine</A>
+<LI><A HREF="mod_rewrite.html#RewriteLock">RewriteLock</A>
+<LI><A HREF="mod_rewrite.html#RewriteLog">RewriteLog</A>
+<LI><A HREF="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</A>
+<LI><A HREF="mod_rewrite.html#RewriteMap">RewriteMap</A>
+<LI><A HREF="mod_rewrite.html#RewriteOptions">RewriteOptions</A>
+<LI><A HREF="mod_rewrite.html#RewriteRule">RewriteRule</A>
+<LI><A HREF="core.html#rlimitcpu">RLimitCPU</A>
+<LI><A HREF="core.html#rlimitmem">RLimitMEM</A>
+<LI><A HREF="core.html#rlimitnproc">RLimitNPROC</A>
+<LI><A HREF="core.html#satisfy">Satisfy</A>
+<LI><A HREF="core.html#scoreboardfile">ScoreBoardFile</A>
+<LI><A HREF="mod_actions.html#script">Script</A>
+<LI><A HREF="mod_alias.html#scriptalias">ScriptAlias</A>
+<LI><A HREF="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</A>
+<LI><A HREF="core.html#scriptinterpretersource">ScriptInterpreterSource</A>
+<LI><A HREF="mod_cgi.html#scriptlog">ScriptLog</A>
+<LI><A HREF="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</A>
+<LI><A HREF="mod_cgi.html#scriptloglength">ScriptLogLength</A>
+<LI><A HREF="core.html#sendbuffersize">SendBufferSize</A>
+<LI><A HREF="core.html#serveradmin">ServerAdmin</A>
+<LI><A HREF="core.html#serveralias">ServerAlias</A>
+<LI><A HREF="core.html#servername">ServerName</A>
+<LI><A HREF="core.html#serverpath">ServerPath</A>
+<LI><A HREF="core.html#serverroot">ServerRoot</A>
+<LI><A HREF="core.html#serversignature">ServerSignature</A>
+<LI><A HREF="core.html#servertokens">ServerTokens</A>
+<LI><A HREF="core.html#servertype">ServerType</A>
+<LI><A HREF="mod_env.html#setenv">SetEnv</A>
+<LI><A HREF="mod_setenvif.html#setenvif">SetEnvIf</A>
+<LI><A HREF="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</A>
+<LI><A HREF="mod_mime.html#sethandler">SetHandler</A>
+<LI><A HREF="core.html#startservers">StartServers</A>
+<LI><A HREF="core.html#threadsperchild">ThreadsPerChild</A>
+<LI><A HREF="core.html#timeout">TimeOut</A>
+<LI><A HREF="mod_log_config.html#transferlog">TransferLog</A>
+<LI><A HREF="mod_mime.html#typesconfig">TypesConfig</A>
+<LI><A HREF="mod_env.html#unsetenv">UnsetEnv</A>
+<LI><A HREF="core.html#usecanonicalname">UseCanonicalName</A>
+<LI><A HREF="core.html#user">User</A>
+<LI><A HREF="mod_userdir.html#userdir">UserDir</A>
+<LI><A HREF="core.html#virtualhost">&lt;VirtualHost&gt;</A>
+<LI><A HREF="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</A>
+<LI><A HREF="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</A>
+<LI><A HREF="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</A>
+<LI><A HREF="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</A>
+<LI><A HREF="mod_include.html#xbithack">XBitHack</A>
+</UL>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</BODY>
+</HTML>
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directives.html.en b/usr.sbin/httpd/htdocs/manual/mod/directives.html.en
new file mode 100644
index 00000000000..4445c7aa3e9
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directives.html.en
@@ -0,0 +1,602 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache directives</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache Directives</h1>
+
+ <p>Each Apache directive available in the standard Apache
+ distribution is listed here. They are described using a
+ consistent format, and there is <a href="directive-dict.html"
+ rel="Glossary">a dictionary</a> of the terms used in their
+ descriptions available.</p>
+
+ <ul>
+ <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+ <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+ <li><a
+ href="core.html#accessfilename">AccessFileName</a></li>
+
+ <li><a href="mod_actions.html#action">Action</a></li>
+
+ <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+
+ <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+ <li><a
+ href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a
+ href="mod_autoindex.html#adddescription">AddDescription</a></li>
+
+ <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+ <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+ <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+
+ <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+ <li><a href="core.html#addmodule">AddModule</a></li>
+
+ <li><a
+ href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+
+ <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+ <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+ <li><a href="mod_alias.html#alias">Alias</a></li>
+
+ <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+ <li><a href="mod_access.html#allow">Allow</a></li>
+
+ <li><a
+ href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+
+ <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+ <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a></li>
+
+ <li><a
+ href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+
+ <li><a
+ href="mod_digest.html#authdigestfile">AuthDigestFile</a></li>
+
+ <li><a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a></li>
+
+ <li><a href="core.html#authname">AuthName</a></li>
+
+ <li><a href="core.html#authtype">AuthType</a></li>
+
+ <li><a
+ href="mod_auth.html#authuserfile">AuthUserFile</a></li>
+
+ <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatch">BrowserMatch</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a></li>
+
+ <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlength">CacheDirLength</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlevels">CacheDirLevels</a></li>
+
+ <li><a
+ href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachegcinterval">CacheGcInterval</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a></li>
+
+ <li><a
+ href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+ <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+ <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+ <li><a
+ href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+
+ <li><a
+ href="core.html#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+ <li><a
+ href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+
+ <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+ (mod_cookies)</li>
+
+ <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+ (mod_log_config)</li>
+
+ <li><a
+ href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+
+ <li><a
+ href="core.html#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a
+ href="mod_log_config.html#customlog">CustomLog</a></li>
+
+ <li><a
+ href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+
+ <li><a
+ href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+
+ <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+ <li><a href="mod_define.html#define">Define</a>
+
+ <li><a href="mod_access.html#deny">Deny</a></li>
+
+ <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+ <li><a
+ href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+
+ <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+ <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+ <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+ <li><a href="mod_example.html#example">Example</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+
+ <li><a
+ href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+
+ <li><a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a></li>
+
+ <li><a href="core.html#fileetag">FileETag</a></li>
+
+ <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+ <li><a
+ href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+ <li><a href="core.html#group">Group</a></li>
+
+ <li><a href="mod_headers.html#header">Header</a></li>
+
+ <li><a
+ href="mod_autoindex.html#headername">HeaderName</a></li>
+
+ <li><a
+ href="core.html#hostnamelookups">HostnameLookups</a></li>
+
+ <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+ <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+ <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+ <li><a href="core.html#include">Include</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+
+ <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+ <li><a
+ href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a></li>
+
+ <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+ <li><a
+ href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a
+ href="core.html#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a
+ href="core.html#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a
+ href="core.html#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="core.html#listen">Listen</a></li>
+
+ <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+ <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+ <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+ <li><a
+ href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="core.html#lockfile">LockFile</a></li>
+
+ <li><a
+ href="mod_log_config.html#logformat">LogFormat</a></li>
+
+ <li><a href="core.html#loglevel">LogLevel</a></li>
+
+ <li><a href="core.html#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="core.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a
+ href="core.html#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+ <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+ <li><a
+ href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+
+ <li><a
+ href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+
+ <li><a
+ href="core.html#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+ <li><a
+ href="core.html#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+ <li><a href="core.html#options">Options</a></li>
+
+ <li><a href="mod_access.html#order">Order</a></li>
+
+ <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+ <li><a href="core.html#pidfile">PidFile</a></li>
+
+ <li><a href="core.html#port">Port</a></li>
+
+ <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+ <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+ <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+ <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+
+ <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+ <li><a
+ href="mod_autoindex.html#readmename">ReadmeName</a></li>
+
+ <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectperm">RedirectPermanent</a></li>
+
+ <li><a
+ href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererignore">RefererIgnore</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererlog">RefererLog</a></li>
+
+ <li><a
+ href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+
+ <li><a
+ href="mod_mime.html#removehandler">RemoveHandler</a></li>
+
+ <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+ <li><a href="core.html#require">Require</a></li>
+
+ <li><a
+ href="core.html#resourceconfig">ResourceConfig</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteBase">RewriteBase</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteCond">RewriteCond</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteEngine">RewriteEngine</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLock">RewriteLock</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteOptions">RewriteOptions</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteRule">RewriteRule</a></li>
+
+ <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="core.html#satisfy">Satisfy</a></li>
+
+ <li><a
+ href="core.html#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a href="mod_actions.html#script">Script</a></li>
+
+ <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+ <li><a
+ href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+
+ <li><a
+ href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+
+ <li><a
+ href="core.html#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+ <li><a href="core.html#servername">ServerName</a></li>
+
+ <li><a href="core.html#serverpath">ServerPath</a></li>
+
+ <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+ <li><a
+ href="core.html#serversignature">ServerSignature</a></li>
+
+ <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+ <li><a href="core.html#servertype">ServerType</a></li>
+
+ <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+ <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+ <li><a
+ href="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a></li>
+
+ <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+ <li><a href="mod_ssl/ssl_reference.html#SSLPassPhraseDialog">SSLPassPhraseDialog</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLMutex">SSLMutex</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLRandomSeed">SSLRandomSeed</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLSessionCache">SSLSessionCache</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLSessionCacheTimeout">SSLSessionCacheTimeout</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLEngine">SSLEngine</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLProtocol">SSLProtocol</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCipherSuite">SSLCipherSuite</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCertificateFile">SSLCertificateFile</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCertificateKeyFile">SSLCertificateKeyFile</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCACertificatePath">SSLCACertificatePath</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCACertificateFile">SSLCACertificateFile</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCARevocationPath">SSLCARevocationPath</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLCARevocationFile">SSLCARevocationFile</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLVerifyClient">SSLVerifyClient</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLVerifyDepth">SSLVerifyDepth</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLLog">SSLLog</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLLogLevel">SSLLogLevel</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLOptions">SSLOptions</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLRequireSSL">SSLRequireSSL</a>
+ <li><a href="mod_ssl/ssl_reference.html#SSLRequire">SSLRequire</a>
+
+ <li><a href="core.html#startservers">StartServers</a></li>
+
+ <li><a
+ href="core.html#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="core.html#timeout">TimeOut</a></li>
+
+ <li><a
+ href="mod_log_config.html#transferlog">TransferLog</a></li>
+
+ <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+ <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+ <li><a
+ href="core.html#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="core.html#user">User</a></li>
+
+ <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+ <li><a
+ href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+
+ <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+ </ul>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directives.html.fr b/usr.sbin/httpd/htdocs/manual/mod/directives.html.fr
new file mode 100644
index 00000000000..89a7fccde4a
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directives.html.fr
@@ -0,0 +1,580 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--Traduction anglais 1.69 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Directives Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Directives Apache</h1>
+
+ <p>Chacune des directives Apache disponible dans la
+ distribution standard est list&eacute;e ici. Elles sont
+ d&eacute;crites selon un format pr&eacute;cis, et nous
+ fournissons un <a href="directive-dict.html"
+ rel="Glossary">dictionnaire</a> des termes utilis&eacute;s pour
+ leur description.</p>
+
+ <ul>
+ <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+ <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+ <li><a
+ href="core.html#accessfilename">AccessFileName</a></li>
+
+ <li><a href="mod_actions.html#action">Action</a></li>
+
+ <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+
+ <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+ <li><a
+ href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a
+ href="mod_autoindex.html#adddescription">AddDescription</a></li>
+
+ <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+ <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+ <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+
+ <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+ <li><a href="core.html#addmodule">AddModule</a></li>
+
+ <li><a
+ href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+
+ <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+ <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+ <li><a href="mod_alias.html#alias">Alias</a></li>
+
+ <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+ <li><a href="mod_access.html#allow">allow</a></li>
+
+ <li><a
+ href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+
+ <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+ <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a></li>
+
+ <li><a
+ href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+
+ <li><a
+ href="mod_digest.html#authdigestfile">AuthDigestFile</a></li>
+
+ <li><a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a></li>
+
+ <li><a href="core.html#authname">AuthName</a></li>
+
+ <li><a href="core.html#authtype">AuthType</a></li>
+
+ <li><a
+ href="mod_auth.html#authuserfile">AuthUserFile</a></li>
+
+ <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatch">BrowserMatch</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a></li>
+
+ <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlength">CacheDirLength</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlevels">CacheDirLevels</a></li>
+
+ <li><a
+ href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachegcinterval">CacheGcInterval</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a></li>
+
+ <li><a
+ href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+ <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+ <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+ <li><a
+ href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+
+ <li><a
+ href="core.html#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+ <li><a
+ href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+
+ <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+ (mod_cookies)</li>
+
+ <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+ (mod_log_config)</li>
+
+ <li><a
+ href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+
+ <li><a
+ href="core.html#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a
+ href="mod_log_config.html#customlog">CustomLog</a></li>
+
+ <li><a
+ href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+
+ <li><a
+ href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+
+ <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+ <li><a href="mod_access.html#deny">deny</a></li>
+
+ <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+ <li><a
+ href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+
+ <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+ <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+ <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+ <li><a href="mod_example.html#example">Example</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+
+ <li><a
+ href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+
+ <li><a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a></li>
+
+ <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+ <li><a
+ href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+ <li><a href="core.html#group">Group</a></li>
+
+ <li><a href="mod_headers.html#header">Header</a></li>
+
+ <li><a
+ href="mod_autoindex.html#headername">HeaderName</a></li>
+
+ <li><a
+ href="core.html#hostnamelookups">HostNameLookups</a></li>
+
+ <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+ <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+ <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+ <li><a href="core.html#include">Include</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+
+ <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+ <li><a
+ href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a></li>
+
+ <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+ <li><a
+ href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a
+ href="core.html#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a
+ href="core.html#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a
+ href="core.html#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="core.html#listen">Listen</a></li>
+
+ <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+ <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+ <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+ <li><a
+ href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="core.html#lockfile">LockFile</a></li>
+
+ <li><a
+ href="mod_log_config.html#logformat">LogFormat</a></li>
+
+ <li><a href="core.html#loglevel">LogLevel</a></li>
+
+ <li><a href="core.html#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="core.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a
+ href="core.html#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+ <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+ <li><a
+ href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+
+ <li><a
+ href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+
+ <li><a
+ href="core.html#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+ <li><a
+ href="core.html#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+ <li><a href="core.html#options">Options</a></li>
+
+ <li><a href="mod_access.html#order">order</a></li>
+
+ <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+ <li><a href="core.html#pidfile">PidFile</a></li>
+
+ <li><a href="core.html#port">Port</a></li>
+
+ <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+ <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+ <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+ <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+
+ <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+ <li><a
+ href="mod_autoindex.html#readmename">ReadmeName</a></li>
+
+ <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectperm">RedirectPermanent</a></li>
+
+ <li><a
+ href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererignore">RefererIgnore</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererlog">RefererLog</a></li>
+
+ <li><a
+ href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+
+ <li><a
+ href="mod_mime.html#removehandler">RemoveHandler</a></li>
+
+ <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+ <li><a href="core.html#require">require</a></li>
+
+ <li><a
+ href="core.html#resourceconfig">ResourceConfig</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteBase">RewriteBase</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteCond">RewriteCond</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteEngine">RewriteEngine</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLock">RewriteLock</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteOptions">RewriteOptions</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteRule">RewriteRule</a></li>
+
+ <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="core.html#satisfy">Satisfy</a></li>
+
+ <li><a
+ href="core.html#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a href="mod_actions.html#script">Script</a></li>
+
+ <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+ <li><a
+ href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+
+ <li><a
+ href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+
+ <li><a
+ href="core.html#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+ <li><a href="core.html#servername">ServerName</a></li>
+
+ <li><a href="core.html#serverpath">ServerPath</a></li>
+
+ <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+ <li><a
+ href="core.html#serversignature">ServerSignature</a></li>
+
+ <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+ <li><a href="core.html#servertype">ServerType</a></li>
+
+ <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+ <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+ <li><a
+ href="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a></li>
+
+ <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+ <li><a href="core.html#startservers">StartServers</a></li>
+
+ <li><a
+ href="core.html#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="core.html#timeout">TimeOut</a></li>
+
+ <li><a
+ href="mod_log_config.html#transferlog">TransferLog</a></li>
+
+ <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+ <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+ <li><a
+ href="core.html#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="core.html#user">User</a></li>
+
+ <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+ <li><a
+ href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+
+ <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+ </ul>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directives.html.html b/usr.sbin/httpd/htdocs/manual/mod/directives.html.html
new file mode 100644
index 00000000000..e61cb60d3c1
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directives.html.html
@@ -0,0 +1,582 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache directives</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache Directives</h1>
+
+ <p>Each Apache directive available in the standard Apache
+ distribution is listed here. They are described using a
+ consistent format, and there is <a href="directive-dict.html"
+ rel="Glossary">a dictionary</a> of the terms used in their
+ descriptions available.</p>
+
+ <ul>
+ <li><a href="core.html#acceptfilter">AcceptFilter</a></li>
+
+ <li><a href="core.html#acceptmutex">AcceptMutex</a></li>
+
+ <li><a href="core.html#accessconfig">AccessConfig</a></li>
+
+ <li><a
+ href="core.html#accessfilename">AccessFileName</a></li>
+
+ <li><a href="mod_actions.html#action">Action</a></li>
+
+ <li><a href="mod_autoindex.html#addalt">AddAlt</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addaltbytype">AddAltByType</a></li>
+
+ <li><a href="mod_mime.html#addcharset">AddCharset</a></li>
+
+ <li><a
+ href="core.html#adddefaultcharset">AddDefaultCharset</a></li>
+
+ <li><a
+ href="mod_autoindex.html#adddescription">AddDescription</a></li>
+
+ <li><a href="mod_mime.html#addencoding">AddEncoding</a></li>
+
+ <li><a href="mod_mime.html#addhandler">AddHandler</a></li>
+
+ <li><a href="mod_autoindex.html#addicon">AddIcon</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></li>
+
+ <li><a
+ href="mod_autoindex.html#addiconbytype">AddIconByType</a></li>
+
+ <li><a href="mod_mime.html#addlanguage">AddLanguage</a></li>
+
+ <li><a href="core.html#addmodule">AddModule</a></li>
+
+ <li><a
+ href="mod_info.html#addmoduleinfo">AddModuleInfo</a></li>
+
+ <li><a href="mod_mime.html#addtype">AddType</a></li>
+
+ <li><a href="mod_log_agent.html#agentlog">AgentLog</a></li>
+
+ <li><a href="mod_alias.html#alias">Alias</a></li>
+
+ <li><a href="mod_alias.html#aliasmatch">AliasMatch</a></li>
+
+ <li><a href="mod_access.html#allow">Allow</a></li>
+
+ <li><a
+ href="mod_proxy.html#allowconnect">AllowCONNECT</a></li>
+
+ <li><a href="core.html#allowoverride">AllowOverride</a></li>
+
+ <li><a href="mod_auth_anon.html#anonymous">Anonymous</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a></li>
+
+ <li><a
+ href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a></li>
+
+ <li><a
+ href="mod_auth.html#authauthoritative">AuthAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></li>
+
+ <li><a
+ href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a></li>
+
+ <li><a
+ href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></li>
+
+ <li><a
+ href="mod_digest.html#authdigestfile">AuthDigestFile</a></li>
+
+ <li><a
+ href="mod_auth.html#authgroupfile">AuthGroupFile</a></li>
+
+ <li><a href="core.html#authname">AuthName</a></li>
+
+ <li><a href="core.html#authtype">AuthType</a></li>
+
+ <li><a
+ href="mod_auth.html#authuserfile">AuthUserFile</a></li>
+
+ <li><a href="core.html#bindaddress">BindAddress</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatch">BrowserMatch</a></li>
+
+ <li><a
+ href="mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a></li>
+
+ <li><a href="core.html#bs2000account">BS2000Account</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlength">CacheDirLength</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachedirlevels">CacheDirLevels</a></li>
+
+ <li><a
+ href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachegcinterval">CacheGcInterval</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
+
+ <li><a
+ href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a></li>
+
+ <li><a
+ href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
+
+ <li><a href="mod_proxy.html#cacheroot">CacheRoot</a></li>
+
+ <li><a href="mod_proxy.html#cachesize">CacheSize</a></li>
+
+ <li><a
+ href="mod_speling.html#checkspelling">CheckSpelling</a></li>
+
+ <li><a
+ href="core.html#clearmodulelist">ClearModuleList</a></li>
+
+ <li><a href="core.html#contentdigest">ContentDigest</a></li>
+
+ <li><a
+ href="mod_usertrack.html#cookieexpires">CookieExpires</a></li>
+
+ <li><a href="mod_cookies.html#cookielog">CookieLog</a>
+ (mod_cookies)</li>
+
+ <li><a href="mod_log_config.html#cookielog">CookieLog</a>
+ (mod_log_config)</li>
+
+ <li><a
+ href="mod_usertrack.html#cookietracking">CookieTracking</a></li>
+
+ <li><a
+ href="core.html#coredumpdirectory">CoreDumpDirectory</a></li>
+
+ <li><a
+ href="mod_log_config.html#customlog">CustomLog</a></li>
+
+ <li><a
+ href="mod_autoindex.html#defaulticon">DefaultIcon</a></li>
+
+ <li><a
+ href="mod_mime.html#defaultlanguage">DefaultLanguage</a></li>
+
+ <li><a href="core.html#defaulttype">DefaultType</a></li>
+
+ <li><a href="mod_access.html#deny">Deny</a></li>
+
+ <li><a href="core.html#directory">&lt;Directory&gt;</a></li>
+
+ <li><a
+ href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a></li>
+
+ <li><a
+ href="mod_dir.html#directoryindex">DirectoryIndex</a></li>
+
+ <li><a href="core.html#documentroot">DocumentRoot</a></li>
+
+ <li><a href="core.html#ebcdicconvert">EBCDICConvert</a></li>
+
+ <li><a
+ href="core.html#ebcdicconvertbytype">EBCDICConvertByType</a></li>
+
+ <li><a href="core.html#ebcdickludge">EBCDICKludge</a></li>
+
+ <li><a href="core.html#errordocument">ErrorDocument</a></li>
+
+ <li><a href="core.html#errorlog">ErrorLog</a></li>
+
+ <li><a href="mod_example.html#example">Example</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresactive">ExpiresActive</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresbytype">ExpiresByType</a></li>
+
+ <li><a
+ href="mod_expires.html#expiresdefault">ExpiresDefault</a></li>
+
+ <li><a
+ href="mod_status.html#extendedstatus">ExtendedStatus</a></li>
+
+ <li><a
+ href="mod_autoindex.html#fancyindexing">FancyIndexing</a></li>
+
+ <li><a href="core.html#fileetag">FileETag</a></li>
+
+ <li><a href="core.html#files">&lt;Files&gt;</a></li>
+
+ <li><a
+ href="core.html#filesmatch">&lt;FilesMatch&gt;</a></li>
+
+ <li><a href="mod_mime.html#forcetype">ForceType</a></li>
+
+ <li><a href="core.html#group">Group</a></li>
+
+ <li><a href="mod_headers.html#header">Header</a></li>
+
+ <li><a
+ href="mod_autoindex.html#headername">HeaderName</a></li>
+
+ <li><a
+ href="core.html#hostnamelookups">HostnameLookups</a></li>
+
+ <li><a href="core.html#identitycheck">IdentityCheck</a></li>
+
+ <li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a></li>
+
+ <li><a href="core.html#ifmodule">&lt;IfModule&gt;</a></li>
+
+ <li><a href="mod_imap.html#imapbase">ImapBase</a></li>
+
+ <li><a href="mod_imap.html#imapdefault">ImapDefault</a></li>
+
+ <li><a href="mod_imap.html#imapmenu">ImapMenu</a></li>
+
+ <li><a href="core.html#include">Include</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexignore">IndexIgnore</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexoptions">IndexOptions</a></li>
+
+ <li><a
+ href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+ <li><a
+ href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+
+ <li><a href="core.html#keepalive">KeepAlive</a></li>
+
+ <li><a
+ href="core.html#keepalivetimeout">KeepAliveTimeout</a></li>
+
+ <li><a
+ href="mod_negotiation.html#languagepriority">LanguagePriority</a></li>
+
+ <li><a href="core.html#limit">&lt;Limit&gt;</a></li>
+
+ <li><a
+ href="core.html#limitexcept">&lt;LimitExcept&gt;</a></li>
+
+ <li><a
+ href="core.html#limitrequestbody">LimitRequestBody</a></li>
+
+ <li><a
+ href="core.html#limitrequestfields">LimitRequestFields</a></li>
+
+ <li><a
+ href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a></li>
+
+ <li><a
+ href="core.html#limitrequestline">LimitRequestLine</a></li>
+
+ <li><a href="core.html#listen">Listen</a></li>
+
+ <li><a href="core.html#listenbacklog">ListenBacklog</a></li>
+
+ <li><a href="mod_so.html#loadfile">LoadFile</a></li>
+
+ <li><a href="mod_so.html#loadmodule">LoadModule</a></li>
+
+ <li><a href="core.html#location">&lt;Location&gt;</a></li>
+
+ <li><a
+ href="core.html#locationmatch">&lt;LocationMatch&gt;</a></li>
+
+ <li><a href="core.html#lockfile">LockFile</a></li>
+
+ <li><a
+ href="mod_log_config.html#logformat">LogFormat</a></li>
+
+ <li><a href="core.html#loglevel">LogLevel</a></li>
+
+ <li><a href="core.html#maxclients">MaxClients</a></li>
+
+ <li><a
+ href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+
+ <li><a
+ href="core.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
+
+ <li><a
+ href="core.html#maxspareservers">MaxSpareServers</a></li>
+
+ <li><a href="mod_cern_meta.html#metadir">MetaDir</a></li>
+
+ <li><a href="mod_cern_meta.html#metafiles">MetaFiles</a></li>
+
+ <li><a
+ href="mod_cern_meta.html#metasuffix">MetaSuffix</a></li>
+
+ <li><a
+ href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></li>
+
+ <li><a
+ href="core.html#minspareservers">MinSpareServers</a></li>
+
+ <li><a href="mod_mmap_static.html#mmapfile">MMapFile</a></li>
+
+ <li><a
+ href="core.html#namevirtualhost">NameVirtualHost</a></li>
+
+ <li><a href="mod_proxy.html#nocache">NoCache</a></li>
+
+ <li><a href="core.html#options">Options</a></li>
+
+ <li><a href="mod_access.html#order">Order</a></li>
+
+ <li><a href="mod_env.html#passenv">PassEnv</a></li>
+
+ <li><a href="core.html#pidfile">PidFile</a></li>
+
+ <li><a href="core.html#port">Port</a></li>
+
+ <li><a href="mod_proxy.html#proxyblock">ProxyBlock</a></li>
+
+ <li><a href="mod_proxy.html#proxydomain">ProxyDomain</a></li>
+
+ <li><a href="mod_proxy.html#proxypass">ProxyPass</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li>
+
+ <li><a href="mod_proxy.html#proxyremote">ProxyRemote</a></li>
+
+ <li><a
+ href="mod_proxy.html#proxyrequests">ProxyRequests</a></li>
+
+ <li><a href="mod_proxy.html#proxyvia">ProxyVia</a></li>
+
+ <li><a
+ href="mod_autoindex.html#readmename">ReadmeName</a></li>
+
+ <li><a href="mod_alias.html#redirect">Redirect</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectmatch">RedirectMatch</a></li>
+
+ <li><a
+ href="mod_alias.html#redirectperm">RedirectPermanent</a></li>
+
+ <li><a
+ href="mod_alias.html#redirecttemp">RedirectTemp</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererignore">RefererIgnore</a></li>
+
+ <li><a
+ href="mod_log_referer.html#refererlog">RefererLog</a></li>
+
+ <li><a
+ href="mod_mime.html#removeencoding">RemoveEncoding</a></li>
+
+ <li><a
+ href="mod_mime.html#removehandler">RemoveHandler</a></li>
+
+ <li><a href="mod_mime.html#removetype">RemoveType</a></li>
+
+ <li><a href="core.html#require">Require</a></li>
+
+ <li><a
+ href="core.html#resourceconfig">ResourceConfig</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteBase">RewriteBase</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteCond">RewriteCond</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteEngine">RewriteEngine</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLock">RewriteLock</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a></li>
+
+ <li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteOptions">RewriteOptions</a></li>
+
+ <li><a
+ href="mod_rewrite.html#RewriteRule">RewriteRule</a></li>
+
+ <li><a href="core.html#rlimitcpu">RLimitCPU</a></li>
+
+ <li><a href="core.html#rlimitmem">RLimitMEM</a></li>
+
+ <li><a href="core.html#rlimitnproc">RLimitNPROC</a></li>
+
+ <li><a href="core.html#satisfy">Satisfy</a></li>
+
+ <li><a
+ href="core.html#scoreboardfile">ScoreBoardFile</a></li>
+
+ <li><a href="mod_actions.html#script">Script</a></li>
+
+ <li><a href="mod_alias.html#scriptalias">ScriptAlias</a></li>
+
+ <li><a
+ href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></li>
+
+ <li><a
+ href="core.html#scriptinterpretersource">ScriptInterpreterSource</a></li>
+
+ <li><a href="mod_cgi.html#scriptlog">ScriptLog</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></li>
+
+ <li><a
+ href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
+
+ <li><a
+ href="core.html#sendbuffersize">SendBufferSize</a></li>
+
+ <li><a href="core.html#serveradmin">ServerAdmin</a></li>
+
+ <li><a href="core.html#serveralias">ServerAlias</a></li>
+
+ <li><a href="core.html#servername">ServerName</a></li>
+
+ <li><a href="core.html#serverpath">ServerPath</a></li>
+
+ <li><a href="core.html#serverroot">ServerRoot</a></li>
+
+ <li><a
+ href="core.html#serversignature">ServerSignature</a></li>
+
+ <li><a href="core.html#servertokens">ServerTokens</a></li>
+
+ <li><a href="core.html#servertype">ServerType</a></li>
+
+ <li><a href="mod_env.html#setenv">SetEnv</a></li>
+
+ <li><a href="mod_setenvif.html#setenvif">SetEnvIf</a></li>
+
+ <li><a
+ href="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a></li>
+
+ <li><a href="mod_mime.html#sethandler">SetHandler</a></li>
+
+ <li><a href="core.html#startservers">StartServers</a></li>
+
+ <li><a
+ href="core.html#threadsperchild">ThreadsPerChild</a></li>
+
+ <li><a href="core.html#timeout">TimeOut</a></li>
+
+ <li><a
+ href="mod_log_config.html#transferlog">TransferLog</a></li>
+
+ <li><a href="mod_mime.html#typesconfig">TypesConfig</a></li>
+
+ <li><a href="mod_env.html#unsetenv">UnsetEnv</a></li>
+
+ <li><a
+ href="core.html#usecanonicalname">UseCanonicalName</a></li>
+
+ <li><a href="core.html#user">User</a></li>
+
+ <li><a href="mod_userdir.html#userdir">UserDir</a></li>
+
+ <li><a
+ href="core.html#virtualhost">&lt;VirtualHost&gt;</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
+
+ <li><a
+ href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
+
+ <li><a href="mod_include.html#xbithack">XBitHack</a></li>
+ </ul>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/directives.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/directives.html.ja.jis
new file mode 100644
index 00000000000..e8ac8186960
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/directives.html.ja.jis
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache $B%G%#%l%/%F%#%V(B</title>
+</head>
+<!-- English revision: 1.68 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<h1 align="CENTER">Apache $B%G%#%l%/%F%#%V(B</h1>
+<p>
+$BDL>o$N(B Apache $BG[I[$K4^$^$l$k(B Apache $B$N%G%#%l%/%F%#%V$O!"<!$N$h$&$K$J$j$^$9!#(B
+$B5-=R$K4X$9$k4pK\=q<0$K$D$$$F$O!"(B
+$B$=$l$i$NM-8z$JI=5-$K4X$9$k(B <a
+ href="directive-dict.html"
+ rel="Glossary"
+>$B<-=q(B</a> $B$,MQ0U$5$l$F$$$^$9!#(B
+</p>
+<ul>
+<li><a HREF="core.html#acceptfilter">AcceptFilter</a>
+<li><a HREF="core.html#acceptmutex">AcceptMutex</a>
+<li><a href="core.html#accessconfig">AccessConfig</a>
+<li><a href="core.html#accessfilename">AccessFileName</a>
+<li><a href="mod_actions.html#action">Action</a>
+<li><a href="mod_autoindex.html#addalt">AddAlt</a>
+<li><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding</a>
+<li><a href="mod_autoindex.html#addaltbytype">AddAltByType</a>
+<li><a href="mod_mime.html#addcharset">AddCharset</a>
+<li><a href="core.html#adddefaultcharset">AddDefaultCharset</a>
+<li><a href="mod_autoindex.html#adddescription">AddDescription</a>
+<li><a href="mod_mime.html#addencoding">AddEncoding</a>
+<li><a href="mod_mime.html#addhandler">AddHandler</a>
+<li><a href="mod_autoindex.html#addicon">AddIcon</a>
+<li><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>
+<li><a href="mod_autoindex.html#addiconbytype">AddIconByType</a>
+<li><a href="mod_mime.html#addlanguage">AddLanguage</a>
+<li><a href="core.html#addmodule">AddModule</a>
+<li><a href="mod_info.html#addmoduleinfo">AddModuleInfo</a>
+<li><a href="mod_mime.html#addtype">AddType</a>
+<li><a href="mod_log_agent.html#agentlog">AgentLog</a>
+<li><a href="mod_alias.html#alias">Alias</a>
+<li><a href="mod_alias.html#aliasmatch">AliasMatch</a>
+<li><a href="mod_access.html#allow">Allow</a>
+<li><a href="mod_proxy.html#allowconnect">AllowCONNECT</a>
+<li><a href="core.html#allowoverride">AllowOverride</a>
+<li><a href="mod_auth_anon.html#anonymous">Anonymous</a>
+<li><a href="mod_auth_anon.html#Authoritative">Anonymous_Authoritative</a>
+<li><a href="mod_auth_anon.html#LogEmail">Anonymous_LogEmail</a>
+<li><a href="mod_auth_anon.html#MustGiveEmail">Anonymous_MustGiveEmail</a>
+<li><a href="mod_auth_anon.html#NoUserID">Anonymous_NoUserID</a>
+<li><a href="mod_auth_anon.html#VerifyEmail">Anonymous_VerifyEmail</a>
+<li><a href="mod_auth.html#authauthoritative">AuthAuthoritative</a>
+<li><a href="mod_auth_db.html#authdbauthoritative">AuthDBAuthoritative</a>
+<li><a href="mod_auth_db.html#authdbgroupfile">AuthDBGroupFile</a>
+<li><a href="mod_auth_dbm.html#authdbmauthoritative">AuthDBMAuthoritative</a>
+<li><a href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>
+<li><a href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>
+<li><a href="mod_auth_db.html#authdbuserfile">AuthDBUserFile</a>
+<li><a href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>
+<li><a href="mod_digest.html#authdigestfile">AuthDigestFile</a>
+<li><a href="mod_auth.html#authgroupfile">AuthGroupFile</a>
+<li><a href="core.html#authname">AuthName</a>
+<li><a href="core.html#authtype">AuthType</a>
+<li><a href="mod_auth.html#authuserfile">AuthUserFile</a>
+<li><a href="core.html#bindaddress">BindAddress</a>
+<li><a href="mod_setenvif.html#BrowserMatch">BrowserMatch</a>
+<li><a href="mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a>
+<li><a href="core.html#bs2000account">BS2000Account</a>
+<li><a href="mod_proxy.html#cachedefaultexpire">CacheDefaultExpire</a>
+<li><a href="mod_proxy.html#cachedirlength">CacheDirLength</a>
+<li><a href="mod_proxy.html#cachedirlevels">CacheDirLevels</a>
+<li><a href="mod_proxy.html#cacheforcecompletion">CacheForceCompletion</a>
+<li><a href="mod_proxy.html#cachegcinterval">CacheGcInterval</a>
+<li><a href="mod_proxy.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a>
+<li><a href="mod_proxy.html#cachemaxexpire">CacheMaxExpire</a>
+<li><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a>
+<li><a href="mod_proxy.html#cacheroot">CacheRoot</a>
+<li><a href="mod_proxy.html#cachesize">CacheSize</a>
+<li><a href="mod_speling.html#checkspelling">CheckSpelling</a>
+<li><a href="core.html#clearmodulelist">ClearModuleList</a>
+<li><a href="core.html#contentdigest">ContentDigest</a>
+<li><a href="mod_usertrack.html#cookieexpires">CookieExpires</a>
+<li><a href="mod_cookies.html#cookielog">CookieLog</a> (mod_cookies)
+<li><a href="mod_log_config.html#cookielog">CookieLog</a> (mod_log_config)
+<li><a href="mod_usertrack.html#cookietracking">CookieTracking</a>
+<li><a href="core.html#coredumpdirectory">CoreDumpDirectory</a>
+<li><a href="mod_log_config.html#customlog">CustomLog</a>
+<li><a href="mod_autoindex.html#defaulticon">DefaultIcon</a>
+<li><a href="mod_mime.html#defaultlanguage">DefaultLanguage</a>
+<li><a href="core.html#defaulttype">DefaultType</a>
+<li><a href="mod_access.html#deny">Deny</a>
+<li><a href="core.html#directory">&lt;Directory&gt;</a>
+<li><a href="core.html#directorymatch">&lt;DirectoryMatch&gt;</a>
+<li><a href="mod_dir.html#directoryindex">DirectoryIndex</a>
+<li><a href="core.html#documentroot">DocumentRoot</a>
+<li><a href="core.html#errordocument">ErrorDocument</a>
+<li><a href="core.html#errorlog">ErrorLog</a>
+<li><a href="mod_example.html#example">Example</a>
+<li><a href="mod_expires.html#expiresactive">ExpiresActive</a>
+<li><a href="mod_expires.html#expiresbytype">ExpiresByType</a>
+<li><a href="mod_expires.html#expiresdefault">ExpiresDefault</a>
+<li><a href="mod_status.html#extendedstatus">ExtendedStatus</a>
+<li><a href="mod_autoindex.html#fancyindexing">FancyIndexing</a>
+<li><a href="core.html#files">&lt;Files&gt;</a>
+<li><a href="core.html#filesmatch">&lt;FilesMatch&gt;</a>
+<li><a href="mod_mime.html#forcetype">ForceType</a>
+<li><a href="core.html#group">Group</a>
+<li><a href="mod_headers.html#header">Header</a>
+<li><a href="mod_autoindex.html#headername">HeaderName</a>
+<li><a href="core.html#hostnamelookups">HostNameLookups</a>
+<li><a href="core.html#identitycheck">IdentityCheck</a>
+<li><a href="core.html#ifdefine">&lt;IfDefine&gt;</a>
+<li><a href="core.html#ifmodule">&lt;IfModule&gt;</a>
+<li><a href="mod_imap.html#imapbase">ImapBase</a>
+<li><a href="mod_imap.html#imapdefault">ImapDefault</a>
+<li><a href="mod_imap.html#imapmenu">ImapMenu</a>
+<li><a href="core.html#include">Include</a>
+<li><a href="mod_autoindex.html#indexignore">IndexIgnore</a>
+<li><a href="mod_autoindex.html#indexoptions">IndexOptions</a>
+<li><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault</a>
+<li><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer</a>
+<li><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported</a>
+<li><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a>
+<li><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery</a>
+<li><a href="core.html#keepalive">KeepAlive</a>
+<li><a href="core.html#keepalivetimeout">KeepAliveTimeout</a>
+<li><a href="mod_negotiation.html#languagepriority">LanguagePriority</a>
+<li><a href="core.html#limit">&lt;Limit&gt;</a>
+<li><a href="core.html#limitexcept">&lt;LimitExcept&gt;</a>
+<li><a href="core.html#limitrequestbody">LimitRequestBody</a>
+<li><a href="core.html#limitrequestfields">LimitRequestFields</a>
+<li><a href="core.html#limitrequestfieldsize">LimitRequestFieldsize</a>
+<li><a href="core.html#limitrequestline">LimitRequestLine</a>
+<li><a href="core.html#listen">Listen</a>
+<li><a href="core.html#listenbacklog">ListenBacklog</a>
+<li><a href="mod_so.html#loadfile">LoadFile</a>
+<li><a href="mod_so.html#loadmodule">LoadModule</a>
+<li><a href="core.html#location">&lt;Location&gt;</a>
+<li><a href="core.html#locationmatch">&lt;LocationMatch&gt;</a>
+<li><a href="core.html#lockfile">LockFile</a>
+<li><a href="mod_log_config.html#logformat">LogFormat</a>
+<li><a href="core.html#loglevel">LogLevel</a>
+<li><a href="core.html#maxclients">MaxClients</a>
+<li><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests</a>
+<li><a href="core.html#maxrequestsperchild">MaxRequestsPerChild</a>
+<li><a href="core.html#maxspareservers">MaxSpareServers</a>
+<li><a href="mod_cern_meta.html#metadir">MetaDir</a>
+<li><a href="mod_cern_meta.html#metafiles">MetaFiles</a>
+<li><a href="mod_cern_meta.html#metasuffix">MetaSuffix</a>
+<li><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a>
+<li><a href="core.html#minspareservers">MinSpareServers</a>
+<li><a href="mod_mmap_static.html#mmapfile">MMapFile</a>
+<li><a href="core.html#namevirtualhost">NameVirtualHost</a>
+<li><a href="mod_proxy.html#nocache">NoCache</a>
+<li><a href="core.html#options">Options</a>
+<li><a href="mod_access.html#order">Order</a>
+<li><a href="mod_env.html#passenv">PassEnv</a>
+<li><a href="core.html#pidfile">PidFile</a>
+<li><a href="core.html#port">Port</a>
+<li><a href="mod_proxy.html#proxyblock">ProxyBlock</a>
+<li><a href="mod_proxy.html#proxydomain">ProxyDomain</a>
+<li><a href="mod_proxy.html#proxypass">ProxyPass</a>
+<li><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse</a>
+<li><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize</a>
+<li><a href="mod_proxy.html#proxyremote">ProxyRemote</a>
+<li><a href="mod_proxy.html#proxyrequests">ProxyRequests</a>
+<li><a href="mod_proxy.html#proxyvia">ProxyVia</a>
+<li><a href="mod_autoindex.html#readmename">ReadmeName</a>
+<li><a href="mod_alias.html#redirect">Redirect</a>
+<li><a href="mod_alias.html#redirectmatch">RedirectMatch</a>
+<li><a href="mod_alias.html#redirectperm">RedirectPermanent</a>
+<li><a href="mod_alias.html#redirecttemp">RedirectTemp</a>
+<li><a href="mod_log_referer.html#refererignore">RefererIgnore</a>
+<li><a href="mod_log_referer.html#refererlog">RefererLog</a>
+<li><a href="mod_mime.html#removeencoding">RemoveEncoding</a>
+<li><a href="mod_mime.html#removehandler">RemoveHandler</a>
+<li><a href="mod_mime.html#removetype">RemoveType</a>
+<li><a href="core.html#require">Require</a>
+<li><a href="core.html#resourceconfig">ResourceConfig</a>
+<li><a href="mod_rewrite.html#RewriteBase">RewriteBase</a>
+<li><a href="mod_rewrite.html#RewriteCond">RewriteCond</a>
+<li><a href="mod_rewrite.html#RewriteEngine">RewriteEngine</a>
+<li><a href="mod_rewrite.html#RewriteLock">RewriteLock</a>
+<li><a href="mod_rewrite.html#RewriteLog">RewriteLog</a>
+<li><a href="mod_rewrite.html#RewriteLogLevel">RewriteLogLevel</a>
+<li><a href="mod_rewrite.html#RewriteMap">RewriteMap</a>
+<li><a href="mod_rewrite.html#RewriteOptions">RewriteOptions</a>
+<li><a href="mod_rewrite.html#RewriteRule">RewriteRule</a>
+<li><a href="core.html#rlimitcpu">RLimitCPU</a>
+<li><a href="core.html#rlimitmem">RLimitMEM</a>
+<li><a href="core.html#rlimitnproc">RLimitNPROC</a>
+<li><a href="core.html#satisfy">Satisfy</a>
+<li><a href="core.html#scoreboardfile">ScoreBoardFile</a>
+<li><a href="mod_actions.html#script">Script</a>
+<li><a href="mod_alias.html#scriptalias">ScriptAlias</a>
+<li><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a>
+<li><a href="core.html#scriptinterpretersource">ScriptInterpreterSource</a>
+<li><a href="mod_cgi.html#scriptlog">ScriptLog</a>
+<li><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a>
+<li><a href="mod_cgi.html#scriptloglength">ScriptLogLength</a>
+<li><a href="core.html#sendbuffersize">SendBufferSize</a>
+<li><a href="core.html#serveradmin">ServerAdmin</a>
+<li><a href="core.html#serveralias">ServerAlias</a>
+<li><a href="core.html#servername">ServerName</a>
+<li><a href="core.html#serverpath">ServerPath</a>
+<li><a href="core.html#serverroot">ServerRoot</a>
+<li><a href="core.html#serversignature">ServerSignature</a>
+<li><a href="core.html#servertokens">ServerTokens</a>
+<li><a href="core.html#servertype">ServerType</a>
+<li><a href="mod_env.html#setenv">SetEnv</a>
+<li><a href="mod_setenvif.html#setenvif">SetEnvIf</a>
+<li><a href="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a>
+<li><a href="mod_mime.html#sethandler">SetHandler</a>
+<li><a href="core.html#startservers">StartServers</a>
+<li><a href="core.html#threadsperchild">ThreadsPerChild</a>
+<li><a href="core.html#timeout">TimeOut</a>
+<li><a href="mod_log_config.html#transferlog">TransferLog</a>
+<li><a href="mod_mime.html#typesconfig">TypesConfig</a>
+<li><a href="mod_env.html#unsetenv">UnsetEnv</a>
+<li><a href="core.html#usecanonicalname">UseCanonicalName</a>
+<li><a href="core.html#user">User</a>
+<li><a href="mod_userdir.html#userdir">UserDir</a>
+<li><a href="core.html#virtualhost">&lt;VirtualHost&gt;</a>
+<li><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot</a>
+<li><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP</a>
+<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a>
+<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a>
+<li><a href="mod_include.html#xbithack">XBitHack</a>
+</ul>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.en b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.en
new file mode 100644
index 00000000000..b211f866f46
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.en
@@ -0,0 +1,308 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache modules</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache modules</h1>
+
+ <p>Below is a list of all of the modules that come as part of
+ the Apache distribution. See also the list of modules <a
+ href="./">sorted alphabetically</a> and the complete
+ alphabetical list of <a href="directives.html">all Apache
+ directives</a>. For modules that are not part of the Apache
+ distribution, please see <a
+ href="http://modules.apache.org/">http://modules.apache.org</a>.</p>
+
+ <h2>Core</h2>
+
+ <dl>
+ <dt><a href="core.html">Core</a></dt>
+
+ <dd>Core Apache features</dd>
+ </dl>
+
+ <h2>Environment Creation</h2>
+
+ <dl>
+ <dt><a href="mod_env.html">mod_env</a></dt>
+
+ <dd>Passing of environments to CGI scripts</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ and up</dt>
+
+ <dd>Set environment variables based on client
+ information</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ and up</dt>
+
+ <dd>Generate unique request identifier for every request</dd>
+ </dl>
+
+ <h2>Content Type Decisions</h2>
+
+ <dl>
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>Determining document types using file extensions</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>Determining document types using "magic numbers"</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>Content negotiation</dd>
+ </dl>
+
+ <h2>URL Mapping</h2>
+
+ <dl>
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Mapping different parts of the host filesystem in the
+ document tree, and URL redirection</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Powerful URI-to-filename mapping using regular
+ expressions</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>User home directories</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+ up</dt>
+
+ <dd>Automatically correct minor typos in URLs</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 and up</dt>
+
+ <dd>Support for dynamically configured mass virtual
+ hosting</dd>
+ </dl>
+
+ <h2>Directory Handling</h2>
+
+ <dl>
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Basic directory handling</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Automatic directory listings</dd>
+ </dl>
+
+ <h2>Access Control</h2>
+
+ <dl>
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Access control based on client hostname or IP
+ address</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>User authentication using text files</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>User authentication using DBM files</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a></dt>
+
+ <dd>User authentication using Berkeley DB files</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ and up</dt>
+
+ <dd>Anonymous user access to authenticated areas</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 and up</dt>
+
+ <dd>Experimental MD5 authentication</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+ up</dt>
+
+ <dd>MD5 authentication</dd>
+ </dl>
+
+ <h2>HTTP Response</h2>
+
+ <dl>
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Add arbitrary HTTP headers to resources</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ and up</dt>
+
+ <dd>Support for HTTP header metafiles</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Apply Expires: headers to resources</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Sending files which contain their own HTTP headers</dd>
+ </dl>
+
+ <h2>Dynamic Content</h2>
+
+ <dl>
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Server-parsed documents</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Invoking CGI scripts</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Executing CGI scripts based on media type or request
+ method</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+ <dd>Windows ISAPI Extension support</dd>
+ </dl>
+
+ <h2>Internal Content Handlers</h2>
+
+ <dl>
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server status display</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server configuration information</dd>
+ </dl>
+
+ <h2>Logging</h2>
+
+ <dl>
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>User-configurable logging replacement for
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Logging of User Agents</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Logging of document references</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ and up</dt>
+
+ <dd>User tracking using Cookies (replacement for
+ mod_cookies.c)</dd>
+ </dl>
+
+ <h2>Miscellaneous</h2>
+
+ <dl>
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+ up</dt>
+
+ <dd>The imagemap file handler</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Caching proxy abilities</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+ <dd>Support for loading modules (DLLs on Windows) at
+ runtime</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 and up</dt>
+
+ <dd>Experimental file caching, mapping files into memory to
+ improve performace</dd>
+
+ <dt><a href="mod_ssl/index.html">mod_ssl</a> Apache 1.3 with mod_ssl
+ applied</dt>
+
+ <dd>Apache SSL interface to OpenSSL</dd>
+ </dl>
+
+ <h2>Development</h2>
+
+ <dl>
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Demonstrates Apache API</dd>
+ </dl>
+
+ <h2>Obsolete</h2>
+
+ <dl>
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ only</dt>
+
+ <dd>Set environment variables based on User-Agent strings.
+ Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+ 1.1.1</dt>
+
+ <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+ by mod_usertrack</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+ earlier</dt>
+
+ <dd>Start-time linking with the GNU libdld. Replaced in
+ Apache 1.3 by mod_so</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a> up to
+ Apache 1.1.1</dt>
+
+ <dd>Standard logging in the Common Logfile Format. Replaced
+ by the mod_log_config module in Apache 1.2 and up</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.fr b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.fr
new file mode 100644
index 00000000000..f8542681efa
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.fr
@@ -0,0 +1,329 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Traduction anglais 1.11 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Modules Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Modules Apache</h1>
+
+ <p>Ci dessous est donn&eacute;e une liste des modules faisant
+ partie de la distribution Apache. Voir aussi la liste des
+ modules <a href="./">tri&eacute;s alphab&eacute;tiquement</a>
+ et la liste compl&egrave;te alphab&eacute;tique de <a
+ href="directives.html">toutes les directives d'Apache</a>. Pour
+ les modules d'Apache qui ne font pas partie de la distribution,
+ vous pouvez consulter <a
+ href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+ <h2>Base</h2>
+
+ <dl>
+ <dt><a href="core.html">Base</a></dt>
+
+ <dd>Fonctionnalit&eacute;s de base d'Apache</dd>
+ </dl>
+
+ <h2>Cr&eacute;ation de l'environnement</h2>
+
+ <dl>
+ <dt><a href="mod_env.html">mod_env</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Passage d'environnement aux scripts CGI</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ et sup&eacute;rieur</dt>
+
+ <dd>D&eacute;finition de variables d'environnement en
+ fonction des informations client</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ et sup&eacute;rieur</dt>
+
+ <dd>G&eacute;n&eacute;ration d'identifiants uniques de
+ requ&ecirc;te</dd>
+ </dl>
+
+ <h2>Gestion du type de contenu</h2>
+
+ <dl>
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>D&eacute;termination du type des documents en fonction de
+ l'extension du fichier</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>D&eacute;termination du type des documents en fonction de
+ "nombres magiques"</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>N&eacute;gotiation de contenu</dd>
+ </dl>
+
+ <h2>Transformation d'URL</h2>
+
+ <dl>
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Association de diff&eacute;rentes parties du
+ syst&egrave;me de fichier de l'h&ocirc;te dans l'arborescence
+ des documents, et redirection des URL.</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Association des URI &agrave; des fichiers en utilisant
+ des expressions r&eacute;guli&egrave;res</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>R&eacute;pertoires personnels d'utilisateurs</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 et
+ sup&eacute;rieur</dt>
+
+ <dd>Correction automatique d'erreurs de frappe mineures dans
+ les URL</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 et sup&eacute;rieur</dt>
+
+ <dd>Support d'h&ocirc;tes virtuels dynamiquement
+ configurables</dd>
+ </dl>
+
+ <h2>Gestion des r&eacute;pertoires</h2>
+
+ <dl>
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Gestion de base des r&eacute;pertoires</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Cr&eacute;ation automatique des listes des
+ r&eacute;pertoires</dd>
+ </dl>
+
+ <h2>Contr&ocirc;le d'acc&egrave;s</h2>
+
+ <dl>
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom du
+ client ou son adresse IP</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'un
+ fichier texte</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'un
+ fichier DBM</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'une
+ base Berkeley</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ et sup&eacute;rieur</dt>
+
+ <dd>Acc&egrave;s aux utilisateurs anonymes &agrave; des zones
+ authentifi&eacute;es</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 et sup&eacute;rieur</dt>
+
+ <dd>Authentication des utilisateurs &agrave; partir d'un
+ fichier MD5 (exp&eacute;rimental)</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Authentication des utilisateurs &agrave; partir d'un
+ fichier MD5</dd>
+ </dl>
+
+ <h2>R&eacute;ponse HTTP</h2>
+
+ <dl>
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ajout d'en-t&ecirc;tes HTTP aux ressources</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ et sup&eacute;rieur</dt>
+
+ <dd>Support des m&eacute;tafichiers d'en-t&ecirc;te HTTP</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ajout de l'en-t&ecirc;te Expires: pour les ressources
+ demand&eacute;es</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Envoi de fichiers contenant leurs propres en-t&ecirc;tes
+ HTTP</dd>
+ </dl>
+
+ <h2>Contenu dynamique</h2>
+
+ <dl>
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Documents analys&eacute;s par le serveur</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Appel des scripts CGI</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ex&eacute;cution de scripts CGI en fonction du type de
+ m&eacute;dia ou de la requ&ecirc;te</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32
+ seulement</dt>
+
+ <dd>Support des extensions Windows ISAPI</dd>
+ </dl>
+
+ <h2>Gestion du contenu interne</h2>
+
+ <dl>
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Affichage de l'&eacute;tat du syst&egrave;me</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Informations sur la configuration du serveur</dd>
+ </dl>
+
+ <h2>Trace</h2>
+
+ <dl>
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>Trace configurable des acc&egrave;s. Remplace
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Trace des User Agents</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Trace des r&eacute;f&eacute;rence d'un document</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ et sup&eacute;rieur</dt>
+
+ <dd>Suivi des utilisateurs &agrave; l'aide de cookies
+ (remplacement de mod_cookies)</dd>
+ </dl>
+
+ <h2>Divers</h2>
+
+ <dl>
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Gestion des fichiers imagemap</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Module de cache par proxy</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 et
+ sup&eacute;rieur</dt>
+
+ <dd>Support des modules dynamiques (.so sur Unix, .dll sur
+ Win32)</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 et sup&eacute;rieur</dt>
+
+ <dd>Module exp&eacute;rimental de cache m&eacute;moire des
+ fichiers afin d'am&eacute;liorer les performances</dd>
+ </dl>
+
+ <h2>D&eacute;veloppement</h2>
+
+ <dl>
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>D&eacute;monstration de l'API Apache</dd>
+ </dl>
+
+ <h2>Obsol&egrave;te</h2>
+
+ <dl>
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ seulement</dt>
+
+ <dd>D&eacute;finition de variables d'environnement en
+ fonction de la cha&icirc;ne User-Agent. Ce module est
+ remplac&eacute; par mod_setenvif &agrave; partir de la
+ version 1.3</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> jusqu'&agrave;
+ Apache 1.1.1</dt>
+
+ <dd>Support des cookies Netscape. Ce module est
+ remplac&eacute; dans Apache 1.2 par le module
+ mod_usertrack</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* et
+ pr&eacute;c&eacute;dents</dt>
+
+ <dd>Lien au lancement en utilisant la librairie GNU libdld.
+ Ce module est remplc&eacute; dans Apache 1.3 par mod_so</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a>
+ jusqu'&agrave; Apache 1.1.1</dt>
+
+ <dd>Trace des acc&egrave;s utilisant le "Common Logfile
+ Format". Ce module est remplac&eacute; par mod_log_config
+ &agrave; partir d'Apache 1.2</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.html b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.html
new file mode 100644
index 00000000000..215017c4b01
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index-bytype.html.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache modules</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache modules</h1>
+
+ <p>Below is a list of all of the modules that come as part of
+ the Apache distribution. See also the list of modules <a
+ href="./">sorted alphabetically</a> and the complete
+ alphabetical list of <a href="directives.html">all Apache
+ directives</a>. For modules that are not part of the Apache
+ distribution, please see <a
+ href="http://modules.apache.org/">http://modules.apache.org</a>.</p>
+
+ <h2>Core</h2>
+
+ <dl>
+ <dt><a href="core.html">Core</a></dt>
+
+ <dd>Core Apache features</dd>
+ </dl>
+
+ <h2>Environment Creation</h2>
+
+ <dl>
+ <dt><a href="mod_env.html">mod_env</a></dt>
+
+ <dd>Passing of environments to CGI scripts</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ and up</dt>
+
+ <dd>Set environment variables based on client
+ information</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ and up</dt>
+
+ <dd>Generate unique request identifier for every request</dd>
+ </dl>
+
+ <h2>Content Type Decisions</h2>
+
+ <dl>
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>Determining document types using file extensions</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>Determining document types using "magic numbers"</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>Content negotiation</dd>
+ </dl>
+
+ <h2>URL Mapping</h2>
+
+ <dl>
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Mapping different parts of the host filesystem in the
+ document tree, and URL redirection</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Powerful URI-to-filename mapping using regular
+ expressions</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>User home directories</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+ up</dt>
+
+ <dd>Automatically correct minor typos in URLs</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 and up</dt>
+
+ <dd>Support for dynamically configured mass virtual
+ hosting</dd>
+ </dl>
+
+ <h2>Directory Handling</h2>
+
+ <dl>
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Basic directory handling</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Automatic directory listings</dd>
+ </dl>
+
+ <h2>Access Control</h2>
+
+ <dl>
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Access control based on client hostname or IP
+ address</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>User authentication using text files</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>User authentication using DBM files</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a></dt>
+
+ <dd>User authentication using Berkeley DB files</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ and up</dt>
+
+ <dd>Anonymous user access to authenticated areas</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 and up</dt>
+
+ <dd>Experimental MD5 authentication</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+ up</dt>
+
+ <dd>MD5 authentication</dd>
+ </dl>
+
+ <h2>HTTP Response</h2>
+
+ <dl>
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Add arbitrary HTTP headers to resources</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ and up</dt>
+
+ <dd>Support for HTTP header metafiles</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Apply Expires: headers to resources</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Sending files which contain their own HTTP headers</dd>
+ </dl>
+
+ <h2>Dynamic Content</h2>
+
+ <dl>
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Server-parsed documents</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Invoking CGI scripts</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Executing CGI scripts based on media type or request
+ method</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+ <dd>Windows ISAPI Extension support</dd>
+ </dl>
+
+ <h2>Internal Content Handlers</h2>
+
+ <dl>
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server status display</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server configuration information</dd>
+ </dl>
+
+ <h2>Logging</h2>
+
+ <dl>
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>User-configurable logging replacement for
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Logging of User Agents</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Logging of document references</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ and up</dt>
+
+ <dd>User tracking using Cookies (replacement for
+ mod_cookies.c)</dd>
+ </dl>
+
+ <h2>Miscellaneous</h2>
+
+ <dl>
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+ up</dt>
+
+ <dd>The imagemap file handler</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Caching proxy abilities</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+ <dd>Support for loading modules (DLLs on Windows) at
+ runtime</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 and up</dt>
+
+ <dd>Experimental file caching, mapping files into memory to
+ improve performace</dd>
+ </dl>
+
+ <h2>Development</h2>
+
+ <dl>
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Demonstrates Apache API</dd>
+ </dl>
+
+ <h2>Obsolete</h2>
+
+ <dl>
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ only</dt>
+
+ <dd>Set environment variables based on User-Agent strings.
+ Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+ 1.1.1</dt>
+
+ <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+ by mod_usertrack</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+ earlier</dt>
+
+ <dd>Start-time linking with the GNU libdld. Replaced in
+ Apache 1.3 by mod_so</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a> up to
+ Apache 1.1.1</dt>
+
+ <dd>Standard logging in the Common Logfile Format. Replaced
+ by the mod_log_config module in Apache 1.2 and up</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index.html.en b/usr.sbin/httpd/htdocs/manual/mod/index.html.en
new file mode 100644
index 00000000000..1773eab64fb
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index.html.en
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache modules</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache modules</h1>
+
+ <p>Below is a list of all of the modules that come as part of
+ the Apache distribution. See also the list of modules <a
+ href="index-bytype.html">sorted by type</a> and the complete
+ alphabetical list of <a href="directives.html">all Apache
+ directives</a>. For Apache modules that are not part of the
+ Apache distribution, please see <a
+ href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+ <dl>
+ <dt><a href="core.html">Core</a></dt>
+
+ <dd>Core Apache features</dd>
+
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Access control based on client hostname or IP
+ address</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Executing CGI scripts based on media type or request
+ method</dd>
+
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Mapping different parts of the host filesystem in the
+ document tree, and URL redirection</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Sending files which contain their own HTTP headers</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>User authentication using text files</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ and up</dt>
+
+ <dd>Anonymous user access to authenticated areas</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 and
+ up</dt>
+
+ <dd>User authentication using Berkeley DB files</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>User authentication using DBM files</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 and up</dt>
+
+ <dd>MD5 authentication</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Automatic directory listings</dd>
+
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ only</dt>
+
+ <dd>Set environment variables based on User-Agent strings.
+ Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ and up</dt>
+
+ <dd>Support for HTTP header metafiles</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Invoking CGI scripts</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+ 1.1.1</dt>
+
+ <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+ by mod_usertrack</dd>
+
+ <dt><a href="mod_define.html">mod_define</a></dt>
+
+ <dd>Variable Definition for Arbitrary Directives</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+ up</dt>
+
+ <dd>MD5 authentication (deprecated by mod_auth_digest)</dd>
+
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Basic directory handling</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+ earlier</dt>
+
+ <dd>Start-time linking with the GNU libdld. Replaced in
+ Apache 1.3 by mod_so</dd>
+
+ <dt><a href="mod_env.html">mod_env</a> Apache 1.1 and up</dt>
+
+ <dd>Passing of environments to CGI scripts</dd>
+
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Demonstrates Apache API</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Apply Expires: headers to resources</dd>
+
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Add arbitrary HTTP headers to resources</dd>
+
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+ up</dt>
+
+ <dd>The imagemap file handler</dd>
+
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Server-parsed documents</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server configuration information</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+ <dd>Windows ISAPI Extension support</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Logging of User Agents</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a> up to
+ Apache 1.1.1</dt>
+
+ <dd>Standard logging in the Common Logfile Format. Replaced
+ by the mod_log_config module in Apache 1.2 and up</dd>
+
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>User-configurable logging replacement for
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Logging of document references</dd>
+
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>Determining document types using file extensions</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>Determining document types using "magic numbers"</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 and up</dt>
+
+ <dd>Experimental file caching, mapping files into memory to
+ improve performance</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>Content negotiation</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Caching proxy abilities</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Powerful URI-to-filename mapping using regular
+ expressions</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ and up</dt>
+
+ <dd>Set environment variables based on client
+ information</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+ <dd>Support for loading modules (.so's on Unix, .dll's on
+ Win32) at runtime</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+ up</dt>
+
+ <dt><a href="mod_ssl/index.html">mod_ssl</a> Apache 1.3 with mod_ssl
+ applied</dt>
+
+ <dd>Apache SSL interface to OpenSSL</dd>
+
+ <dd>Automatically correct minor typos in URLs</dd>
+
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server status display</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ and up</dt>
+
+ <dd>Generate unique request identifier for every request</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>User home directories</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ and up</dt>
+
+ <dd>User tracking using Cookies (replacement for
+ mod_cookies.c)</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 and up</dt>
+
+ <dd>Support for dynamically configured mass virtual
+ hosting</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index.html.fr b/usr.sbin/httpd/htdocs/manual/mod/index.html.fr
new file mode 100644
index 00000000000..86f1a62d6f0
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index.html.fr
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Traduction anglais 1.38 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" />
+
+ <title>Modules Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Modules Apache</h1>
+
+ <p>Ci dessous est donn&eacute;e une liste des modules faisant
+ partie de la distribution Apache. Voir aussi la liste des
+ modules <a href="index-bytype.html">tri&eacute;s par type</a>
+ et la liste compl&egrave;te alphab&eacute;tique de <a
+ href="directives.html">toutes les directives d'Apache</a>. Pour
+ les modules d'Apache qui ne font pas partie de la distribution,
+ vous pouvez consulter <a
+ href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+ <dl>
+ <dt><a href="core.html">Base</a></dt>
+
+ <dd>Fonctionnalit&eacute;s de base d'Apache</dd>
+
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom du
+ client ou son adresse IP</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ex&eacute;cution de scripts CGI en fonction du type de
+ m&eacute;dia ou de la requ&ecirc;te</dd>
+
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Association de diff&eacute;rentes parties du
+ syst&egrave;me de fichier de l'h&ocirc;te dans l'arborescence
+ des documents, et redirection des URL.</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Envoi de fichiers contenant leurs propres en-t&ecirc;tes
+ HTTP</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'un
+ fichier texte</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ et sup&eacute;rieur</dt>
+
+ <dd>Acc&egrave;s aux utilisateurs anonymes &agrave; des zones
+ authentifi&eacute;es</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'une
+ base Berkeley</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>Authentification des utilisateurs &agrave; partir d'un
+ fichier DBM</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 et sup&eacute;rieur</dt>
+
+ <dd>Authentication des utilisateurs &agrave; partir d'un
+ fichier MD5 (exp&eacute;rimental)</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Cr&eacute;ation automatique des listes des
+ r&eacute;pertoires</dd>
+
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ seulement</dt>
+
+ <dd>D&eacute;finition de variables d'environnement en
+ fonction de la cha&icirc;ne User-Agent. Ce module est
+ remplac&eacute; par mod_setenvif &agrave; partir de la
+ version 1.3</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ et sup&eacute;rieur</dt>
+
+ <dd>Support des m&eacute;tafichiers d'en-t&ecirc;te HTTP</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Appel des scripts CGI</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> jusqu'&agrave;
+ Apache 1.1.1</dt>
+
+ <dd>Support des cookies Netscape. Ce module est
+ remplac&eacute; dans Apache 1.2 par le module
+ mod_usertrack</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Authentication MD5</dd>
+
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Gestion de base des r&eacute;pertoires</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* et
+ pr&eacute;c&eacute;dents</dt>
+
+ <dd>Lien au lancement en utilisant la librairie GNU libdld.
+ Ce module est remplc&eacute; dans Apache 1.3 par mod_so</dd>
+
+ <dt><a href="mod_env.html">mod_env</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Passage d'environnement aux scripts CGI</dd>
+
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>D&eacute;monstration de l'API Apache</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ajout de l'en-t&ecirc;te Expires: pour les ressources
+ sp&eacute;cifi&eacute;es</dd>
+
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Ajout d'en-t&ecirc;tes HTTP aux ressources</dd>
+
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Gestion des fichiers imagemap</dd>
+
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Documents analys&eacute;s par le serveur</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Informations sur la configuration du serveur</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32
+ seulement</dt>
+
+ <dd>Support des extensions Windows ISAPI</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Trace des User Agents</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a>
+ jusqu'&agrave; Apache 1.1.1</dt>
+
+ <dd>Trace des acc&egrave;s utilisant le "Common Logfile
+ Format". Ce module est remplac&eacute; par mod_log_config
+ &agrave; partir d'Apache 1.2</dd>
+
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>Trace configurable des acc&egrave;s. Remplace
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Trace des r&eacute;f&eacute;rants d'un document</dd>
+
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>D&eacute;termination du type des documents en fonction de
+ l'extension du fichier</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>D&eacute;termination du type des documents en fonction de
+ "nombres magiques"</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 et sup&eacute;rieur</dt>
+
+ <dd>Module exp&eacute;rimental de cache m&eacute;moire des
+ fichiers afin d'am&eacute;liorer les performances</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>N&eacute;gotiation de contenu</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Module de cache par proxy</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 et
+ sup&eacute;rieur</dt>
+
+ <dd>Association des URI &agrave; des fichiers en utilisant
+ des expressions r&eacute;guli&egrave;res</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ et sup&eacute;rieur</dt>
+
+ <dd>D&eacute;finition de variables d'environnement en
+ fonction des informations client</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 et
+ sup&eacute;rieur</dt>
+
+ <dd>Support des modules dynamiques (.so sur Unix, .dll sur
+ Win32)</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 et
+ sup&eacute;rieur</dt>
+
+ <dd>Correction automatique d'erreurs de frappe mineures dans
+ les URL</dd>
+
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 et
+ sup&eacute;rieur</dt>
+
+ <dd>Affichage de l'&eacute;tat du syst&egrave;me</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>R&eacute;pertoires personnels d'utilisateurs</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ et sup&eacute;rieur</dt>
+
+ <dd>G&eacute;n&eacute;ration d'identifiants uniques de
+ requ&ecirc;te</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ et sup&eacute;rieur</dt>
+
+ <dd>Suivi des utilisateurs &agrave; l'aide de cookies
+ (remplacement de mod_cookies)</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 et sup&eacute;rieur</dt>
+
+ <dd>Support d'h&ocirc;tes virtuels dynamiquement
+ configurables</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index.html.html b/usr.sbin/httpd/htdocs/manual/mod/index.html.html
new file mode 100644
index 00000000000..c9d5ffe2f56
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index.html.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache modules</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache modules</h1>
+
+ <p>Below is a list of all of the modules that come as part of
+ the Apache distribution. See also the list of modules <a
+ href="index-bytype.html">sorted by type</a> and the complete
+ alphabetical list of <a href="directives.html">all Apache
+ directives</a>. For Apache modules that are not part of the
+ Apache distribution, please see <a
+ href="http://modules.apache.org/">http://modules.apache.org</a></p>
+
+ <dl>
+ <dt><a href="core.html">Core</a></dt>
+
+ <dd>Core Apache features</dd>
+
+ <dt><a href="mod_access.html">mod_access</a></dt>
+
+ <dd>Access control based on client hostname or IP
+ address</dd>
+
+ <dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Executing CGI scripts based on media type or request
+ method</dd>
+
+ <dt><a href="mod_alias.html">mod_alias</a></dt>
+
+ <dd>Mapping different parts of the host filesystem in the
+ document tree, and URL redirection</dd>
+
+ <dt><a href="mod_asis.html">mod_asis</a></dt>
+
+ <dd>Sending files which contain their own HTTP headers</dd>
+
+ <dt><a href="mod_auth.html">mod_auth</a></dt>
+
+ <dd>User authentication using text files</dd>
+
+ <dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1
+ and up</dt>
+
+ <dd>Anonymous user access to authenticated areas</dd>
+
+ <dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 and
+ up</dt>
+
+ <dd>User authentication using Berkeley DB files</dd>
+
+ <dt><a href="mod_auth_dbm.html">mod_auth_dbm</a></dt>
+
+ <dd>User authentication using DBM files</dd>
+
+ <dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache
+ 1.3.8 and up</dt>
+
+ <dd>MD5 authentication</dd>
+
+ <dt><a href="mod_autoindex.html">mod_autoindex</a></dt>
+
+ <dd>Automatic directory listings</dd>
+
+ <dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.*
+ only</dt>
+
+ <dd>Set environment variables based on User-Agent strings.
+ Replaced by mod_setenvif in Apache 1.3 and up</dd>
+
+ <dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1
+ and up</dt>
+
+ <dd>Support for HTTP header metafiles</dd>
+
+ <dt><a href="mod_cgi.html">mod_cgi</a></dt>
+
+ <dd>Invoking CGI scripts</dd>
+
+ <dt><a href="mod_cookies.html">mod_cookies</a> up to Apache
+ 1.1.1</dt>
+
+ <dd>Support for Netscape-like cookies. Replaced in Apache 1.2
+ by mod_usertrack</dd>
+
+ <dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 and
+ up</dt>
+
+ <dd>MD5 authentication (deprecated by mod_auth_digest)</dd>
+
+ <dt><a href="mod_dir.html">mod_dir</a></dt>
+
+ <dd>Basic directory handling</dd>
+
+ <dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* and
+ earlier</dt>
+
+ <dd>Start-time linking with the GNU libdld. Replaced in
+ Apache 1.3 by mod_so</dd>
+
+ <dt><a href="mod_env.html">mod_env</a> Apache 1.1 and up</dt>
+
+ <dd>Passing of environments to CGI scripts</dd>
+
+ <dt><a href="mod_example.html">mod_example</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Demonstrates Apache API</dd>
+
+ <dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Apply Expires: headers to resources</dd>
+
+ <dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Add arbitrary HTTP headers to resources</dd>
+
+ <dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 and
+ up</dt>
+
+ <dd>The imagemap file handler</dd>
+
+ <dt><a href="mod_include.html">mod_include</a></dt>
+
+ <dd>Server-parsed documents</dd>
+
+ <dt><a href="mod_info.html">mod_info</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server configuration information</dd>
+
+ <dt><a href="mod_isapi.html">mod_isapi</a> WIN32 only</dt>
+
+ <dd>Windows ISAPI Extension support</dd>
+
+ <dt><a href="mod_log_agent.html">mod_log_agent</a></dt>
+
+ <dd>Logging of User Agents</dd>
+
+ <dt><a href="mod_log_common.html">mod_log_common</a> up to
+ Apache 1.1.1</dt>
+
+ <dd>Standard logging in the Common Logfile Format. Replaced
+ by the mod_log_config module in Apache 1.2 and up</dd>
+
+ <dt><a href="mod_log_config.html">mod_log_config</a></dt>
+
+ <dd>User-configurable logging replacement for
+ mod_log_common</dd>
+
+ <dt><a href="mod_log_referer.html">mod_log_referer</a></dt>
+
+ <dd>Logging of document references</dd>
+
+ <dt><a href="mod_mime.html">mod_mime</a></dt>
+
+ <dd>Determining document types using file extensions</dd>
+
+ <dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt>
+
+ <dd>Determining document types using "magic numbers"</dd>
+
+ <dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache
+ 1.3 and up</dt>
+
+ <dd>Experimental file caching, mapping files into memory to
+ improve performance</dd>
+
+ <dt><a href="mod_negotiation.html">mod_negotiation</a></dt>
+
+ <dd>Content negotiation</dd>
+
+ <dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Caching proxy abilities</dd>
+
+ <dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 and
+ up</dt>
+
+ <dd>Powerful URI-to-filename mapping using regular
+ expressions</dd>
+
+ <dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3
+ and up</dt>
+
+ <dd>Set environment variables based on client
+ information</dd>
+
+ <dt><a href="mod_so.html">mod_so</a> Apache 1.3 and up</dt>
+
+ <dd>Support for loading modules (.so's on Unix, .dll's on
+ Win32) at runtime</dd>
+
+ <dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 and
+ up</dt>
+
+ <dd>Automatically correct minor typos in URLs</dd>
+
+ <dt><a href="mod_status.html">mod_status</a> Apache 1.1 and
+ up</dt>
+
+ <dd>Server status display</dd>
+
+ <dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3
+ and up</dt>
+
+ <dd>Generate unique request identifier for every request</dd>
+
+ <dt><a href="mod_userdir.html">mod_userdir</a></dt>
+
+ <dd>User home directories</dd>
+
+ <dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2
+ and up</dt>
+
+ <dd>User tracking using Cookies (replacement for
+ mod_cookies.c)</dd>
+
+ <dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache
+ 1.3.7 and up</dt>
+
+ <dd>Support for dynamically configured mass virtual
+ hosting</dd>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/index.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/index.html.ja.jis
new file mode 100644
index 00000000000..373495c72fd
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/index.html.ja.jis
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache $B%b%8%e!<%k(B</title>
+</head>
+<!-- English revision: 1.38 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<h1 align="CENTER">Apache $B%b%8%e!<%k(B</h1>
+
+<p>
+Apache $B$NG[I[$K4^$^$l$F$$$k%b%8%e!<%k$O!"0J2<$NDL$j$G$9!#(B
+<a href="index-bytype.html">$B<oN`=g$N%b%8%e!<%k%j%9%H(B</a>
+$B$d(B <a href="directives.html">Apache $B$NA4%G%#%l%/%F%#%V(B</a>
+$B$N%"%k%U%!%Y%C%H=g%j%9%H$b;2>H$7$F$/$@$5$$!#(B
+
+Apache $B$NG[I[$K4^$^$l$J$$(B Apache $B%b%8%e!<%k$K$D$$$F$O(B
+<a href="http://modules.apache.org/">http://modules.apache.org</a>
+$B$r;2>H$7$F$/$@$5$$!#(B
+</p>
+
+<dl>
+<dt><a href="core.html">Core</a>
+<dd>Apache $B$N%3%"(B
+<dt><a href="mod_access.html">mod_access</a>
+<dd>$B%/%i%$%"%s%H$N%[%9%HL>$d(B IP $B%"%I%l%9$K$h$C$F%"%/%;%9@)8f$r9T$J$&(B
+<dt><a href="mod_actions.html">mod_actions</a> Apache 1.1 $B0J9_(B
+<dd>$B%a%G%#%"%?%$%W$d%j%/%(%9%H%a%=%C%I$K$h$C$F(B CGI $B%9%/%j%W%H$r<B9T$9$k(B
+<dt><a href="mod_alias.html">mod_alias</a>
+<dd>$B%[%9%H%U%!%$%k%7%9%F%`$N%I%-%e%a%s%H%D%j!<$X$N%^%C%T%s%05Z$S(B
+URL $B$N%j%@%$%l%/%7%g%s$r9T$J$&(B
+<dt><a href="mod_asis.html">mod_asis</a>
+<dd>HTTP $B%X%C%@$r4^$`%U%!%$%k$rAw?.$9$k(B
+<dt><a href="mod_auth.html">mod_auth</a>
+<dd>$B%F%-%9%H%U%!%$%k7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k(B
+<dt><a href="mod_auth_anon.html">mod_auth_anon</a> Apache 1.1 $B0J9_(B
+<dd>$BG'>Z$,I,MW$H$J$k%(%j%"$X$NF?L>(B (anonymous) $B$G$N%"%/%;%95!G=$rDs6!$9$k(B
+<dt><a href="mod_auth_db.html">mod_auth_db</a> Apache 1.1 $B0J9_(B
+<dd>Berkeley DB $B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k(B
+<dt><a href="mod_auth_dbm.html">mod_auth_dbm</a>
+<dd>DBM $B7A<0$NG'>Z%U%!%$%k$r;HMQ$7$?%f!<%6G'>Z5!G=$rDs6!$9$k(B
+<dt><a href="mod_auth_digest.html">mod_auth_digest</a> Apache 1.3.8 $B0J9_(B
+<dd>MD5 $B$r;HMQ$7$?<B83E*$JG'>Z5!G=(B ($BLuCm(B: Digest $BG'>Z(B) $B$rDs6!$9$k(B
+<dt><a href="mod_autoindex.html">mod_autoindex</a>
+<dd>$B<+F0E*$K%G%#%l%/%H%j0lMw$r:n@.$9$k(B
+<dt><a href="mod_browser.html">mod_browser</a> Apache 1.2.* $B$G$N$_M-8z(B
+<dd>User-Agent $BJ8;zNs$r85$K4D6-JQ?t$r@_Dj$9$k!#(B
+Apache 1.3 $B0J9_$K$*$$$F!"(Bmod_setenvif $B$GCV$-49$($i$l$?(B
+<dt><a href="mod_cern_meta.html">mod_cern_meta</a> Apache 1.1 $B0J9_(B
+<dd>HTTP $B%X%C%@%a%?%U%!%$%k$r%5%]!<%H$9$k(B
+<dt><a href="mod_cgi.html">mod_cgi</a>
+<dd>CGI $B%9%/%j%W%H$r<B9T$9$k(B
+<dt><a href="mod_cookies.html">mod_cookies</a> Apache 1.1.1 $B0J9_(B
+<dd>Netscape $B$N$h$&$J(B cookie $B$r%5%]!<%H$9$k!#(B
+Apache 1.2 $B$K$*$$$F!"(Bmod_usertrack $B$KCV$-49$($i$l$?(B
+<dt><a href="mod_digest.html">mod_digest</a> Apache 1.1 $B0J9_(B
+<dd>MD5 $BG'>Z(B ($BLuCm(B: Digest $BG'>Z(B) $B5!G=$rDs6!$9$k(B
+<dt><a href="mod_dir.html">mod_dir</a>
+<dd>$B%G%#%l%/%H%j$N<h$j07$$$K$D$$$F$N!"4pK\E*$J5!G=$rDs6!$9$k(B
+<dt><a href="mod_dld.html">mod_dld</a> Apache 1.2.* $B5Z$S$=$l0JA0(B
+<dd>GNU libdld $B$rMQ$$$F5/F0;~$K%b%8%e!<%k$N%j%s%/$r9T$J$&!#(B
+Apache 1.3 $B$K$*$$$F!"(Bmod_so $B$KCV$-49$($i$l$?(B
+<dt><a href="mod_env.html">mod_env</a> Apache 1.1 $B0J9_(B
+<dd>CGI $B%9%/%j%W%H$KEO$94D6-JQ?t$NA`:n$r9T$J$&(B
+<dt><a href="mod_example.html">mod_example</a> Apache 1.2 $B0J9_(B
+<dd>Apache API $B$N%G%b%s%9%H%l!<%7%g%sMQ(B
+<dt><a href="mod_expires.html">mod_expires</a> Apache 1.2 $B0J9_(B
+<dd>$B%j%=!<%9$K(B Expires: $B%X%C%@$rE,MQ$9$k(B
+<dt><a href="mod_headers.html">mod_headers</a> Apache 1.2 $B0J9_(B
+<dd>$B%j%=!<%9$KG$0U$N(B HTTP $B%X%C%@$r2C$($k(B
+<dt><a href="mod_imap.html">mod_imap</a> Apache 1.1 $B0J9_(B
+<dd>$B%$%a!<%8%^%C%W%U%!%$%k$r<h$j07$&5!G=$rDs6!$9$k(B
+<dt><a href="mod_include.html">mod_include</a>
+<dd>SSI $B%I%-%e%a%s%H$rM-8z$K$9$k(B
+<dt><a href="mod_info.html">mod_info</a> Apache 1.1 $B0J9_(B
+<dd>$B%5!<%P$N@_Dj>pJs$r1\Mw$9$k(B
+<dt><a href="mod_isapi.html">mod_isapi</a> WIN32 $B$N$_(B
+<dd>Windows ISAPI $B%(%/%9%F%s%7%g%s$r%5%]!<%H$9$k(B
+<dt><a href="mod_log_agent.html">mod_log_agent</a>
+<dd>User Agent $B$N%m%0$r5-O?$9$k(B
+<dt><a href="mod_log_common.html">mod_log_common</a> Apache 1.1.1 $B0J9_(B
+<dd>Common Logfile Format $B$G$NI8=`E*$J=q<0$K$h$j%m%0$r5-O?$9$k!#(B
+Apache 1.2 $B0J9_$K$*$$$F!"(Bmod_log_config $B%b%8%e!<%k$KCV$-49$($i$l$?(B
+<dt><a href="mod_log_config.html">mod_log_config</a>
+<dd>mod_log_common $B$NBe$o$j$H$J$k$b$N$G!"%f!<%6$,=q<0$r@_Dj$G$-$k(B
+<dt><a href="mod_log_referer.html">mod_log_referer</a>
+<dd>$B%I%-%e%a%s%H$N;2>H85(B (REFERER) $B$N%m%0$r5-O?$9$k(B
+<dt><a href="mod_mime.html">mod_mime</a>
+<dd>$B%U%!%$%k$N3HD%;R$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&(B
+<dt><a href="mod_mime_magic.html">mod_mime_magic</a>
+<dd>"$B%^%8%C%/%J%s%P!<(B" $B$rMxMQ$7$F%I%-%e%a%s%H%?%$%W$NH=Dj$r9T$J$&(B
+<dt><a href="mod_mmap_static.html">mod_mmap_static</a> Apache 1.3 $B0J9_(B
+<dd>$B%U%!%$%k$N%-%c%C%7%s%0$r9T$J$&<B83E*$J%b%8%e!<%k$G!"%U%!%$%k$r%a%b%jFb$K(B
+$B%^%C%T%s%0$9$k$3$H$K$h$j%Q%U%)!<%^%s%9$r8~>e$5$;$k(B
+<dt><a href="mod_negotiation.html">mod_negotiation</a>
+<dd>$B%3%s%F%s%H%M%4%7%(!<%7%g%s5!G=$rDs6!$9$k(B
+<dt><a href="mod_proxy.html">mod_proxy</a> Apache 1.1 $B0J9_(B
+<dd>proxy $B%-%c%C%7%e5!G=$rDs6!$9$k(B
+<dt><a href="mod_rewrite.html">mod_rewrite</a> Apache 1.2 $B0J9_(B
+<dd>$B@55,I=8=$rMxMQ$7$?!"(BURI $B$+$i%U%!%$%kL>$X$N6/NO$J%^%C%T%s%05!G=$rDs6!$9$k(B
+<dt><a href="mod_setenvif.html">mod_setenvif</a> Apache 1.3 $B0J9_(B
+<dd>$B%/%i%$%"%s%H$N>pJs$r85$K4D6-JQ?t$r%;%C%H$9$k(B
+<dt><a href="mod_so.html">mod_so</a> Apache 1.3 $B0J9_(B
+<dd>$B<B9T;~$K%b%8%e!<%k(B (UNIX$B$G$O(B .so$B!"(BWin32 $B$G$O(B .dll) $B$rF0E*FI$_9~$_$9$k5!G=$r(B
+$BDs6!$9$k(B
+<dt><a href="mod_speling.html">mod_speling</a> Apache 1.3 $B0J9_(B
+<dd>URL $B$N>.$5$J5-=R%_%9$r<+F0E*$K=$@5$9$k(B
+<dt><a href="mod_status.html">mod_status</a> Apache 1.1 $B0J9_(B
+<dd>$B%5!<%P$N2TF0>u67$rI=<($9$k(B
+<dt><a href="mod_userdir.html">mod_userdir</a>
+<dd>$B%f!<%6$N%[!<%`%G%#%l%/%H%j$K%"%/%;%9$9$k5!G=$rDs6!$9$k(B
+<dt><a href="mod_unique_id.html">mod_unique_id</a> Apache 1.3 $B0J9_(B
+<dd>$B%j%/%(%9%HKh$K!"0l0U$J%j%/%(%9%H(B ID $B$r@8@.$9$k(B
+<dt><a href="mod_usertrack.html">mod_usertrack</a> Apache 1.2 $B0J9_(B
+<dd>cookie $B$K$h$j%f!<%6$NDI@W$r9T$J$&(B (mod_cookies.c $B$rCV$-49$($?$b$N(B)
+<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a> Apache 1.3.7 $B0J9_(B
+<dd>$B$?$/$5$s$N%P!<%A%c%k%[%9%H@_Dj$rF0E*$K9=@.$9$k(B
+</dl>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.en
new file mode 100644
index 00000000000..0ca848da10e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.en
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_dir</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_dir</h1>
+
+ <p>This module provides for "trailing slash" redirects and
+ serving directory index files.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_dir.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ dir_module</p>
+
+ <h2>Summary</h2>
+ The index of a directory can come from one of two sources:
+
+ <ul>
+ <li>A file written by the user, typically called
+ <code>index.html</code>. The <a
+ href="#directoryindex">DirectoryIndex</a> directive sets the
+ name of this file. This is controlled by
+ <code>mod_dir</code>.</li>
+
+ <li>Otherwise, a listing generated by the server. This is
+ provided by <a
+ href="mod_autoindex.html"><code>mod_autoindex</code></a>.</li>
+ </ul>
+ The two functions are separated so that you can completely
+ remove (or replace) automatic index generation should you want
+ to.
+
+ <p>A "trailing slash" redirect is issued when the server
+ receives a request for a URL
+ <samp>http://servername/foo/dirname</samp> where
+ <samp>dirname</samp> is a directory. Directories require a
+ trailing slash, so <code>mod_dir</code> issues a redirect to
+ <samp>http://servername/foo/dirname/</samp>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#directoryindex">DirectoryIndex</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="directoryindex"
+ name="directoryindex">DirectoryIndex</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DirectoryIndex
+ <em>local-url</em> [<em>local-url</em>] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DirectoryIndex
+ index.html</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Indexes<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_dir
+
+ <p>The DirectoryIndex directive sets the list of resources to
+ look for, when the client requests an index of the directory by
+ specifying a / at the end of the a directory name.
+ <em>Local-url</em> is the (%-encoded) URL of a document on the
+ server relative to the requested directory; it is usually the
+ name of a file in the directory. Several URLs may be given, in
+ which case the server will return the first one that it finds.
+ If none of the resources exist and the <code>Indexes</code>
+ option is set, the server will generate its own listing of the
+ directory.</p>
+
+ <p>Example:</p>
+
+ <blockquote>
+ <code>DirectoryIndex index.html</code>
+ </blockquote>
+ then a request for <code>http://myserver/docs/</code> would
+ return <code>http://myserver/docs/index.html</code> if it
+ exists, or would list the directory if it did not.
+
+ <p>Note that the documents do not need to be relative to the
+ directory;</p>
+
+ <blockquote>
+ <code>DirectoryIndex index.html index.txt
+ /cgi-bin/index.pl</code>
+ </blockquote>
+ would cause the CGI script <code>/cgi-bin/index.pl</code> to be
+ executed if neither <code>index.html</code> or
+ <code>index.txt</code> existed in a directory.
+
+ <p> <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.html
new file mode 100644
index 00000000000..6ae81e435e2
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_dir</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_dir</h1>
+
+ <p>This module provides for "trailing slash" redirects and
+ serving directory index files.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_dir.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ dir_module</p>
+
+ <h2>Summary</h2>
+ The index of a directory can come from one of two sources:
+
+ <ul>
+ <li>A file written by the user, typically called
+ <code>index.html</code>. The <a
+ href="#directoryindex">DirectoryIndex</a> directive sets the
+ name of this file. This is controlled by
+ <code>mod_dir</code>.</li>
+
+ <li>Otherwise, a listing generated by the server. This is
+ provided by <a
+ href="mod_autoindex.html"><code>mod_autoindex</code></a>.</li>
+ </ul>
+ The two functions are separated so that you can completely
+ remove (or replace) automatic index generation should you want
+ to.
+
+ <p>A "trailing slash" redirect is issued when the server
+ receives a request for a URL
+ <samp>http://servername/foo/dirname</samp> where
+ <samp>dirname</samp> is a directory. Directories require a
+ trailing slash, so <code>mod_dir</code> issues a redirect to
+ <samp>http://servername/foo/dirname/</samp>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#directoryindex">DirectoryIndex</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="directoryindex"
+ name="directoryindex">DirectoryIndex</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DirectoryIndex
+ <em>local-url</em> [<em>local-url</em>] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>DirectoryIndex
+ index.html</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> Indexes<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_dir
+
+ <p>The DirectoryIndex directive sets the list of resources to
+ look for, when the client requests an index of the directory by
+ specifying a / at the end of the a directory name.
+ <em>Local-url</em> is the (%-encoded) URL of a document on the
+ server relative to the requested directory; it is usually the
+ name of a file in the directory. Several URLs may be given, in
+ which case the server will return the first one that it finds.
+ If none of the resources exist and the <code>Indexes</code>
+ option is set, the server will generate its own listing of the
+ directory.</p>
+
+ <p>Example:</p>
+
+ <blockquote>
+ <code>DirectoryIndex index.html</code>
+ </blockquote>
+ then a request for <code>http://myserver/docs/</code> would
+ return <code>http://myserver/docs/index.html</code> if it
+ exists, or would list the directory if it did not.
+
+ <p>Note that the documents do not need to be relative to the
+ directory;</p>
+
+ <blockquote>
+ <code>DirectoryIndex index.html index.txt
+ /cgi-bin/index.pl</code>
+ </blockquote>
+ would cause the CGI script <code>/cgi-bin/index.pl</code> to be
+ executed if neither <code>index.html</code> or
+ <code>index.txt</code> existed in a directory.
+
+ <p> <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </p>
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.ja.jis
new file mode 100644
index 00000000000..874d36c2203
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_dir.html.ja.jis
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache module mod_dir</title>
+</head>
+<!-- English revision: 1.15 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<h1 align="CENTER">mod_dir $B%b%8%e!<%k(B</h1>
+
+<p>$B$3$N%b%8%e!<%k$O!"%9%i%C%7%e$G=*$o$k(B URL $B$X$N%j%/%(%9%H$,$"$C$?:]$K!"(B
+$B%G%#%l%/%H%j%$%s%G%C%/%9%U%!%$%k$X%j%@%$%l%/%H$7$FDs6!$7$^$9!#(B</p>
+
+<p><a
+href="module-dict.html#Status"
+rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base
+<br>
+<a
+href="module-dict.html#SourceFile"
+rel="Help"
+><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_dir.c
+<br>
+<a
+href="module-dict.html#ModuleIdentifier"
+rel="Help"
+><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> dir_module
+</p>
+
+<h2>$B35MW(B</h2>
+<p>
+$B%G%#%l%/%H%j%$%s%G%C%/%9$O!"<!$NFs$D$NFb$I$A$i$+$,MxMQ$5$l$^$9!#(B
+<ul>
+<li>$B0l$DL\$O!"%f!<%6$,:n@.$7$?%U%!%$%k$rMQ$$$k$b$N$G!"DL>o(B <code>index.html</code>
+$B$H$$$&%U%!%$%kL>$r;H$$$^$9!#$3$N%U%!%$%kL>$O!"(B<a href="#directoryindex">DirectoryIndex</a> $B%G%#%l%/%F%#%V$G(B
+$B;XDj$9$k$3$H$,$G$-$^$9!#$3$N5!G=$O(B <code>mod_dir</code> $B%b%8%e!<%k$GDs6!$5$l$^$9!#(B
+<li>$B$b$&0l$D$NJ}K!$O!"%5!<%P$K$h$C$F<+F0E*$K@8@.$5$l$k%G%#%l%/%H%j%j%9%H$rMQ$$$k>l9g$G$9!#(B
+$B$3$N5!G=$O!"(B<a href="mod_autoindex.html"><code>mod_autoindex</code></a> $B%b%8%e!<%k$K$h$jDs6!$5$l$^$9!#(B
+</ul>
+$B<+F0E*$J%$%s%G%C%/%9@8@.5!G=$r:o=|(B ($B$b$7$/$O8r49(B) $B$G$-$k$h$&$K!"$3$NFs$D$N5!G=$OJ,N%$5$l$F$$$^$9!#(B
+</p>
+<p>
+$B$J$*(B <samp>http://servername/foo/dirname</samp> $B$H$$$&(B URL $B$X$N%j%/%(%9%H$,$"$C$?:]$K!"(B
+<samp>dirname</samp> $B$H$$$&%G%#%l%/%H%j$,$"$l$P!"!V:G8e$K%9%i%C%7%e$r$D$1$?7A!W$N(B URL $B$X$N%j%@%$%l%/%H$rAw=P$7$^$9!#(B
+$B%G%#%l%/%H%j$X$N%"%/%;%9$O%9%i%C%7%e$G=*$o$C$F$$$kI,MW$,$"$j!"(B<code>mod_dir</code> $B$O!"(B
+<samp>http://servername/foo/dirname/</samp> $B$X$N%j%@%$%l%/%H$rAw=P$9$k$3$H$K$J$j$^$9!#(B
+</p>
+
+<h2>$B%G%#%l%/%F%#%V(B</h2>
+
+<menu>
+<li><a href="#directoryindex">DirectoryIndex</a>
+</menu>
+<hr>
+
+<h2><a name="directoryindex">DirectoryIndex</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
+<p>
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> DirectoryIndex <em>local-url</em>
+ [<em>local-url</em>] ...<br>
+<a
+ href="directive-dict.html#Default"
+ rel="Help"
+><strong>$B%G%U%)%k%H(B:</strong></a> <code>DirectoryIndex index.html</code><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> server config, virtual host, directory, .htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> Indexes<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_dir
+</p>
+<p>
+$B%/%i%$%"%s%H$,!"%G%#%l%/%H%jL>$N:G8e$K!V(B/$B!W$r;XDj$7$F%G%#%l%/%H%j%$%s%G%C%/%9$rMW5a$9$k>l9g$KC5$9%j%=!<%9$N%j%9%H$r(B
+DirectoryIndex $B%G%#%l%/%F%#%V$G@_Dj$7$^$9!#(B
+<em>Local-url</em> $B$O!"%j%/%(%9%H$5$l$?%G%#%l%/%H%j$KBP1~$9$k!"%5!<%P>e$N%I%-%e%a%s%H$N(B (% $B%(%s%3!<%I$5$l$?(B) URL $B$G!"(B
+$BIaDL$O%G%#%l%/%H%jCf$N%U%!%$%k$NL>A0$G$9!#(B
+$BJ#?t$N(B URL $B$,@_Dj$5$l$?>l9g$K$O!":G=i$K8+$D$+$C$?$b$N$rJV$7$^$9!#(B
+$B$=$l$i$,8+$D$+$i$:!"(B<code>Indexes</code> $B%*%W%7%g%s$,%;%C%H$5$l$F$$$k>l9g!"%G%#%l%/%H%j$N%j%9%H$r(B
+$B@8@.$7$^$9!#(B
+</p>
+<p>
+$BNc(B:
+<blockquote><code>
+DirectoryIndex index.html
+</code></blockquote>
+<code>http://myserver/docs/</code> $B$X$N%"%/%;%9$,$"$j!"(B<code>http://myserver/docs/index.html</code>
+$B$,B8:_$9$l$P!"$3$N(B URL $B$,JV$5$l$^$9!#(B
+$B$b$7B8:_$7$J$1$l$P!"%G%#%l%/%H%j$N%j%9%H$,JV$5$l$^$9!#(B
+</p>
+
+<p>
+$BCm(B: $B%I%-%e%a%s%H$OF1$8%G%#%l%/%H%jFb$KB8:_$9$kI,MW$"$j$^$;$s!#(B
+<blockquote><code>
+DirectoryIndex index.html index.txt /cgi-bin/index.pl</code></blockquote>
+$B$H$7$?>l9g!"(B<code>index.html</code> $B$H(B <code>index.txt</code> $B$N$I$A$i$b%G%#%l%/%H%jFb$GB8:_$7$J$$>l9g!"(B
+CGI $B%9%/%j%W%H(B <code>/cgi-bin/index.pl</code> $B$,<B9T$5$l$^$9!#(B
+</p>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.en
new file mode 100644
index 00000000000..4888d9af894
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.en
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_env</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache module mod_env</h1>
+
+ <p>This module provides for modifying the environment which is
+ passed to CGI scripts and SSI pages.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_env.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ env_module<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.1 and later.</p>
+
+ <h2>Summary</h2>
+
+ <p>This module allows for control of the environment that will
+ be provided to CGI scripts and SSI pages. Environment variables
+ may be passed from the shell which invoked the httpd process.
+ Alternatively, environment variables may be set or unset within
+ the configuration process.</p>
+
+ <p>For additional information, we provide a document on <a
+ href="../env.html">Environment Variables in Apache</a>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#passenv">PassEnv</a></li>
+
+ <li><a href="#setenv">SetEnv</a></li>
+
+ <li><a href="#unsetenv">UnsetEnv</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="passenv" name="passenv">PassEnv</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> PassEnv
+ <em>env-variable</em> [<em>env-variable</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> PassEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Specifies one or more environment variables to pass to CGI
+ scripts and SSI pages from the environment of the shell which
+ invoked the httpd process. Example:</p>
+<pre>
+ PassEnv LD_LIBRARY_PATH
+</pre>
+ <hr />
+
+ <h2><a id="setenv" name="setenv">SetEnv</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnv <em>env-variable
+ value</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> SetEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Sets an environment variable, which is then passed on to CGI
+ scripts and SSI pages. Example:</p>
+<pre>
+ SetEnv SPECIAL_PATH /foo/bin
+</pre>
+ <hr />
+
+ <h2><a id="unsetenv" name="unsetenv">UnsetEnv</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> UnsetEnv
+ <em>env-variable</em> [<em>env-variable</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> UnsetEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Removes one or more environment variables from those passed
+ on to CGI scripts and SSI pages. Example:</p>
+<pre>
+ UnsetEnv LD_LIBRARY_PATH
+</pre>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.html
new file mode 100644
index 00000000000..9e03e758c31
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_env</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Apache module mod_env</h1>
+
+ <p>This module provides for modifying the environment which is
+ passed to CGI scripts and SSI pages.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_env.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ env_module<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.1 and later.</p>
+
+ <h2>Summary</h2>
+
+ <p>This module allows for control of the environment that will
+ be provided to CGI scripts and SSI pages. Environment variables
+ may be passed from the shell which invoked the httpd process.
+ Alternatively, environment variables may be set or unset within
+ the configuration process.</p>
+
+ <p>For additional information, we provide a document on <a
+ href="../env.html">Environment Variables in Apache</a>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#passenv">PassEnv</a></li>
+
+ <li><a href="#setenv">SetEnv</a></li>
+
+ <li><a href="#unsetenv">UnsetEnv</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="passenv" name="passenv">PassEnv</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> PassEnv
+ <em>env-variable</em> [<em>env-variable</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> PassEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Specifies one or more environment variables to pass to CGI
+ scripts and SSI pages from the environment of the shell which
+ invoked the httpd process. Example:</p>
+<pre>
+ PassEnv LD_LIBRARY_PATH
+</pre>
+ <hr />
+
+ <h2><a id="setenv" name="setenv">SetEnv</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnv <em>env-variable
+ value</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> SetEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Sets an environment variable, which is then passed on to CGI
+ scripts and SSI pages. Example:</p>
+<pre>
+ SetEnv SPECIAL_PATH /foo/bin
+</pre>
+ <hr />
+
+ <h2><a id="unsetenv" name="unsetenv">UnsetEnv</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> UnsetEnv
+ <em>env-variable</em> [<em>env-variable</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_env<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> UnsetEnv is only
+ available in Apache 1.1 and later. Directory and .htaccess context
+ is available in Apache 1.3.7 and later.
+
+ <p>Removes one or more environment variables from those passed
+ on to CGI scripts and SSI pages. Example:</p>
+<pre>
+ UnsetEnv LD_LIBRARY_PATH
+</pre>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.ja.jis
new file mode 100644
index 00000000000..501fa662d56
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_env.html.ja.jis
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache module mod_env</title>
+</head>
+<!-- English revision: 1.17 -->
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<h1 align="CENTER">mod_env $B%b%8%e!<%k(B</h1>
+
+<p>$B$3$N%b%8%e!<%k$O(B CGI $B%9%/%j%W%H5Z$S(B SSI $B%Z!<%8$KEO$5$l$k4D6-JQ?t$rJQ99$9$k5!G=$r(B
+$BDs6!$7$^$9!#(B</p>
+
+<p><a
+href="module-dict.html#Status"
+rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base
+<br>
+<a
+href="module-dict.html#SourceFile"
+rel="Help"
+><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_env.c
+<br>
+<a
+href="module-dict.html#ModuleIdentifier"
+rel="Help"
+><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> env_module
+<br>
+<a
+href="module-dict.html#Compatibility"
+rel="Help"
+><strong>$B8_49@-(B:</strong></a> Apache 1.1 $B0J9_$G;HMQ2DG=!#(B
+</p>
+
+<h2>$B35MW(B</h2>
+
+<p>$B$3$N%b%8%e!<%k$K$h$j(B CGI $B%9%/%j%W%H$H(B SSI $B%Z!<%8$KE,MQ$5$l$k4D6-JQ?t$r(B
+$B@)8f$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#4D6-JQ?t$O(B httpd $B%W%m%;%9$r5/F0$7$?(B
+$B%7%'%k$+$iEO$5$l$^$9!#$^$?!"@_Dj%U%!%$%k$G4D6-JQ?t$r@_Dj$7$?$j!"(B
+$B:o=|$7$?$j$9$k$3$H$,$G$-$^$9!#(B</p>
+
+<p>
+$B>\:Y$O!"(B<a href="../env.html">Apache $B$N4D6-JQ?t(B</a>$B$r;2>H$7$F$/$@$5$$!#(B</p>
+
+<h2>$B%G%#%l%/%F%#%V(B</h2>
+<ul>
+<li><a href="#passenv">PassEnv</a>
+<li><a href="#setenv">SetEnv</a>
+<li><a href="#unsetenv">UnsetEnv</a>
+</ul>
+
+<hr>
+
+<h2><a name="passenv">PassEnv</a> $B%G%#%l%/%F%#%V(B</h2>
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> PassEnv <em>variable</em>
+ [<em>variable</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_env<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> PassEnv $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B<br>
+
+<p>
+httpd $B%W%m%;%9$r5/F0$7$?%7%'%k$N4D6-$+$i(B CGI $B%9%/%j%W%H$H(B SSI $B%Z!<%8$K(B
+$BEO$94D6-JQ?t$r0l$D0J>e;XDj$7$^$9!#Nc(B:
+</p>
+
+<pre>
+ PassEnv LD_LIBRARY_PATH
+</pre>
+
+<hr>
+
+<h2><a name="setenv">SetEnv</a> $B%G%#%l%/%F%#%V(B</h2>
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> SetEnv <em>variable value</em><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_env<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> SetEnv $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B<br>
+
+<p>
+$B4D6-JQ?t$r@_Dj$7!"$=$l$r(B CGI $B%9%/%j%W%H$H(B SSI $B%Z!<%8$KEO$9$h$&$K$7$^$9!#(B
+$BNc(B:</p>
+
+<pre>
+ SetEnv SPECIAL_PATH /foo/bin
+</pre>
+
+<hr>
+
+<h2><a name="unsetenv">UnsetEnv</a> $B%G%#%l%/%F%#%V(B</h2>
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> UnsetEnv <em>variable</em>
+ [<em>variable</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_env<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> UnsetEnv $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B<br>
+
+<p>
+CGI $B%9%/%j%W%H$H(B SSI $B%Z!<%8$KEO$5$l$k4D6-JQ?t$+$i;XDj$5$l$?(B
+$B4D6-JQ?t$r<h$j=|$-$^$9!#Nc(B:</p>
+
+<pre>
+ UnsetEnv LD_LIBRARY_PATH
+</pre>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.en
new file mode 100644
index 00000000000..6f2beae085e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.en
@@ -0,0 +1,656 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_mime</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_mime</h1>
+
+ <p>This module provides for determining the types of files from
+ the filename and for association of handlers with files.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_mime.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ mime_module</p>
+
+ <h2>Summary</h2>
+ This module is used to determine various bits of "meta
+ information" about documents. This information relates to the
+ content of the document and is returned to the browser or used
+ in content-negotiation within the server. In addition, a
+ "handler" can be set for a document, which determines how the
+ document will be processed within the server.
+
+ <p>The directives <a href="#addcharset">AddCharset</a>, <a
+ href="#addencoding">AddEncoding</a>, <a
+ href="#addhandler">AddHandler</a>, <a
+ href="#addlanguage">AddLanguage</a> and <a
+ href="#addtype">AddType</a> are all used to map file extensions
+ onto the meta-information for that file. Respectively they set
+ the character set, content-encoding, handler, content-language,
+ and MIME-type (content-type) of documents. The directive <a
+ href="#typesconfig">TypesConfig</a> is used to specify a file
+ which also maps extensions onto MIME types. The directives <a
+ href="#forcetype">ForceType</a> and <a
+ href="#sethandler">SetHandler</a> are used to associated all
+ the files in a given location (<em>e.g.</em>, a particular
+ directory) onto a particular MIME type or handler.</p>
+
+ <p>Note that changing the type or encoding of a file does not
+ change the value of the <code>Last-Modified</code> header.
+ Thus, previously cached copies may still be used by a client or
+ proxy, with the previous headers.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#addcharset">AddCharset</a></li>
+
+ <li><a href="#addencoding">AddEncoding</a></li>
+
+ <li><a href="#addhandler">AddHandler</a></li>
+
+ <li><a href="#addlanguage">AddLanguage</a></li>
+
+ <li><a href="#addtype">AddType</a></li>
+
+ <li><a href="#defaultlanguage">DefaultLanguage</a></li>
+
+ <li><a href="#forcetype">ForceType</a></li>
+
+ <li><a href="#removeencoding">RemoveEncoding</a></li>
+
+ <li><a href="#removehandler">RemoveHandler</a></li>
+
+ <li><a href="#removetype">RemoveType</a></li>
+
+ <li><a href="#sethandler">SetHandler</a></li>
+
+ <li><a href="#typesconfig">TypesConfig</a></li>
+ </ul>
+
+ <p>See also: <a
+ href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a>.</p>
+
+ <h2><a id="multipleext" name="multipleext">Files with Multiple
+ Extensions</a></h2>
+ Files can have more than one extension, and the order of the
+ extensions is <em>normally</em> irrelevant. For example, if the
+ file <code>welcome.html.fr</code> maps onto content type
+ text/html and language French then the file
+ <code>welcome.fr.html</code> will map onto exactly the same
+ information. The only exception to this is if an extension is
+ given which Apache does not know how to handle. In this case it
+ will "forget" about any information it obtained from extensions
+ to the left of the unknown extension. So, for example, if the
+ extensions fr and html are mapped to the appropriate language
+ and type but extension xxx is not assigned to anything, then
+ the file <code>welcome.fr.xxx.html</code> will be associated
+ with content-type text/html but <em>no</em> language.
+
+ <p>If more than one extension is given which maps onto the same
+ type of meta-information, then the one to the right will be
+ used. For example, if ".gif" maps to the MIME-type image/gif
+ and ".html" maps to the MIME-type text/html, then the file
+ <code>welcome.gif.html</code> will be associated with the
+ MIME-type "text/html".</p>
+
+ <p>Care should be taken when a file with multiple extensions
+ gets associated with both a MIME-type and a handler. This will
+ usually result in the request being by the module associated
+ with the handler. For example, if the <code>.imap</code>
+ extension is mapped to the handler "imap-file" (from mod_imap)
+ and the <code>.html</code> extension is mapped to the MIME-type
+ "text/html", then the file <code>world.imap.html</code> will be
+ associated with both the "imap-file" handler and "text/html"
+ MIME-type. When it is processed, the "imap-file" handler will
+ be used, and so it will be treated as a mod_imap imagemap
+ file.</p>
+ <hr />
+
+ <h2><a id="addcharset" name="addcharset">AddCharset</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddCharset <em>charset
+ extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddCharset is
+ only available in Apache 1.3.10 and later
+
+ <p>The AddCharset directive maps the given filename extensions
+ to the specified content charset. <i>charset</i> is the MIME
+ charset parameter of filenames containing <i>extension</i>.
+ This mapping is added to any already in force, overriding any
+ mappings that already exist for the same <i>extension</i>.</p>
+
+ <p>Example:</p>
+<pre>
+ AddLanguage ja .ja
+ AddCharset EUC-JP .euc
+ AddCharset ISO-2022-JP .jis
+ AddCharset SHIFT_JIS .sjis
+</pre>
+
+ <p>Then the document <code>xxxx.ja.jis</code> will be treated
+ as being a Japanese document whose charset is ISO-2022-JP (as
+ will the document <code>xxxx.jis.ja</code>). The AddCharset
+ directive is useful for both to inform the client about the
+ character encoding of the document so that the document can be
+ interpreted and displayed appropriately, and for <a
+ href="../content-negotiation.html">content negotiation</a>,
+ where the server returns one from several documents based on
+ the client's charset preference.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a
+ href="mod_negotiation.html">mod_negotiation</a></p>
+ <hr />
+
+ <h2><a id="addencoding" name="addencoding">AddEncoding</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddEncoding
+ <em>MIME-enc extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddEncoding directive maps the given filename extensions
+ to the specified encoding type. <em>MIME-enc</em> is the MIME
+ encoding to use for documents containing the
+ <em>extension</em>. This mapping is added to any already in
+ force, overriding any mappings that already exist for the same
+ <em>extension</em>. Example:</p>
+
+ <blockquote>
+ <code>AddEncoding x-gzip .gz<br />
+ AddEncoding x-compress .Z</code>
+ </blockquote>
+ This will cause filenames containing the .gz extension to be
+ marked as encoded using the x-gzip encoding, and filenames
+ containing the .Z extension to be marked as encoded with
+ x-compress.
+
+ <p>Old clients expect <code>x-gzip</code> and
+ <code>x-compress</code>, however the standard dictates that
+ they're equivalent to <code>gzip</code> and
+ <code>compress</code> respectively. Apache does content
+ encoding comparisons by ignoring any leading <code>x-</code>.
+ When responding with an encoding Apache will use whatever form
+ (<em>i.e.</em>, <code>x-foo</code> or <code>foo</code>) the
+ client requested. If the client didn't specifically request a
+ particular form Apache will use the form given by the
+ <code>AddEncoding</code> directive. To make this long story
+ short, you should always use <code>x-gzip</code> and
+ <code>x-compress</code> for these two specific encodings. More
+ recent encodings, such as <code>deflate</code> should be
+ specified without the <code>x-</code>.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="addhandler" name="addhandler">AddHandler</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddHandler
+ <em>handler-name extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddHandler is
+ only available in Apache 1.1 and later
+
+ <p>AddHandler maps the filename extensions <em>extension</em>
+ to the <a href="../handler.html">handler</a>
+ <em>handler-name</em>. This mapping is added to any already in
+ force, overriding any mappings that already exist for the same
+ <em>extension</em>. For example, to activate CGI scripts with
+ the file extension "<code>.cgi</code>", you might use:</p>
+<pre>
+ AddHandler cgi-script .cgi
+</pre>
+
+ <p>Once that has been put into your srm.conf or httpd.conf
+ file, any file containing the "<code>.cgi</code>" extension
+ will be treated as a CGI program.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="addlanguage" name="addlanguage">AddLanguage</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddLanguage
+ <em>MIME-lang extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddLanguage directive maps the given filename extension
+ to the specified content language. <em>MIME-lang</em> is the
+ MIME language of filenames containing <em>extension</em>. This
+ mapping is added to any already in force, overriding any
+ mappings that already exist for the same
+ <em>extension</em>.</p>
+
+ <p>Example:</p>
+
+ <blockquote>
+ <code>AddEncoding x-compress .Z<br />
+ AddLanguage en .en<br />
+ AddLanguage fr .fr<br />
+ </code>
+ </blockquote>
+
+ <p>Then the document <code>xxxx.en.Z</code> will be treated as
+ being a compressed English document (as will the document
+ <code>xxxx.Z.en</code>). Although the content language is
+ reported to the client, the browser is unlikely to use this
+ information. The AddLanguage directive is more useful for <a
+ href="../content-negotiation.html">content negotiation</a>,
+ where the server returns one from several documents based on
+ the client's language preference.</p>
+
+ <p>If multiple language assignments are made for the same
+ extension, the last one encountered is the one that is used.
+ That is, for the case of:</p>
+<pre>
+ AddLanguage en .en
+ AddLanguage en-uk .en
+ AddLanguage en-us .en
+</pre>
+
+ <p>documents with the extension "<code>.en</code>" would be
+ treated as being "<code>en-us</code>".</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a><br />
+ <strong>See also</strong>: <a
+ href="./mod_negotiation.html">mod_negotiation</a></p>
+ <hr />
+
+ <h2><a id="addtype" name="addtype">AddType</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddType <em>MIME-type
+ extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddType directive maps the given filename extensions
+ onto the specified content type. <em>MIME-type</em> is the MIME
+ type to use for filenames containing <em>extension</em>. This
+ mapping is added to any already in force, overriding any
+ mappings that already exist for the same <em>extension</em>.
+ This directive can be used to add mappings not listed in the
+ MIME types file (see the <code><a
+ href="#typesconfig">TypesConfig</a></code> directive).
+ Example:</p>
+
+ <blockquote>
+ <code>AddType image/gif .gif</code>
+ </blockquote>
+ It is recommended that new MIME types be added using the
+ AddType directive rather than changing the <a
+ href="#typesconfig">TypesConfig</a> file.
+
+ <p>Note that, unlike the NCSA httpd, this directive cannot be
+ used to set the type of particular files.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="defaultlanguage"
+ name="defaultlanguage">DefaultLanguage</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt DefaultLanguage} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DefaultLanguage
+ <em>MIME-lang</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> DefaultLanguage
+ is only available in Apache 1.3.4 and later.
+
+ <p>The DefaultLanguage directive tells Apache that all files in
+ the directive's scope (<em>e.g.</em>, all files covered by the
+ current <code>&lt;Directory&gt;</code> container) that don't
+ have an explicit language extension (such as <samp>.fr</samp>
+ or <samp>.de</samp> as configured by <samp>AddLanguage</samp>)
+ should be considered to be in the specified <em>MIME-lang</em>
+ language. This allows entire directories to be marked as
+ containing Dutch content, for instance, without having to
+ rename each file. Note that unlike using extensions to specify
+ languages, <samp>DefaultLanguage</samp> can only specify a
+ single language.</p>
+
+ <p>If no <samp>DefaultLanguage</samp> directive is in force,
+ and a file does not have any language extensions as configured
+ by <samp>AddLanguage</samp>, then that file will be considered
+ to have no language attribute.</p>
+
+ <p><strong>See also</strong>: <a
+ href="./mod_negotiation.html">mod_negotiation</a><br />
+ <strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="forcetype" name="forcetype">ForceType</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ForceType
+ <em>media-type</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ForceType is
+ only available in Apache 1.1 and later.
+
+ <p>When placed into an <code>.htaccess</code> file or a
+ <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+ section, this directive forces all matching files to be served
+ as the content type given by <em>media type</em>. For example,
+ if you had a directory full of GIF files, but did not want to
+ label them all with ".gif", you might want to use:</p>
+<pre>
+ ForceType image/gif
+</pre>
+
+ <p>Note that this will override any filename extensions that
+ might determine the media type.</p>
+ <hr />
+
+ <h2><a id="removeencoding"
+ name="removeencoding">RemoveEncoding</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveEncoding
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveEncoding
+ is only available in Apache 1.3.13 and later.
+
+ <p>The <samp>RemoveEncoding</samp> directive removes any
+ encoding associations for files with the given extensions. This
+ allows <code>.htaccess</code> files in subdirectories to undo
+ any associations inherited from parent directories or the
+ server config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>AddEncoding x-gzip .gz</code><br />
+ <code>AddType text/plain .asc</code><br />
+ <code>&lt;Files *.gz.asc&gt;</code><br />
+ <code>&nbsp;&nbsp;&nbsp;&nbsp;RemoveEncoding
+ .gz</code><br />
+ <code>&lt;/Files&gt;</code></dd>
+ </dl>
+
+ <p>This will cause <code>foo.gz</code> to mark as being encoded
+ with the gzip method, but <code>foo.gz.asc</code> as an
+ unencoded plaintext file.</p>
+
+ <p><b>Note:</b>RemoveEncoding directives are processed
+ <i>after</i> any AddEncoding directives, so it is possible they
+ may undo the effects of the latter if both occur within the
+ same directory configuration.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="removehandler"
+ name="removehandler">RemoveHandler</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveHandler
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveHandler is
+ only available in Apache 1.3.4 and later.
+
+ <p>The <samp>RemoveHandler</samp> directive removes any handler
+ associations for files with the given extensions. This allows
+ <code>.htaccess</code> files in subdirectories to undo any
+ associations inherited from parent directories or the server
+ config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>AddHandler server-parsed .html</code></dd>
+
+ <dt><code>/foo/bar/.htaccess:</code></dt>
+
+ <dd><code>RemoveHandler .html</code></dd>
+ </dl>
+
+ <p>This has the effect of returning <samp>.html</samp> files in
+ the <samp>/foo/bar</samp> directory to being treated as normal
+ files, rather than as candidates for parsing (see the <a
+ href="mod_include.html"><samp>mod_include</samp></a>
+ module).</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="removetype" name="removetype">RemoveType</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveType
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveType is
+ only available in Apache 1.3.13 and later.
+
+ <p>The <samp>RemoveType</samp> directive removes any MIME type
+ associations for files with the given extensions. This allows
+ <code>.htaccess</code> files in subdirectories to undo any
+ associations inherited from parent directories or the server
+ config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>RemoveType .cgi</code></dd>
+ </dl>
+
+ <p>This will remove any special handling of <code>.cgi</code>
+ files in the <code>/foo/</code> directory and any beneath it,
+ causing the files to be treated as being of the <a
+ href="core.html#defaulttype">default type</a>.</p>
+
+ <p><b>Note:</b><code>RemoveType</code> directives are processed
+ <i>after</i> any <code>AddType</code> directives, so it is
+ possible they may undo the effects of the latter if both occur
+ within the same directory configuration.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="sethandler" name="sethandler">SetHandler</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetHandler
+ <em>handler-name</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> SetHandler is
+ only available in Apache 1.1 and later.
+
+ <p>When placed into an <code>.htaccess</code> file or a
+ <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+ section, this directive forces all matching files to be parsed
+ through the <a href="../handler.html">handler</a> given by
+ <em>handler-name</em>. For example, if you had a directory you
+ wanted to be parsed entirely as imagemap rule files, regardless
+ of extension, you might put the following into an
+ <code>.htaccess</code> file in that directory:</p>
+<pre>
+ SetHandler imap-file
+</pre>
+
+ <p>Another example: if you wanted to have the server display a
+ status report whenever a URL of
+ <code>http://servername/status</code> was called, you might put
+ the following into access.conf:</p>
+<pre>
+ &lt;Location /status&gt;
+ SetHandler server-status
+ &lt;/Location&gt;
+</pre>
+ <hr />
+
+ <h2><a id="typesconfig" name="typesconfig">TypesConfig</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> TypesConfig
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>TypesConfig
+ conf/mime.types</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The TypesConfig directive sets the location of the MIME
+ types configuration file. <em>Filename</em> is relative to the
+ <a href="core.html#serverroot">ServerRoot</a>. This file sets
+ the default list of mappings from filename extensions to
+ content types; changing this file is not recommended. Use the
+ <a href="#addtype">AddType</a> directive instead. The file
+ contains lines in the format of the arguments to an AddType
+ command:</p>
+
+ <blockquote>
+ <em>MIME-type extension extension ...</em>
+ </blockquote>
+ The extensions are lower-cased. Blank lines, and lines
+ beginning with a hash character (`#') are ignored.
+
+ <p> <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.html
new file mode 100644
index 00000000000..4abc69e3db0
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.html
@@ -0,0 +1,660 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_mime</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_mime</h1>
+
+ <p>This module provides for determining the types of files from
+ the filename and for association of handlers with files.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_mime.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ mime_module</p>
+
+ <h2>Summary</h2>
+ This module is used to determine various bits of "meta
+ information" about documents. This information relates to the
+ content of the document and is returned to the browser or used
+ in content-negotiation within the server. In addition, a
+ "handler" can be set for a document, which determines how the
+ document will be processed within the server.
+
+ <p>The directives <a href="#addcharset">AddCharset</a>, <a
+ href="#addencoding">AddEncoding</a>, <a
+ href="#addhandler">AddHandler</a>, <a
+ href="#addlanguage">AddLanguage</a> and <a
+ href="#addtype">AddType</a> are all used to map file extensions
+ onto the meta-information for that file. Respectively they set
+ the character set, content-encoding, handler, content-language,
+ and MIME-type (content-type) of documents. The directive <a
+ href="#typesconfig">TypesConfig</a> is used to specify a file
+ which also maps extensions onto MIME types. The directives <a
+ href="#forcetype">ForceType</a> and <a
+ href="#sethandler">SetHandler</a> are used to associated all
+ the files in a given location (<em>e.g.</em>, a particular
+ directory) onto a particular MIME type or handler.</p>
+
+ <p>Note that changing the type or encoding of a file does not
+ change the value of the <code>Last-Modified</code> header.
+ Thus, previously cached copies may still be used by a client or
+ proxy, with the previous headers.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#addcharset">AddCharset</a></li>
+
+ <li><a href="#addencoding">AddEncoding</a></li>
+
+ <li><a href="#addhandler">AddHandler</a></li>
+
+ <li><a href="#addlanguage">AddLanguage</a></li>
+
+ <li><a href="#addtype">AddType</a></li>
+
+ <li><a href="#defaultlanguage">DefaultLanguage</a></li>
+
+ <li><a href="#forcetype">ForceType</a></li>
+
+ <li><a href="#removeencoding">RemoveEncoding</a></li>
+
+ <li><a href="#removehandler">RemoveHandler</a></li>
+
+ <li><a href="#removetype">RemoveType</a></li>
+
+ <li><a href="#sethandler">SetHandler</a></li>
+
+ <li><a href="#typesconfig">TypesConfig</a></li>
+ </ul>
+
+ <p>See also: <a
+ href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a>.</p>
+
+ <h2><a id="multipleext" name="multipleext">Files with Multiple
+ Extensions</a></h2>
+ Files can have more than one extension, and the order of the
+ extensions is <em>normally</em> irrelevant. For example, if the
+ file <code>welcome.html.fr</code> maps onto content type
+ text/html and language French then the file
+ <code>welcome.fr.html</code> will map onto exactly the same
+ information. The only exception to this is if an extension is
+ given which Apache does not know how to handle. In this case it
+ will "forget" about any information it obtained from extensions
+ to the left of the unknown extension. So, for example, if the
+ extensions fr and html are mapped to the appropriate language
+ and type but extension xxx is not assigned to anything, then
+ the file <code>welcome.fr.xxx.html</code> will be associated
+ with content-type text/html but <em>no</em> language.
+
+ <p>If more than one extension is given which maps onto the same
+ type of meta-information, then the one to the right will be
+ used. For example, if ".gif" maps to the MIME-type image/gif
+ and ".html" maps to the MIME-type text/html, then the file
+ <code>welcome.gif.html</code> will be associated with the
+ MIME-type "text/html".</p>
+
+ <p>Care should be taken when a file with multiple extensions
+ gets associated with both a MIME-type and a handler. This will
+ usually result in the request being by the module associated
+ with the handler. For example, if the <code>.imap</code>
+ extension is mapped to the handler "imap-file" (from mod_imap)
+ and the <code>.html</code> extension is mapped to the MIME-type
+ "text/html", then the file <code>world.imap.html</code> will be
+ associated with both the "imap-file" handler and "text/html"
+ MIME-type. When it is processed, the "imap-file" handler will
+ be used, and so it will be treated as a mod_imap imagemap
+ file.</p>
+ <hr />
+
+ <h2><a id="addcharset" name="addcharset">AddCharset</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddCharset <em>charset
+ extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime <br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddCharset is
+ only available in Apache 1.3.10 and later
+
+ <p>The AddCharset directive maps the given filename extensions
+ to the specified content charset. <i>charset</i> is the MIME
+ charset parameter of filenames containing <i>extension</i>.
+ This mapping is added to any already in force, overriding any
+ mappings that already exist for the same <i>extension</i>.</p>
+
+ <p>Example:</p>
+<pre>
+ AddLanguage ja .ja
+ AddCharset EUC-JP .euc
+ AddCharset ISO-2022-JP .jis
+ AddCharset SHIFT_JIS .sjis
+</pre>
+
+ <p>Then the document <code>xxxx.ja.jis</code> will be treated
+ as being a Japanese document whose charset is ISO-2022-JP (as
+ will the document <code>xxxx.jis.ja</code>). The AddCharset
+ directive is useful for both to inform the client about the
+ character encoding of the document so that the document can be
+ interpreted and displayed appropriately, and for <a
+ href="../content-negotiation.html">content negotiation</a>,
+ where the server returns one from several documents based on
+ the client's charset preference.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a
+ href="mod_negotiation.html">mod_negotiation</a></p>
+ <hr />
+
+ <h2><a id="addencoding" name="addencoding">AddEncoding</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddEncoding
+ <em>MIME-enc extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddEncoding directive maps the given filename extensions
+ to the specified encoding type. <em>MIME-enc</em> is the MIME
+ encoding to use for documents containing the
+ <em>extension</em>. This mapping is added to any already in
+ force, overriding any mappings that already exist for the same
+ <em>extension</em>. Example:</p>
+
+ <blockquote>
+ <code>AddEncoding x-gzip .gz<br />
+ AddEncoding x-compress .Z</code>
+ </blockquote>
+ This will cause filenames containing the .gz extension to be
+ marked as encoded using the x-gzip encoding, and filenames
+ containing the .Z extension to be marked as encoded with
+ x-compress.
+
+ <p>Old clients expect <code>x-gzip</code> and
+ <code>x-compress</code>, however the standard dictates that
+ they're equivalent to <code>gzip</code> and
+ <code>compress</code> respectively. Apache does content
+ encoding comparisons by ignoring any leading <code>x-</code>.
+ When responding with an encoding Apache will use whatever form
+ (<em>i.e.</em>, <code>x-foo</code> or <code>foo</code>) the
+ client requested. If the client didn't specifically request a
+ particular form Apache will use the form given by the
+ <code>AddEncoding</code> directive. To make this long story
+ short, you should always use <code>x-gzip</code> and
+ <code>x-compress</code> for these two specific encodings. More
+ recent encodings, such as <code>deflate</code> should be
+ specified without the <code>x-</code>.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="addhandler" name="addhandler">AddHandler</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddHandler
+ <em>handler-name extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> AddHandler is
+ only available in Apache 1.1 and later
+
+ <p>AddHandler maps the filename extensions <em>extension</em>
+ to the <a href="../handler.html">handler</a>
+ <em>handler-name</em>. This mapping is added to any already in
+ force, overriding any mappings that already exist for the same
+ <em>extension</em>. For example, to activate CGI scripts with
+ the file extension "<code>.cgi</code>", you might use:</p>
+<pre>
+ AddHandler cgi-script .cgi
+</pre>
+
+ <p>Once that has been put into your srm.conf or httpd.conf
+ file, any file containing the "<code>.cgi</code>" extension
+ will be treated as a CGI program.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="addlanguage" name="addlanguage">AddLanguage</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddLanguage
+ <em>MIME-lang extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddLanguage directive maps the given filename extension
+ to the specified content language. <em>MIME-lang</em> is the
+ MIME language of filenames containing <em>extension</em>. This
+ mapping is added to any already in force, overriding any
+ mappings that already exist for the same
+ <em>extension</em>.</p>
+
+ <p>Example:</p>
+
+ <blockquote>
+ <code>AddEncoding x-compress .Z<br />
+ AddLanguage en .en<br />
+ AddLanguage fr .fr<br />
+ </code>
+ </blockquote>
+
+ <p>Then the document <code>xxxx.en.Z</code> will be treated as
+ being a compressed English document (as will the document
+ <code>xxxx.Z.en</code>). Although the content language is
+ reported to the client, the browser is unlikely to use this
+ information. The AddLanguage directive is more useful for <a
+ href="../content-negotiation.html">content negotiation</a>,
+ where the server returns one from several documents based on
+ the client's language preference.</p>
+
+ <p>If multiple language assignments are made for the same
+ extension, the last one encountered is the one that is used.
+ That is, for the case of:</p>
+<pre>
+ AddLanguage en .en
+ AddLanguage en-uk .en
+ AddLanguage en-us .en
+</pre>
+
+ <p>documents with the extension "<code>.en</code>" would be
+ treated as being "<code>en-us</code>".</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a><br />
+ <strong>See also</strong>: <a
+ href="./mod_negotiation.html">mod_negotiation</a></p>
+ <hr />
+
+ <h2><a id="addtype" name="addtype">AddType</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> AddType <em>MIME-type
+ extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The AddType directive maps the given filename extensions
+ onto the specified content type. <em>MIME-type</em> is the MIME
+ type to use for filenames containing <em>extension</em>. This
+ mapping is added to any already in force, overriding any
+ mappings that already exist for the same <em>extension</em>.
+ This directive can be used to add mappings not listed in the
+ MIME types file (see the <code><a
+ href="#typesconfig">TypesConfig</a></code> directive).
+ Example:</p>
+
+ <blockquote>
+ <code>AddType image/gif .gif</code>
+ </blockquote>
+ It is recommended that new MIME types be added using the
+ AddType directive rather than changing the <a
+ href="#typesconfig">TypesConfig</a> file.
+
+ <p>Note that, unlike the NCSA httpd, this directive cannot be
+ used to set the type of particular files.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+
+ <p><strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="defaultlanguage"
+ name="defaultlanguage">DefaultLanguage</a> directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt DefaultLanguage} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> DefaultLanguage
+ <em>MIME-lang</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> DefaultLanguage
+ is only available in Apache 1.3.4 and later.
+
+ <p>The DefaultLanguage directive tells Apache that all files in
+ the directive's scope (<em>e.g.</em>, all files covered by the
+ current <code>&lt;Directory&gt;</code> container) that don't
+ have an explicit language extension (such as <samp>.fr</samp>
+ or <samp>.de</samp> as configured by <samp>AddLanguage</samp>)
+ should be considered to be in the specified <em>MIME-lang</em>
+ language. This allows entire directories to be marked as
+ containing Dutch content, for instance, without having to
+ rename each file. Note that unlike using extensions to specify
+ languages, <samp>DefaultLanguage</samp> can only specify a
+ single language.</p>
+
+ <p>If no <samp>DefaultLanguage</samp> directive is in force,
+ and a file does not have any language extensions as configured
+ by <samp>AddLanguage</samp>, then that file will be considered
+ to have no language attribute.</p>
+
+ <p><strong>See also</strong>: <a
+ href="./mod_negotiation.html">mod_negotiation</a><br />
+ <strong>See also</strong>: <a href="#multipleext">Files with
+ multiple extensions</a></p>
+ <hr />
+
+ <h2><a id="forcetype" name="forcetype">ForceType</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ForceType
+ <em>media-type</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> ForceType is
+ only available in Apache 1.1 and later.
+
+ <p>When placed into an <code>.htaccess</code> file or a
+ <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+ section, this directive forces all matching files to be served
+ as the content type given by <em>media type</em>. For example,
+ if you had a directory full of GIF files, but did not want to
+ label them all with ".gif", you might want to use:</p>
+<pre>
+ ForceType image/gif
+</pre>
+
+ <p>Note that this will override any filename extensions that
+ might determine the media type.</p>
+ <hr />
+
+ <h2><a id="removeencoding"
+ name="removeencoding">RemoveEncoding</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveEncoding
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveEncoding
+ is only available in Apache 1.3.13 and later.
+
+ <p>The <samp>RemoveEncoding</samp> directive removes any
+ encoding associations for files with the given extensions. This
+ allows <code>.htaccess</code> files in subdirectories to undo
+ any associations inherited from parent directories or the
+ server config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>AddEncoding x-gzip .gz</code><br />
+ <code>AddType text/plain .asc</code><br />
+ <code>&lt;Files *.gz.asc&gt;</code><br />
+ <code>&nbsp;&nbsp;&nbsp;&nbsp;RemoveEncoding
+ .gz</code><br />
+ <code>&lt;/Files&gt;</code></dd>
+ </dl>
+
+ <p>This will cause <code>foo.gz</code> to mark as being encoded
+ with the gzip method, but <code>foo.gz.asc</code> as an
+ unencoded plaintext file.</p>
+
+ <p><b>Note:</b>RemoveEncoding directives are processed
+ <i>after</i> any AddEncoding directives, so it is possible they
+ may undo the effects of the latter if both occur within the
+ same directory configuration.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="removehandler"
+ name="removehandler">RemoveHandler</a> directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveHandler
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveHandler is
+ only available in Apache 1.3.4 and later.
+
+ <p>The <samp>RemoveHandler</samp> directive removes any handler
+ associations for files with the given extensions. This allows
+ <code>.htaccess</code> files in subdirectories to undo any
+ associations inherited from parent directories or the server
+ config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>AddHandler server-parsed .html</code></dd>
+
+ <dt><code>/foo/bar/.htaccess:</code></dt>
+
+ <dd><code>RemoveHandler .html</code></dd>
+ </dl>
+
+ <p>This has the effect of returning <samp>.html</samp> files in
+ the <samp>/foo/bar</samp> directory to being treated as normal
+ files, rather than as candidates for parsing (see the <a
+ href="mod_include.html"><samp>mod_include</samp></a>
+ module).</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="removetype" name="removetype">RemoveType</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> RemoveType
+ <em>extension</em> [<em>extension</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> RemoveType is
+ only available in Apache 1.3.13 and later.
+
+ <p>The <samp>RemoveType</samp> directive removes any MIME type
+ associations for files with the given extensions. This allows
+ <code>.htaccess</code> files in subdirectories to undo any
+ associations inherited from parent directories or the server
+ config files. An example of its use might be:</p>
+
+ <dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+
+ <dd><code>RemoveType .cgi</code></dd>
+ </dl>
+
+ <p>This will remove any special handling of <code>.cgi</code>
+ files in the <code>/foo/</code> directory and any beneath it,
+ causing the files to be treated as being of the <a
+ href="core.html#defaulttype">default type</a>.</p>
+
+ <p><b>Note:</b><code>RemoveType</code> directives are processed
+ <i>after</i> any <code>AddType</code> directives, so it is
+ possible they may undo the effects of the latter if both occur
+ within the same directory configuration.</p>
+
+ <p>The <em>extension</em> argument is case-insensitive, and can
+ be specified with or without a leading dot.</p>
+ <hr />
+
+ <h2><a id="sethandler" name="sethandler">SetHandler</a>
+ directive</h2>
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetHandler
+ <em>handler-name</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> directory,
+ .htaccess<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> SetHandler is
+ only available in Apache 1.1 and later.
+
+ <p>When placed into an <code>.htaccess</code> file or a
+ <code>&lt;Directory&gt;</code> or <code>&lt;Location&gt;</code>
+ section, this directive forces all matching files to be parsed
+ through the <a href="../handler.html">handler</a> given by
+ <em>handler-name</em>. For example, if you had a directory you
+ wanted to be parsed entirely as imagemap rule files, regardless
+ of extension, you might put the following into an
+ <code>.htaccess</code> file in that directory:</p>
+<pre>
+ SetHandler imap-file
+</pre>
+
+ <p>Another example: if you wanted to have the server display a
+ status report whenever a URL of
+ <code>http://servername/status</code> was called, you might put
+ the following into access.conf:</p>
+<pre>
+ &lt;Location /status&gt;
+ SetHandler server-status
+ &lt;/Location&gt;
+</pre>
+ <hr />
+
+ <h2><a id="typesconfig" name="typesconfig">TypesConfig</a>
+ directive</h2>
+ <!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> TypesConfig
+ <em>file-path</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <code>TypesConfig
+ conf/mime.types</code><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_mime
+
+ <p>The TypesConfig directive sets the location of the MIME
+ types configuration file. <em>Filename</em> is relative to the
+ <a href="core.html#serverroot">ServerRoot</a>. This file sets
+ the default list of mappings from filename extensions to
+ content types; changing this file is not recommended. Use the
+ <a href="#addtype">AddType</a> directive instead. The file
+ contains lines in the format of the arguments to an AddType
+ command:</p>
+
+ <blockquote>
+ <em>MIME-type extension extension ...</em>
+ </blockquote>
+ The extensions are lower-cased. Blank lines, and lines
+ beginning with a hash character (`#') are ignored.
+
+ <p> <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </p>
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.ja.jis
new file mode 100644
index 00000000000..4d8e2fb22c8
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_mime.html.ja.jis
@@ -0,0 +1,823 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache module mod_mime</title>
+</head>
+<!-- English revision: 1.45 -->
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<h1 align="CENTER">mod_mime $B%b%8%e!<%k(B</h1>
+
+<p>$B$3$N%b%8%e!<%k$O!"%U%!%$%k$N%?%$%W$r%U%!%$%kL>$+$i7hDj$9$k5!G=$H!"(B
+$B%U%!%$%k$K%O%s%I%i$r4XO"IU$1$k5!G=$rDs6!$7$^$9!#(B</p>
+
+<p><a
+href="module-dict.html#Status"
+rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base
+<br>
+<a
+href="module-dict.html#SourceFile"
+rel="Help"
+><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_mime.c
+<br>
+<a
+href="module-dict.html#ModuleIdentifier"
+rel="Help"
+><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> mime_module
+</p>
+
+<h2>$B35MW(B</h2>
+
+<p>
+$B$3$N%b%8%e!<%k$O!"%I%-%e%a%s%H$N$$$m$$$m$J!V%a%?>pJs!W$r7hDj$9$k$?$a$K(B
+$B;HMQ$5$l$^$9!#$3$N>pJs$O%I%-%e%a%s%H$N%3%s%F%s%D$K4XO"$7$F$$$k$b$N$G!"(B
+$B%V%i%&%6$KJV$5$l$?$j!"%5!<%PFb$G%3%s%F%s%H%M%4%7%(!<%7%g%s$K;H$o$l$?$j$7$^$9!#(B
+$B$5$i$K!"!V%O%s%I%i!W$r%I%-%e%a%s%H$KBP$7$F@_Dj$9$k$3$H$,$G$-$^$9!#%O%s%I%i$O(B
+$B%5!<%PFb$G%I%-%e%a%s%H$r$I$N$h$&$K=hM}$9$k$+$r7hDj$7$^$9!#(B
+</p>
+
+<p>
+$B%G%#%l%/%F%#%V(B <a href="#addcharset">AddCharset</a>,
+<a href="#addencoding">AddEncoding</a>, <a href="#addhandler">AddHandler</a>,
+<a href="#addlanguage">AddLanguage</a>, <a href="#addtype">AddType</a>
+$B$O$9$Y$F!"%U%!%$%k$N3HD%;R$r%a%?>pJs$K%^%C%W$9$k$?$a$K;HMQ$5$l$^$9!#(B
+$B$=$l$>$l!"%I%-%e%a%s%H$NJ8;z%;%C%H(B ($BLuCm(B: charset)$B!"(Bcontent-encoding, $B%O%s%I%i!"(B
+content-language, MIME $B%?%$%W(B (content-type) $B$r@_Dj$7$^$9!#(B
+$B%G%#%l%/%F%#%V(B <a href="#typesconfig">TypesConfig</a> $B$O3HD%;R$r(B MIME $B%?%$%W$K(B
+$B%^%C%W$9$k%U%!%$%k$r;XDj$9$k$?$a$K;HMQ$5$l$^$9!#%G%#%l%/%F%#%V(B <a
+href="#forcetype">ForceType</a> $B$H(B <a
+href="#sethandler">SetHandler</a> $B$O!"M?$($i$l$?>l=j(B (<em>$BNc$($P(B</em>$B!"(B
+$BFCDj$N%G%#%l%/%H%j(B) $B$K$"$k$9$Y$F$N%U%!%$%k$rFCDj$N(B MIME $B%?%$%W$d%O%s%I%i$K(B
+$B4XO"IU$1$k$?$a$K;HMQ$5$l$^$9!#(B
+</p>
+
+
+<p>
+$B%U%!%$%k$N%?%$%W$d%(%s%3!<%G%#%s%0$rJQ$($F$b(B <code>Last-Modified</code>
+$B%X%C%@$NCM$OJQ$o$i$J$$$3$H$KCm0U$7$F$/$@$5$$!#$G$9$+$i!"(B
+$B$=$l$i$rJQ99$7$?>l9g$O!"%/%i%$%"%s%H$d%W%m%-%7$G0JA0$K%-%c%C%7%e$5$l$?(B
+$B%3%T!<$,$=$N$H$-$N%X%C%@$H$H$b$K;H$o$l$k2DG=@-$,$"$j$^$9!#(B
+</p>
+
+<h2>$B%G%#%l%/%F%#%V(B</h2>
+<ul>
+<li><a href="#addcharset">AddCharset</a></li>
+<li><a href="#addencoding">AddEncoding</a></li>
+<li><a href="#addhandler">AddHandler</a></li>
+<li><a href="#addlanguage">AddLanguage</a></li>
+<li><a href="#addtype">AddType</a></li>
+<li><a href="#defaultlanguage">DefaultLanguage</a></li>
+<li><a href="#forcetype">ForceType</a></li>
+<li><a href="#removeencoding">RemoveEncoding</a></li>
+<li><a href="#removehandler">RemoveHandler</a></li>
+<li><a href="#removetype">RemoveType</a></li>
+<li><a href="#sethandler">SetHandler</a></li>
+<li><a href="#typesconfig">TypesConfig</a></li>
+</ul>
+
+<p>$B;2>H(B: <a
+href="mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></p>
+
+<h2><a name="multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a></h2>
+
+<p>
+$B%U%!%$%k$OJ#?t$N3HD%;R$r;}$D$3$H$,$G$-!"3HD%;R$N=gHV$O(B<em>$BDL>o$O(B</em>
+$B4X78$"$j$^$;$s!#Nc$($P!"(B<code>welcome.html.fr</code> $B%U%!%$%k$,(B
+$B%3%s%F%s%H%?%$%W$O(B text/html $B$K!"8@8l$O%U%i%s%98l$K%^%C%W$5$l$k>l9g!"(B
+<code>welcome.fr.html</code> $B$b$^$C$?$/F1$8>pJs$K%^%C%W$5$l$^$9!#(B
+$BM#0l$NNc30$O!"M?$($i$l$?3HD%;R$N07$$J}$r(B
+Apache $B$,CN$i$J$$>l9g$G$9!#$=$N>l9g!"(BApache $B$OCN$i$J$$3HD%;R$N:8$K$"$k(B
+$B$9$Y$F$N3HD%;R$r!VK:$l!W$^$9!#$G$9$+$i!"Nc$($P!"3HD%;R(B fr $B$H(B html $B$,E,@Z$J(B
+$B8@8l$H%?%$%W$K%^%C%W$5$l$F$$$k$1$l$I$b!"3HD%;R(B xxx $B$O2?$K$b(B
+$B3d$jEv$F$i$l$F$$$J$$$H$$$&>l9g$K$O!"(B<code>welcome.fr.xxx.html</code>
+$B%U%!%$%k$O%3%s%F%s%H%?%$%W(B text/html
+$B$K4XO"IU$1$i$l$^$9$,!"8@8l$K$O4XO"IU$1$i$l(B<em>$B$^$;$s(B</em>$B!#(B
+</p>
+
+<p>
+$BF1$8%a%?>pJs$K%^%C%W$5$l$k3HD%;R$,J#?t$"$k$H$-$K$O!"1&B&$K$"$k$b$N$,(B
+$B;HMQ$5$l$^$9!#Nc$($P!"(B".gif" $B$,(B MIME $B%?%$%W(B image/gif $B$K%^%C%W$5$l!"(B
+".html" $B$,(B MIME $B%?%$%W(B text/html $B$K%^%C%W$5$l$k>l9g$O!"%U%!%$%k(B
+<code>welcome.gif.html</code> $B$O(B MIME $B%?%$%W(B "text/html" $B$K4XO"IU$1$i$l$^$9!#(B
+</p>
+
+<p>
+$BJ#?t$N3HD%;R$N$"$k%U%!%$%k$,(B MIME $B%?%$%W$H%O%s%I%i$NN>J}$K(B
+$B4XO"IU$1$i$l$F$$$k$H$-$OCm0U$9$kI,MW$,$"$j$^$9!#$=$N>l9g!"IaDL$O(B
+$B%j%/%(%9%H$,%O%s%I%i$K4XO"IU$1$i$l$?%b%8%e!<%k$K$h$C$F07$o$l$k$3$H$K$J$j$^$9!#(B
+$BNc$($P!"3HD%;R(B <code>.imap</code> $B$,(B (mod_imap $B$N(B) "imap-file" $B$K(B
+$B%^%C%W$5$l$F$$$F!"(B<code>.html</code> $B$,(B MIME $B%?%$%W(B "text/html" $B$K(B
+$B%^%C%W$5$l$F$$$k$H$-$O!"%U%!%$%k(B <code>world.imap.html</code> $B$O(B
+"imap-file" $B%O%s%I%i$H(B "text/html" MIME $B%?%$%W$K4XO"IU$1$i$l$^$9!#(B
+$B%U%!%$%k$,=hM}$5$l$k$H$-$O(B "imap-file" $B%O%s%I%i$,;HMQ$5$l$^$9$N$G!"(B
+$B$=$N%U%!%$%k$O(B mod_imap $B$N%$%a!<%8%^%C%W%U%!%$%k$H$7$F07$o$l$k$3$H$K$J$j$^$9!#(B
+</p>
+
+<hr>
+
+<h2><a name="addcharset">AddCharset</a> $B%G%#%l%/%F%#%V(B</h2>
+<a href="directive-dict.html#Syntax" rel="Help"
+><strong>$B9=J8(B:</strong></a> AddCharset <em>charset extension</em>
+ [<em>extension</em>] ...<br>
+<a href="directive-dict.html#Context" rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime
+<br>
+<a href="directive-dict.html#Compatibility" rel="Help"
+><strong>$B8_49@-(B:</strong></a> AddCharset $B$O(B Apache 1.3.10 $B0J9_$G$N$_;HMQ2DG=!#(B
+<br>
+
+<p>
+AddCharset $B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?(B
+charset $B$K%^%C%W$7$^$9!#(B<em>charset</em> $B$O!"3HD%;R(B <em>extension</em> $B$r(B
+$B4^$s$G$$$k%U%!%$%kL>$N(B MIME charset $B%Q%i%a!<%?$G$9!#(B
+$B?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$K(B
+$BDI2C$5$l!"F1$83HD%;R(B <em>extension</em> $B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r(B
+$B>e=q$-$7$^$9!#(B
+</p>
+<p>
+$BNc(B:
+</p>
+<pre>
+ AddLanguage ja .ja
+ AddCharset EUC-JP .euc
+ AddCharset ISO-2022-JP .jis
+ AddCharset SHIFT_JIS .sjis
+</pre>
+
+<p>
+$B$3$N>l9g!"%I%-%e%a%s%H(B <code>xxxx.ja.jis</code> $B$O(B charset $B$,(B ISO-2022-JP $B$N(B
+$BF|K\8l$N%I%-%e%a%s%H$H$7$F07$o$l$^$9(B (<code>xxxx.jis.ja</code> $B$bF1MM(B)$B!#(B
+AddCharset $B%G%#%l%/%F%#%V$O!"%I%-%e%a%s%H$,E,@Z$K2r<a$5$lI=<($5$l$k$h$&$K!"(B
+$B%I%-%e%a%s%H$N(B charset $B$N>pJs$r%/%i%$%"%s%H$K65$($k$?$a$KLr$KN)$A$^$9!#(B
+$B$^$?!"%5!<%P$,%/%i%$%"%s%H$N(B charset $B$NM%@hEY$K4p$E$$$FJ#?t$N%I%-%e%a%s%H$N(B
+$BCf$+$i%I%-%e%a%s%H$rA*$V(B<a
+ href="../content-negotiation.html">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</a>$B$N$?$a$K$b(B
+$BLr$KN)$A$^$9!#(B
+</p>
+
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<p>
+<strong>$B;2>H(B</strong>: <a href="mod_negotiation.html">mod_negotiation</a>
+</p>
+
+<hr>
+
+<h2><a name="addencoding">AddEncoding</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> AddEncoding <em>MIME-enc extension</em>
+ [<em>extension</em>] ...<BR>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+
+<p>
+AddEncoding $B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?(B
+$B%(%s%3!<%G%#%s%0$K%^%C%W$7$^$9!#(B<em>MIME-enc</em> $B$O!"3HD%;R(B <em>extension</em>
+$B$r4^$s$@%I%-%e%a%s%H$K;HMQ$9$k(B MIME $B%(%s%3!<%G%#%s%0$G$9!#(B
+$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R(B <em>extension</em>
+$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#(B
+</p>
+
+<p>
+$BNc(B:
+</p>
+<pre>
+ AddEncoding x-gzip .gz
+ AddEncoding x-compress .Z
+</pre>
+
+<p>
+$B$3$l$O!"3HD%;R(B .gz $B$r4^$`%U%!%$%kL>$,(B x-gzip $B%(%s%3!<%G%#%s%0$r;H$C$F(B
+$B%(%s%3!<%I$5$l$F$$$k$3$H$H!"3HD%;R(B .Z $B$r4^$`%U%!%$%kL>$,(B x-compress $B$G(B
+$B%(%s%3!<%I$5$l$F$$$k$3$H$r<($7$^$9!#(B
+</p>
+
+<p>
+$B8E$$%/%i%$%"%s%H$O(B <code>x-zip</code> $B$H(B <code>x-compress</code> $B$,(B
+$BJV$C$F$/$k$3$H$r4|BT$7$^$9$,!"I8=`5,3J$G$O$=$l$>$l(B <code>gzip</code> $B$H(B
+<code>compress</code> $B$HEy2A$G$"$k$3$H$K$J$C$F$$$^$9!#(BApache $B$O!"(B
+$B%3%s%F%s%H%(%s%3!<%G%#%s%0$NHf3S$r$9$k$H$-$K$O!"@hF,$K$"$k(B <code>x-</code>
+$B$rL5;k$7$^$9!#(BApache $B$,%(%s%3!<%G%#%s%0IU$-$G1~Ez$rJV$9$H$-$O!"(B
+$B%/%i%$%"%s%H$,MW5a$7$?7A<0(B
+(<em>$B$9$J$o$A(B</em>$B!"(B<code>x-foo</code> $B$d(B <code>foo</code>)
+$B$r;HMQ$7$^$9!#MW$9$k$K!"$3$NFs$D$N%(%s%3!<%G%#%s%0$N>l9g$O>o$K(B
+<code>x-gzip</code> $B$H(B <code>x-compress</code> $B$r;H$&$Y$-$G$"$k!"$H$$$&$3$H$G$9!#(B
+<code>deflate</code> $B$N$h$&$J$h$j?7$7$$%(%s%3!<%G%#%s%0$G$O!"(B<code>x-</code>
+$B$J$7$G;XDj$7$F$/$@$5$$!#(B
+</p>
+
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+
+<p>
+<strong>$B;2>H(B</strong>: <a href="#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a>
+</p>
+<hr>
+
+<h2><a name="addhandler">AddHandler</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> AddHandler <em>handler-name extension</em>
+ [<em>extension</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> AddHandler $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B<br>
+
+<p>
+AddHandler $B$O!"3HD%;R(B <em>extension</em> $B$r(B
+<a href="../handler.html">$B%O%s%I%i(B</a> <em>handler-name</em> $B$K%^%C%W$7$^$9!#(B
+$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R(B <em>extension</em>
+$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#(B
+</p>
+
+<p>
+$BNc$($P!"3HD%;R(B "<code>.cgi</code>" $B$G=*$o$k%U%!%$%k$r(B CGI $B%9%/%j%W%H$H$7$F(B
+$B07$$$?$$$H$-$O!"0J2<$N@_Dj$r$7$^$9!#(B
+</p>
+<pre>
+ AddHandler cgi-script .cgi
+</pre>
+
+<p>
+$B$3$l$r(B srm.conf $B$+(B httpd.conf $B%U%!%$%k$K5-=R$9$k$3$H$G!"3HD%;R(B "<code>.cgi</code>" $B$r(B
+$B4^$`%U%!%$%k$O(B CGI $B%W%m%0%i%`$H$7$F07$o$l$^$9!#(B
+</p>
+
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+
+<p>
+<strong>$B;2>H(B</strong>: <a href="#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a>
+</p>
+
+<hr>
+
+<h2><a name="addlanguage">AddLanguage</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> AddLanguage <em>MIME-lang extension</em>
+ [<em>extension</em>] ...<BR>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+
+<p>
+AddLanguage $B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?(B content language $B$K(B
+$B%^%C%W$7$^$9!#(B<em>MIME-lang</em> $B$O!"3HD%;R(B <em>extension</em> $B$r4^$s$G$$$k(B
+$B%U%!%$%kL>$N(B MIME $B$K$*$1$k8@8l$G$9!#(B
+$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R(B <em>extension</em>
+$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#(B
+</p>
+
+<p>
+$BNc(B:
+</p>
+<pre>
+ AddEncoding x-compress .Z
+ AddLanguage en .en
+ AddLanguage fr .fr
+</pre>
+
+<p>
+$B$3$N>l9g!"(B<code>xxxx.en.Z</code> $B%I%-%e%a%s%H$O(B compress $B$5$l$?(B
+$B1Q8l$N%I%-%e%a%s%H$H$7$F07$o$l$^$9(B (<code>xxxx.Z.en</code> $B$bF1MM(B)$B!#(B
+content language $B$O%/%i%$%"%s%H$KDLCN$5$l$^$9$,!"%V%i%&%6$,$3$N>pJs$r(B
+$B;H$&$3$H$O$*$=$i$/$"$j$^$;$s!#(BAddLanguage $B%G%#%l%/%F%#%V$O!"(B
+$B%5!<%P$,%/%i%$%"%s%H$N8@8l$NM%@hEY$K4p$E$$$FJ#?t$N%I%-%e%a%s%H$N(B
+$BCf$+$i%I%-%e%a%s%H$rA*$V(B<a
+ href="../content-negotiation.html">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</a>$B$N$?$a$K(B
+$B$h$jLr$KN)$A$^$9!#(B
+</p>
+<p>
+$BJ#?t$N8@8l$,F1$83HD%;R$K3d$jEv$F$i$l$F$$$k$H$-$O!":G8e$N$b$N$,;HMQ$5$l$^$9!#(B
+$B$9$J$o$A!"<!$N$h$&$J>l9g$O!"(B
+$B3HD%;R(B "<code>.en</code>" $B$N$"$k%I%-%e%a%s%H$O(B "<code>en-us</code>" $B$H$7$F(B
+$B07$o$l$^$9!#(B
+</p>
+<pre>
+ AddLanguage en .en
+ AddLanguage en-uk .en
+ AddLanguage en-us .en
+</pre>
+
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<p>
+<strong>$B;2>H(B</strong>: <a href="#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a>
+<br>
+<strong>$B;2>H(B</strong>: <a href="./mod_negotiation.html">mod_negotiation</a>
+</p>
+
+<hr>
+
+<h2><a name="addtype">AddType</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> AddType <em>MIME-type extension</em>
+ [<em>extension</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+
+<p>
+AddType $B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$r;XDj$5$l$?(B
+$B%3%s%F%s%H%?%$%W$K%^%C%W$7$^$9!#(B<em>MIME-type</em> $B$O3HD%;R(B <em>extension</em>
+$B$r4^$s$@%I%-%e%a%s%H$K;HMQ$9$k(B MIME $B%?%$%W$G$9!#(B
+$B$3$N?7$7$$%^%C%T%s%0$O4{$K$"$k$b$N$KDI2C$5$l!"F1$83HD%;R(B <em>extension</em>
+$B$N$?$a$K4{$KB8:_$9$k%^%C%T%s%0$r>e=q$-$7$^$9!#$3$N%G%#%l%/%F%#%V$O(B
+MIME $B%?%$%W%U%!%$%k(B (<code><a
+href="#typesconfig">TypesConfig</a></code> $B%G%#%l%/%F%#%V$r;2>H(B) $B$K(B
+$B$J$$%^%C%T%s%0$rDI2C$9$k$?$a$K;HMQ$9$k$3$H$,$G$-$^$9!#(B</p>
+
+<p>
+$BNc(B:
+</p>
+<pre>
+ AddType image/gif .gif
+</pre>
+
+<p>
+$B?7$7$$(B MIME $B%?%$%W$O!"(B<a href="#typesconfig">TypesConfig</a> $B%U%!%$%k$r(B
+$BJQ99$9$k$N$G$O$J$/!"(BAddType $B%G%#%l%/%F%#%V$r;H$C$FDI2C$9$k$3$H$,(B
+$B?d>)$5$l$F$$$^$9!#(B</p>
+
+<p>
+NCSA httpd $B$H$O0c$C$F!"$3$N%G%#%l%/%F%#%V$OFCDj$N%U%!%$%k$N%?%$%W$r(B
+$B@_Dj$9$k$3$H$O$G$-$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B</p>
+
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<p>
+<strong>$B;2>H(B</strong>: <a href="#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</a>
+</p>
+
+<hr>
+
+<h2><a name="defaultlanguage">DefaultLanguage</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt DefaultLanguage} directive&gt; -->
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> DefaultLanguage <em>MIME-lang</em><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Override"
+ rel="Help"
+><strong>$B>e=q$-(B:</strong></a> FileInfo<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> DefaultLanguage $B$O(B Apache 1.3.4 $B0J9_$G$N$_(B
+$B;HMQ2DG=!#(B<br>
+
+<p>
+DefaultLanguage $B%G%#%l%/%F%#%V$O!"(BApache $B$,%G%#%l%/%F%#%V$N%9%3!<%W(B
+(<em>$BNc$($P(B</em>$B!"$=$N;~E@$N(B <code>&lt;Directory&gt;</code> $B$N(B
+$BHO0O(B) $B$K$"$k!"L@<(E*$J8@8l3HD%;R(B (<samp>AddLanguage</samp> $B$G@_Dj$5$l$k(B
+<samp>.fr</samp> $B$d(B <samp>.de</samp>) $B$N$J$$A4$F$N%U%!%$%k$r!"(B
+$B;XDj$5$l$?(B <em>MIME-lang</em> $B8@8l$G$"$k$H$_$J$9$h$&$K$7$^$9!#(B
+$B$3$l$K$h$j!"$9$Y$F$N%U%!%$%kL>$rJQ$($k$3$H$J$/!"%G%#%l%/%H%j$,(B
+$B%*%i%s%@8l$N%3%s%F%s%H$r4^$s$G$$$k!"$H$$$&$h$&$J$3$H$r(B
+$B;XDj$9$k$3$H$,$G$-$^$9!#(B
+$B3HD%;R$r;HMQ$7$F8@8l$r;XDj$9$kJ}K!$H0c$$!"(B<samp>DefaultLanguage</samp>
+$B$O0l$D$N8@8l$7$+;XDj$G$-$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B</p>
+
+
+<p>
+<samp>DefaultLanguage</samp> $B%G%#%l%/%F%#%V$,M-8z$G$J$/!"(B
+$B%U%!%$%k$K(B <samp>AddLanguage</samp> $B$G@_Dj$5$l$?8@8l$N3HD%;R$,$J$$$H$-$O!"(B
+$B%U%!%$%k$K$O8@8lB0@-$,$J$$$H$_$J$5$l$^$9!#(B</p>
+
+
+<P>
+<strong>$B;2>H(B</strong>: <a
+href="./mod_negotiation.html">mod_negotiation</a>
+<br>
+<strong>$B;2>H(B</strong>: <a href="#multipleext">$BJ#?t$N3HD%;R$N$"$k%U%!%$%k(B</A>
+</p>
+
+<hr>
+
+<h2><a name="forcetype">ForceType</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> ForceType <em>media-type</em><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> ForceType $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B
+
+<p>
+<code>.htaccess</code> $B$d(B <code>&lt;Directory&gt;</code> $B%;%/%7%g%s!"(B
+<code>&lt;Location&gt;</code> $B%;%/%7%g%s$K=q$+$l$?>l9g!"$3$N(B
+$B%G%#%l%/%F%#%V$O$=$3$K$"$k$9$Y$F$N%U%!%$%k$,(B <em>media type</em> $B$G(B
+$B;XDj$5$l$?%3%s%F%s%H%?%$%W$H$7$F07$o$l$k$3$H$r6/@)$7$^$9!#Nc$($P!"(B
+GIF $B%U%!%$%k$P$+$j$N%G%#%l%/%H%j$,$"$C$F!"$9$Y$F$N%U%!%$%k$r(B ".gif" $B$G(B
+$B=*$o$i$;$?$/$O$J$$$H$-$K!"0J2<$N$b$N$r;HMQ$7$^$9(B:</p>
+
+<pre>
+ ForceType image/gif
+</pre>
+
+<p>$B$3$l$O!"%a%G%#%"%?%$%W$r7hDj$9$k$+$b$7$l$J$$$9$Y$F$N3HD%;R$r(B
+$B>e=q$-$9$k$3$H$KCm0U$7$F$/$@$5$$!#(B
+</p><hr>
+
+<h2><a name="removeencoding">RemoveEncoding</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> RemoveEncoding <em>extension</em>
+ [<em>extension</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> RemoveEncoding $B$O(B Apache 1.3.13 $B0J9_$G$N$_(B
+$B;HMQ2DG=!#(B
+
+<p>
+<samp>RemoveEncoding</samp> $B%G%#%l%/%F%#%V$O!"M?$($i$l$?3HD%;R$K(B
+$B4XO"IU$1$i$l$?%(%s%3!<%G%#%s%0$r<h$j>C$7$^$9!#$3$l$K$h$j!"(B
+$B%5%V%G%#%l%/%H%j$K$"$k(B <code>.htaccess</code> $B%U%!%$%k$,?F%G%#%l%/%H%j$d(B
+$B%5!<%P$N@_Dj%U%!%$%k$+$i7Q>5$7$?4XO"IU$1$r<h$j>C$9$3$H$,$G$-$^$9!#(B
+$BNc$($P(B:
+</p>
+<dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+ <dd><code>AddEncoding x-gzip .gz</code>
+ <br>
+ <code>AddType text/plain .asc</code>
+ <br>
+ <code>&lt;Files *.gz.asc&gt;</code>
+ <br>
+ <code>&nbsp;&nbsp;&nbsp;&nbsp;RemoveEncoding .gz</code>
+ <br>
+ <code>&lt;/Files&gt;</code></dd>
+</dl>
+<p>
+$B$3$l$O!"(B<code>foo.gz</code> $B$O(B gzip $B$G%(%s%3!<%I$5$l$F$$$k$3$H$r(B
+$B;XDj$7$^$9$,!"(B<code>foo.gz.asc</code> $B$O%(%s%3!<%I$5$l$F$$$J$$(B
+$B%W%l!<%s%F%-%9%H$N%U%!%$%k$G$"$k$H$$$&$3$H$r;XDj$7$^$9!#(B
+</p>
+<p>
+<strong>$BCm0U(B:</strong> RemoveEncoding $B$O(B AddEncoding $B%G%#%l%/%F%#%V$N(B<em>$B8e(B</em>$B$G(B
+$B=hM}$5$l$^$9$N$G!"F1$8%G%#%l%/%H%j$N@_DjCf$KN>J}$,8=$l$k$H!"(B
+$B8e<T$N8z2L$,BG$A>C$5$l$k2DG=@-$,$"$j$^$9!#(B
+</p>
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<hr>
+
+<h2><a name="removehandler">RemoveHandler</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><STrong>$B9=J8(B:</strong></a> RemoveHandler <em>extension</em>
+ [<em>extension</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> RemoveHandler $B$O(B Apache 1.3.4 $B0J9_$G$N$_(B
+$B;HMQ2DG=!#(B
+
+<p>
+<samp>RemoveHandler</samp> $B%G%#%l%/%F%#%V$OM?$($i$l$?3HD%;R$K(B
+$B4XO"IU$1$i$l$?%O%s%I%i$r<h$j>C$7$^$9!#$3$l$K$h$j!"(B
+$B%5%V%G%#%l%/%H%j$K$"$k(B <code>.htaccess</code> $B%U%!%$%k$,?F%G%#%l%/%H%j$d(B
+$B%5!<%P$N@_Dj%U%!%$%k$+$i7Q>5$7$?4XO"IU$1$r<h$j>C$9$3$H$,$G$-$^$9!#(B
+$BNc$($P(B:
+</p>
+
+<dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+ <dd><code>addhandler server-parsed .html</code></dd>
+ <dt><code>/foo/bar/.htaccess:</code></dt>
+ <dd><code>removehandler .html</code></dd>
+</dl>
+<p>
+$B$3$l$O!"(B<samp>/foo/bar</samp> $B%G%#%l%/%H%j$N(B <samp>.html</samp> $B%U%!%$%k$O(B
+SSI $B$G$O$J$/(B (<a href="mod_include.html"><samp>mod_include</samp></a>
+$B%b%8%e!<%k;2>H(B)$B!"IaDL$N%U%!%$%k$H$7$F07$o$l$k$h$&$K$9$k8z2L$,$"$j$^$9!#(B
+</p>
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<hr>
+
+<h2><a name="removetype">RemoveType</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> RemoveType <em>extension</em>
+ [<em>extension</em>] ...<br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> RemoveType $B$O(B Apache 1.3.13 $B0J9_$G$N$_(B
+$B;HMQ2DG=!#(B
+
+<p>
+<samp>RemoveType</samp> $B%G%#%l%/%F%#%V$OM?$($i$l$?3HD%;R$N(B
+MIME $B%?%$%W$N4XO"IU$1$r<h$j>C$7$^$9!#$3$l$K$h$j!"(B
+$B%5%V%G%#%l%/%H%j$K$"$k(B <code>.htaccess</code> $B%U%!%$%k$,?F%G%#%l%/%H%j$d(B
+$B%5!<%P$N@_Dj%U%!%$%k$+$i7Q>5$7$?4XO"IU$1$r<h$j>C$9$3$H$,$G$-$^$9!#(B
+$BNc$($P(B:
+</p>
+<dl>
+ <dt><code>/foo/.htaccess:</code></dt>
+ <dd><code>RemoveType .cgi</code></dd>
+</dl>
+<p>
+$B$3$l$O(B <code>/foo/</code> $B%G%#%l%/%H%j0J2<$N(B <code>.cgi</code> $B%U%!%$%k$N(B
+$BFCJL$J07$$$r<h$j>C$7$^$9!#%U%!%$%k$O(B<a
+href="core.html#defaulttype">$B%G%U%)%k%H%?%$%W(B</a>$B$H$7$F07$o$l$^$9!#(B</p>
+<p>
+<strong>$BCm0U(B:</strong> <code>RemoveType</code> $B%G%#%l%/%F%#%V$O(B
+<code>AddType</code> $B%G%#%l%/%F%#%V$N(B<em>$B8e(B</em>$B$K=hM}$5$l$^$9$N$G!"(B
+$BN>J}$,F1$8%G%#%l%/%H%j$N@_DjCf$K8=$l$?>l9g!"8e<T$N8z2L$,BG$A>C$5$l$k(B
+$B2DG=@-$,$"$j$^$9!#(B
+</p>
+<p>
+$B0z?t(B <em>extension</em> $B$OBgJ8;z>.J8;z$r6hJL$;$:!":G=i$N%I%C%H$O$"$C$F$b(B
+$B$J$/$F$b9=$$$^$;$s!#(B
+</p>
+
+<hr>
+
+<h2><a name="sethandler">SetHandler</a> $B%G%#%l%/%F%#%V(B</h2>
+
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> SetHandler <em>handler-name</em><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime<br>
+<a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+><strong>$B8_49@-(B:</strong></a> SetHandler $B$O(B Apache 1.1 $B0J9_$G$N$_;HMQ2DG=!#(B
+
+<p>
+<code>.htaccess</code> $B$d(B <code>&lt;Directory&gt;</code> $B%;%/%7%g%s!"(B
+<code>&lt;Location&gt;</code> $B%;%/%7%g%s$K=q$+$l$?>l9g!"$3$N(B
+$B%G%#%l%/%F%#%V$O$=$3$K$"$k$9$Y$F$N%U%!%$%k$,(B <em>handler-name</em> $B$G(B
+$B;XDj$5$l$?(B<a href="../handler.html">$B%O%s%I%i(B</a>$B$G07$o$l$k$3$H$r(B
+$B6/@)$7$^$9!#Nc$($P!"3HD%;R$K4X$o$i$:!"%G%#%l%/%H%jA4BN$,(B
+$B%$%a!<%8%^%C%W%U%!%$%k$H$7$F2r@O$7$FM_$7$$>l9g$K$O!"0J2<$r(B
+$B$=$N%G%#%l%/%H%j$N(B <code>.htaccess</code> $B%U%!%$%k$K5-=R$7$^$9(B:</p>
+
+<pre>
+ SetHandler imap-file
+</pre>
+
+<p>$BJL$NNc(B: URL <code>http://servername/status</code> $B$,;XDj$5$l$?$H$-$K(B
+$B%5!<%P$,>uBVJs9p$r$9$k$h$&$K$7$?$$$H$-$O!"0J2<$r(B httpd.conf $B$K(B
+$B5-=R$7$^$9(B:
+</p>
+
+<pre>
+ &lt;Location /status&gt;
+ SetHandler server-status
+ &lt;/Location&gt;
+</pre>
+<hr>
+
+<h2><a name="typesconfig">TypesConfig</a> $B%G%#%l%/%F%#%V(B</h2>
+<!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
+<a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+><strong>$B9=J8(B:</strong></a> TypesConfig <em>filename</em><br>
+<a
+ href="directive-dict.html#Default"
+ rel="Help"
+><strong>$B%G%U%)%k%H(B:</strong></a> <code>TypesConfig conf/mime.types</code><br>
+<a
+ href="directive-dict.html#Context"
+ rel="Help"
+><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br>
+<a
+ href="directive-dict.html#Status"
+ rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base<br>
+<a
+ href="directive-dict.html#Module"
+ rel="Help"
+><strong>$B%b%8%e!<%k(B:</strong></a> mod_mime
+
+<p>
+TypesConfig $B%G%#%l%/%F%#%V$O!"(BMIME $B%?%$%W@_Dj%U%!%$%k$N0LCV$r@_Dj$7$^$9!#(B
+<em>filename</em> $B$O(B <a href="core.html#serverroot">ServerRoot</a> $B$+$i$N(B
+$BAjBP%Q%9$G$9!#$3$N%U%!%$%k$O%U%!%$%k$N3HD%;R$+$i%3%s%F%s%H%?%$%W$X$N(B
+$B%G%U%)%k%H$N%^%C%T%s%0$r@_Dj$7$^$9!#$3$N%U%!%$%k$rJQ99$9$k$3$H$O(B
+$B?d>)$5$l$F$$$^$;$s!#Be$o$j$K(B <a href="#addtype">AddType</a> $B%G%#%l%/%F%#%V$r(B
+$B;HMQ$7$F$/$@$5$$!#%U%!%$%k$O!"(BAddType $B%3%^%s%I$N0z?t$HF1$87A<0$N9T$G(B
+$B9=@.$5$l$^$9!#(B</p>
+
+<blockquote><em>MIME-type extension extension ...</em></blockquote>
+
+<p>
+$B3HD%;R$O>.J8;z$KJQ49$5$l$^$9!#6u9T$H%O%C%7%eJ8;z(B ('#') $B$G;O$^$k9T$O(B
+$BL5;k$5$l$^$9!#(B</p>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.en
new file mode 100644
index 00000000000..661f625f60b
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.en
@@ -0,0 +1,337 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_setenvif</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_setenvif</h1>
+
+ <p>This module provides the ability to set environment
+ variables based upon attributes of the request.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a>
+ mod_setenvif.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ setenvif_module<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3 and later.</p>
+
+ <h2>Summary</h2>
+
+ <p>The <samp>mod_setenvif</samp> module allows you to set
+ environment variables according to whether different aspects of
+ the request match <a href="../misc/FAQ.html#regex">regular
+ expressions</a> you specify. These environment variables can be
+ used by other parts of the server to make decisions about
+ actions to be taken.</p>
+
+ <p>The directives are considered in the order they appear in
+ the configuration files. So more complex sequences can be used,
+ such as this example, which sets <code>netscape</code> if the
+ browser is mozilla but not MSIE.</p>
+
+ <blockquote>
+<pre>
+ BrowserMatch ^Mozilla netscape
+ BrowserMatch MSIE !netscape
+
+</pre>
+ </blockquote>
+
+ <p>For additional information, we provide a document on <a
+ href="../env.html">Environment Variables in Apache</a>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#BrowserMatch">BrowserMatch</a></li>
+
+ <li><a href="#BrowserMatchNoCase">BrowserMatchNoCase</a></li>
+
+ <li><a href="#SetEnvIf">SetEnvIf</a></li>
+
+ <li><a href="#SetEnvIfNoCase">SetEnvIfNoCase</a></li>
+ </ul>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="BrowserMatch" name="BrowserMatch">BrowserMatch
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BrowserMatch <em>regex
+ env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <i>none</i><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+ above (in Apache 1.2 this directive was found in the
+ now-obsolete mod_browser module); use in .htaccess files only
+ supported with 1.3.13 and later</p>
+
+ <p>The BrowserMatch directive defines environment variables
+ based on the <samp>User-Agent</samp> HTTP request header field.
+ The first argument should be a POSIX.2 extended regular
+ expression (similar to an <samp>egrep</samp>-style regex). The
+ rest of the arguments give the names of variables to set, and
+ optionally values to which they should be set. These take the
+ form of</p>
+
+ <ol>
+ <li><samp><em>varname</em></samp>, or</li>
+
+ <li><samp>!<em>varname</em></samp>, or</li>
+
+ <li><samp><em>varname</em>=<em>value</em></samp></li>
+ </ol>
+
+ <p>In the first form, the value will be set to "1". The second
+ will remove the given variable if already defined, and the
+ third will set the variable to the value given by
+ <samp><em>value</em></samp>. If a <samp>User-Agent</samp>
+ string matches more than one entry, they will be merged.
+ Entries are processed in the order in which they appear, and
+ later entries can override earlier ones.</p>
+
+ <p>For example:</p>
+<pre>
+ BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+ BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+ BrowserMatch MSIE !javascript
+
+</pre>
+
+ <p>Note that the regular expression string is
+ <strong>case-sensitive</strong>. For case-INsensitive matching,
+ see the <a
+ href="#BrowserMatchNoCase"><samp>BrowserMatchNoCase</samp></a>
+ directive.</p>
+
+ <p>The <samp>BrowserMatch</samp> and
+ <samp>BrowserMatchNoCase</samp> directives are special cases of
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> and <a
+ href="#SetEnvIfNoCase"><samp>SetEnvIfNoCase</samp></a>
+ directives. The following two lines have the same effect:</p>
+<pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="BrowserMatchNoCase"
+ name="BrowserMatchNoCase">BrowserMatchNoCase directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BrowserMatchNoCase
+ <em>regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+ above (in Apache 1.2 this directive was found in the
+ now-obsolete mod_browser module)</p>
+
+ <p>The <samp>BrowserMatchNoCase</samp> directive is
+ semantically identical to the <a
+ href="#BrowserMatch"><samp>BrowserMatch</samp></a> directive.
+ However, it provides for case-insensitive matching. For
+ example:</p>
+<pre>
+ BrowserMatchNoCase mac platform=macintosh
+ BrowserMatchNoCase win platform=windows
+
+</pre>
+
+ <p>The <samp>BrowserMatch</samp> and
+ <samp>BrowserMatchNoCase</samp> directives are special cases of
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> and <a
+ href="#SetEnvIfNoCase"><samp>SetEnvIfNoCase</samp></a>
+ directives. The following two lines have the same effect:</p>
+<pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="SetEnvIf" name="SetEnvIf">SetEnvIf
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnvIf <em>attribute
+ regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+ above; the Request_Protocol keyword and environment-variable
+ matching are only available with 1.3.7 and later; use in
+ .htaccess files only supported with 1.3.13 and later</p>
+
+ <p>The <samp>SetEnvIf</samp> directive defines environment
+ variables based on attributes of the request. These attributes
+ can be the values of various HTTP request header fields (see <a
+ href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>
+ for more information about these), or of other aspects of the
+ request, including the following:</p>
+
+ <ul>
+ <li><samp>Remote_Host</samp> - the hostname (if available) of
+ the client making the request</li>
+
+ <li><samp>Remote_Addr</samp> - the IP address of the client
+ making the request</li>
+
+ <li><samp>Remote_User</samp> - the authenticated username (if
+ available)</li>
+
+ <li><samp>Request_Method</samp> - the name of the method
+ being used (<samp>GET</samp>, <samp>POST</samp>, <em>et
+ cetera</em>)</li>
+
+ <li><samp>Request_Protocol</samp> - the name and version of
+ the protocol with which the request was made (<em>e.g.</em>,
+ "HTTP/0.9", "HTTP/1.1", <em>etc.</em>)</li>
+
+ <li><samp>Request_URI</samp> - the portion of the URL
+ following the scheme and host portion</li>
+ </ul>
+
+ <p>Some of the more commonly used request header field names
+ include <samp>Host</samp>, <samp>User-Agent</samp>, and
+ <samp>Referer</samp>.</p>
+
+ <p>If the <em>attribute</em> name doesn't match any of the
+ special keywords, nor any of the request's header field names,
+ it is tested as the name of an environment variable in the list
+ of those associated with the request. This allows
+ <code>SetEnvIf</code> directives to test against the result of
+ prior matches.</p>
+
+ <blockquote>
+ <strong>Only those environment variables defined by earlier
+ <code>SetEnvIf[NoCase]</code> directives are available for
+ testing in this manner. 'Earlier' means that they were
+ defined at a broader scope (such as server-wide) or
+ previously in the current directive's scope.</strong>
+ </blockquote>
+
+ <p>Example:</p>
+<pre>
+ SetEnvIf Request_URI "\.gif$" object_is_image=gif
+ SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+ :
+ SetEnvIf Referer www\.mydomain\.com intra_site_referral
+ :
+ SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+</pre>
+
+ <p>The first three will set the environment variable
+ <samp>object_is_image</samp> if the request was for an image
+ file, and the fourth sets <samp>intra_site_referral</samp> if
+ the referring page was somewhere on the
+ <samp>www.mydomain.com</samp> Web site.</p>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="SetEnvIfNoCase" name="SetEnvIfNoCase">SetEnvIfNoCase
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnvIfNoCase
+ <em>attribute regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+ above; the Request_Protocol keyword and environment-variable
+ matching are only available with 1.3.7 and later; use in
+ .htaccess files only supported with 1.3.13 and later</p>
+
+ <p>The <samp>SetEnvIfNoCase</samp> is semantically identical to
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> directive,
+ and differs only in that the regular expression matching is
+ performed in a case-insensitive manner. For example:</p>
+<pre>
+ SetEnvIfNoCase Host Apache\.Org site=apache
+
+</pre>
+
+ <p>This will cause the <samp>site</samp> environment variable
+ to be set to "<samp>apache</samp>" if the HTTP request header
+ field <samp>Host:</samp> was included and contained
+ <samp>Apache.Org</samp>, <samp>apache.org</samp>, or any other
+ combination.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.html
new file mode 100644
index 00000000000..a75a51cbe85
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.html
@@ -0,0 +1,341 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_setenvif</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Module mod_setenvif</h1>
+
+ <p>This module provides the ability to set environment
+ variables based upon attributes of the request.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a>
+ mod_setenvif.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ setenvif_module<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Available in
+ Apache 1.3 and later.</p>
+
+ <h2>Summary</h2>
+
+ <p>The <samp>mod_setenvif</samp> module allows you to set
+ environment variables according to whether different aspects of
+ the request match <a href="../misc/FAQ.html#regex">regular
+ expressions</a> you specify. These environment variables can be
+ used by other parts of the server to make decisions about
+ actions to be taken.</p>
+
+ <p>The directives are considered in the order they appear in
+ the configuration files. So more complex sequences can be used,
+ such as this example, which sets <code>netscape</code> if the
+ browser is mozilla but not MSIE.</p>
+
+ <blockquote>
+<pre>
+ BrowserMatch ^Mozilla netscape
+ BrowserMatch MSIE !netscape
+
+</pre>
+ </blockquote>
+
+ <p>For additional information, we provide a document on <a
+ href="../env.html">Environment Variables in Apache</a>.</p>
+
+ <h2>Directives</h2>
+
+ <ul>
+ <li><a href="#BrowserMatch">BrowserMatch</a></li>
+
+ <li><a href="#BrowserMatchNoCase">BrowserMatchNoCase</a></li>
+
+ <li><a href="#SetEnvIf">SetEnvIf</a></li>
+
+ <li><a href="#SetEnvIfNoCase">SetEnvIfNoCase</a></li>
+ </ul>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="BrowserMatch" name="BrowserMatch">BrowserMatch
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BrowserMatch <em>regex
+ env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <i>none</i><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+ above (in Apache 1.2 this directive was found in the
+ now-obsolete mod_browser module); use in .htaccess files only
+ supported with 1.3.13 and later</p>
+
+ <p>The BrowserMatch directive defines environment variables
+ based on the <samp>User-Agent</samp> HTTP request header field.
+ The first argument should be a POSIX.2 extended regular
+ expression (similar to an <samp>egrep</samp>-style regex). The
+ rest of the arguments give the names of variables to set, and
+ optionally values to which they should be set. These take the
+ form of</p>
+
+ <ol>
+ <li><samp><em>varname</em></samp>, or</li>
+
+ <li><samp>!<em>varname</em></samp>, or</li>
+
+ <li><samp><em>varname</em>=<em>value</em></samp></li>
+ </ol>
+
+ <p>In the first form, the value will be set to "1". The second
+ will remove the given variable if already defined, and the
+ third will set the variable to the value given by
+ <samp><em>value</em></samp>. If a <samp>User-Agent</samp>
+ string matches more than one entry, they will be merged.
+ Entries are processed in the order in which they appear, and
+ later entries can override earlier ones.</p>
+
+ <p>For example:</p>
+<pre>
+ BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+ BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+ BrowserMatch MSIE !javascript
+
+</pre>
+
+ <p>Note that the regular expression string is
+ <strong>case-sensitive</strong>. For case-INsensitive matching,
+ see the <a
+ href="#BrowserMatchNoCase"><samp>BrowserMatchNoCase</samp></a>
+ directive.</p>
+
+ <p>The <samp>BrowserMatch</samp> and
+ <samp>BrowserMatchNoCase</samp> directives are special cases of
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> and <a
+ href="#SetEnvIfNoCase"><samp>SetEnvIfNoCase</samp></a>
+ directives. The following two lines have the same effect:</p>
+<pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="BrowserMatchNoCase"
+ name="BrowserMatchNoCase">BrowserMatchNoCase directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> BrowserMatchNoCase
+ <em>regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.2 and
+ above (in Apache 1.2 this directive was found in the
+ now-obsolete mod_browser module)</p>
+
+ <p>The <samp>BrowserMatchNoCase</samp> directive is
+ semantically identical to the <a
+ href="#BrowserMatch"><samp>BrowserMatch</samp></a> directive.
+ However, it provides for case-insensitive matching. For
+ example:</p>
+<pre>
+ BrowserMatchNoCase mac platform=macintosh
+ BrowserMatchNoCase win platform=windows
+
+</pre>
+
+ <p>The <samp>BrowserMatch</samp> and
+ <samp>BrowserMatchNoCase</samp> directives are special cases of
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> and <a
+ href="#SetEnvIfNoCase"><samp>SetEnvIfNoCase</samp></a>
+ directives. The following two lines have the same effect:</p>
+<pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+
+</pre>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="SetEnvIf" name="SetEnvIf">SetEnvIf
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnvIf <em>attribute
+ regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+ above; the Request_Protocol keyword and environment-variable
+ matching are only available with 1.3.7 and later; use in
+ .htaccess files only supported with 1.3.13 and later</p>
+
+ <p>The <samp>SetEnvIf</samp> directive defines environment
+ variables based on attributes of the request. These attributes
+ can be the values of various HTTP request header fields (see <a
+ href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>
+ for more information about these), or of other aspects of the
+ request, including the following:</p>
+
+ <ul>
+ <li><samp>Remote_Host</samp> - the hostname (if available) of
+ the client making the request</li>
+
+ <li><samp>Remote_Addr</samp> - the IP address of the client
+ making the request</li>
+
+ <li><samp>Remote_User</samp> - the authenticated username (if
+ available)</li>
+
+ <li><samp>Request_Method</samp> - the name of the method
+ being used (<samp>GET</samp>, <samp>POST</samp>, <em>et
+ cetera</em>)</li>
+
+ <li><samp>Request_Protocol</samp> - the name and version of
+ the protocol with which the request was made (<em>e.g.</em>,
+ "HTTP/0.9", "HTTP/1.1", <em>etc.</em>)</li>
+
+ <li><samp>Request_URI</samp> - the portion of the URL
+ following the scheme and host portion</li>
+ </ul>
+
+ <p>Some of the more commonly used request header field names
+ include <samp>Host</samp>, <samp>User-Agent</samp>, and
+ <samp>Referer</samp>.</p>
+
+ <p>If the <em>attribute</em> name doesn't match any of the
+ special keywords, nor any of the request's header field names,
+ it is tested as the name of an environment variable in the list
+ of those associated with the request. This allows
+ <code>SetEnvIf</code> directives to test against the result of
+ prior matches.</p>
+
+ <blockquote>
+ <strong>Only those environment variables defined by earlier
+ <code>SetEnvIf[NoCase]</code> directives are available for
+ testing in this manner. 'Earlier' means that they were
+ defined at a broader scope (such as server-wide) or
+ previously in the current directive's scope.</strong>
+ </blockquote>
+
+ <p>Example:</p>
+<pre>
+ SetEnvIf Request_URI "\.gif$" object_is_image=gif
+ SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+ :
+ SetEnvIf Referer www\.mydomain\.com intra_site_referral
+ :
+ SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+
+</pre>
+
+ <p>The first three will set the environment variable
+ <samp>object_is_image</samp> if the request was for an image
+ file, and the fourth sets <samp>intra_site_referral</samp> if
+ the referring page was somewhere on the
+ <samp>www.mydomain.com</samp> Web site.</p>
+ <hr />
+ <!-- the HR is part of the directive description -->
+
+ <h2><a id="SetEnvIfNoCase" name="SetEnvIfNoCase">SetEnvIfNoCase
+ directive</a></h2>
+
+ <p><a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> SetEnvIfNoCase
+ <em>attribute regex env-variable</em>[=<em>value</em>]
+ [<em>env-variable</em>[=<em>value</em>]] ...<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> <em>none</em><br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config, virtual
+ host, directory, .htaccess<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> FileInfo<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_setenvif<br />
+ <a href="directive-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3 and
+ above; the Request_Protocol keyword and environment-variable
+ matching are only available with 1.3.7 and later; use in
+ .htaccess files only supported with 1.3.13 and later</p>
+
+ <p>The <samp>SetEnvIfNoCase</samp> is semantically identical to
+ the <a href="#SetEnvIf"><samp>SetEnvIf</samp></a> directive,
+ and differs only in that the regular expression matching is
+ performed in a case-insensitive manner. For example:</p>
+<pre>
+ SetEnvIfNoCase Host Apache\.Org site=apache
+
+</pre>
+
+ <p>This will cause the <samp>site</samp> environment variable
+ to be set to "<samp>apache</samp>" if the HTTP request header
+ field <samp>Host:</samp> was included and contained
+ <samp>Apache.Org</samp>, <samp>apache.org</samp>, or any other
+ combination.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis
new file mode 100644
index 00000000000..71cd67cbb60
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/mod/mod_setenvif.html.ja.jis
@@ -0,0 +1,431 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+ <title>Apache module mod_setenvif</title>
+ </head>
+<!-- English revision: 1.15 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+ >
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+ <h1 align="CENTER">mod_setenvif $B%b%8%e!<%k(B</h1>
+ <p>
+ $B$3$N%b%8%e!<%k$O!"%j%/%(%9%H$NB0@-$K4p$E$$$F4D6-JQ?t$r@_Dj$9$k5!G=$r(B
+ $BDs6!$7$^$9!#(B
+ </p>
+
+<p><a
+href="module-dict.html#Status"
+rel="Help"
+><strong>$B%9%F!<%?%9(B:</strong></a> Base
+<br>
+<a
+href="module-dict.html#SourceFile"
+rel="Help"
+><strong>$B%=!<%9%U%!%$%k(B:</strong></a> mod_setenvif.c
+<br>
+<a
+href="module-dict.html#ModuleIdentifier"
+rel="Help"
+><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> setenvif_module
+<br>
+<a
+href="module-dict.html#Compatibility"
+rel="Help"
+><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B0J9_$G;HMQ2DG=!#(B</p>
+
+ <h2>$B35MW(B</h2>
+ <p>
+ <samp>mod_setenvif</samp> $B%b%8%e!<%k$O!"%j%/%(%9%H$N$"$kB&LL$,(B
+ $B;XDj$5$l$?(B<a href="../misc/FAQ.html#regex">$B@55,I=8=(B</a>$B$K9g$&$+(B
+ $B$I$&$+$K$h$C$F4D6-JQ?t$r@_Dj$9$k5!G=$rDs6!$7$^$9!#(B
+ $B$3$l$i$N4D6-JQ?t$r;HMQ$7$F!"%5!<%P$NB>$NItJ,$,$I$N$h$&$JF0:n$r$9$k$+$r7hDj$9$k(B
+ $B$3$H$,$G$-$^$9!#(B
+ </p>
+ <p>$B$3$N%b%8%e!<%k$,Ds6!$9$k%G%#%l%/%F%#%V$O!"@_Dj%U%!%$%k$K8=$l$k=gHV$KE,MQ$5$l$^$9!#(B
+ $B$=$l$r;H$C$F!"<!$NNc$N$h$&$K$h$jJ#;($J@_Dj$r$9$k$3$H$,$G$-$^$9!#$3$l$O!"(B
+ $B%V%i%&%6$,(B mozilla $B$G$O$"$k$1$l$I!"(BMSIE $B$G$O$J$$$H$-$K(B <code>netscape</code> $B$r(B
+ $B@_Dj$7$^$9!#(B
+ </p>
+
+ <blockquote><pre>
+ BrowserMatch ^Mozilla netscape
+ BrowserMatch MSIE !netscape
+ </pre></blockquote>
+
+ <p>$B>\:Y$O!"(B<a href="../env.html">Apache $B$N4D6-JQ?t(B</a>$B$r(B
+ $B;2>H$7$F$/$@$5$$!#(B</p>
+
+ <h2>$B%G%#%l%/%F%#%V(B</h2>
+ <ul>
+ <li><a href="#BrowserMatch">BrowserMatch</a>
+ </li>
+ <li><a href="#BrowserMatchNoCase">BrowserMatchNoCase</a>
+ </li>
+ <li><a href="#SetEnvIf">SetEnvIf</a>
+ </li>
+ <li><a href="#SetEnvIfNoCase">SetEnvIfNoCase</a>
+ </li>
+ </ul>
+
+ <hr> <!-- the HR is part of the directive description -->
+ <h2><a name="BrowserMatch">BrowserMatch $B%G%#%l%/%F%#%V(B</a></h2>
+ <p>
+ <a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+ ><strong>$B9=J8(B:</strong></a> BrowserMatch <em>regex
+ envar</em>[=<em>value</em>] [<em>envar</em>[=<em>value</em>]] ...
+ <br>
+ <a
+ href="directive-dict.html#Default"
+ rel="Help"
+ ><strong>$B%G%U%)%k%H(B:</strong></a> None
+ <br>
+ <a
+ href="directive-dict.html#Context"
+ rel="Help"
+ ><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess
+ <br>
+ <a
+ href="directive-dict.html#Override"
+ rel="help"
+ ><strong>$B>e=q$-(B:</strong></a> FileInfo
+ <br>
+ <a
+ href="directive-dict.html#Status"
+ rel="Help"
+ ><strong>$B%9%F!<%?%9(B:</strong></a> Base
+ <br>
+ <a
+ href="directive-dict.html#Module"
+ rel="Help"
+ ><strong>$B%b%8%e!<%k(B:</strong></a> mod_setenvif
+ <br>
+ <a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+ ><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B0J>e(B ($B$3$N%G%#%l%/%F%#%V$O(B
+ Apache 1.2 $B$G$O!":#$G$O(B obsolete $B$K$J$C$F$$$k(B mod_browser $B%b%8%e!<%k$K(B
+ $B$"$j$^$7$?(B)$B!#(B.htaccess $B%U%!%$%k$G$N;HMQ$O(B 1.3.13 $B0J9_$G$N$_%5%]!<%H!#(B
+ </p>
+ <p>
+ BrowserMatch $B%G%#%l%/%F%#%V$O!"(BHTTP $B%j%/%(%9%H$N(B <samp>User-Agent</samp>
+ $B%X%C%@%U%#!<%k%I$K4p$E$$$F4D6-JQ?t$r@_Dj$7$^$9!#:G=i$N0z?t$O(B POSIX.2
+ $B3HD%@55,I=8=(B (<samp>egrep</samp> $B7A<0$N@55,I=8=$H;w$?$b$N(B) $B$G$9!#(B
+ $B;D$j$N0z?t$O!"@_Dj$r$9$kJQ?tL>$H$=$NCM$G!"8e<T$O>JN,2DG=$G$9!#(B
+ $B$3$l$i$O0J2<$N7A<0$K$J$j$^$9!#(B
+ </p>
+ <ol>
+ <li><samp><em>varname</em></samp>
+ </li>
+ <li><samp>!<em>varname</em></samp>
+ </li>
+ <li><samp><em>varname</em>=<em>value</em></samp>
+ </li>
+ </ol>
+ <p>
+ $B:G=i$N7A<0$G$O!"CM$O(B &quot;1&quot; $B$K@_Dj$5$l$^$9!#(B2 $BHVL\$OJQ?t$,(B
+ $B4{$KDj5A$5$l$F$$$?>l9g!"$=$l$r:o=|$7$^$9!#(B3 $BHVL\$OJQ?t$NCM$r(B
+ <samp><em>value</em></samp> $B$K@_Dj$7$^$9!#(B<samp>User-Agent</samp>
+ $B%U%#!<%k%I$NJ8;zNs$,J#?t$N%(%s%H%j$K%^%C%A$7$?>l9g$O!"$=$N7k2L$,(B
+ $B$^$H$a$i$l$^$9!#%(%s%H%j$O8=$l$?=g$K=hM}$5$l!"8e$N%(%s%H%j$,A0$N$b$N$r(B
+ $B>e=q$-$7$^$9!#(B
+ </p>
+ <p>
+ $BNc(B:
+ </p>
+ <pre>
+ BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
+ BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
+ BrowserMatch MSIE !javascript
+ </pre>
+ <p>
+ $B@55,I=8=$NJ8;zNs$O(B<strong>$BBgJ8;z>.J8;z$r6hJL$9$k(B</strong>$B$3$H$K(B
+ $BCm0U$7$F$/$@$5$$!#BgJ8;z>.J8;z$r6hJL$7$J$$%^%C%A$O(B
+ <a
+ href="#BrowserMatchNoCase"
+ ><samp>BrowserMatchNoCase</samp></a>
+ $B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$!#(B
+ </p>
+ <P>
+ <samp>BrowserMatch</samp> $B%G%#%l%/%F%#%V$H(B <samp>BrowserMatchNoCase</samp>
+ $B%G%#%l%/%F%#%V$O(B
+ <a
+ href="#SetEnvIf"
+ ><samp>SetEnvIf</samp></a>
+ $B%G%#%l%/%F%#%V$H(B
+ <a
+ href="#SetEnvIfNoCase"
+ ><samp>SetEnvIfNoCase</samp></a>
+ $B%G%#%l%/%F%#%V$NFCJL$J%1!<%9$G$9!#0J2<$N(B 2 $B9T$OF1$88z2L$K$J$j$^$9(B:
+ </p>
+ <pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+ </pre>
+
+ <hr> <!-- the HR is part of the directive description -->
+ <h2>
+ <a name="BrowserMatchNoCase">BrowserMatchNoCase $B%G%#%l%/%F%#%V(B
+ </a>
+ </h2>
+ <p>
+ <a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+ ><strong>$B9=J8(B:</strong></a> BrowserMatchNoCase <em>regex
+ envar</em>[=<em>value</em>] [<em>envar</em>[=<em>value</em>]] ...
+ <br>
+ <a
+ href="directive-dict.html#Default"
+ rel="Help"
+ ><strong>$B%G%U%)%k%H(B:</strong></a> <em>none</em>
+ <br>
+ <a
+ href="directive-dict.html#Context"
+ rel="Help"
+ ><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess
+ <br>
+ <a
+ href="directive-dict.html#Override"
+ rel="Help"
+ ><strong>$B>e=q$-(B:</strong></a> FileInfo
+ <br>
+ <a
+ href="directive-dict.html#Status"
+ rel="Help"
+ ><strong>$B%9%F!<%?%9(B:</strong></a> Base
+ <br>
+ <a
+ href="directive-dict.html#Module"
+ rel="Help"
+ ><strong>$B%b%8%e!<%k(B:</strong></a> mod_setenvif
+ <br>
+ <a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+ ><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B0J>e(B ($B$3$N%G%#%l%/%F%#%V$O(B
+ Apache 1.2 $B$G$O!":#$G$O(B obsolete $B$K$J$C$F$$$k(B mod_browser $B%b%8%e!<%k$K(B
+ $B$"$j$^$7$?(B)$B!#(B.htaccess $B%U%!%$%k$G$N;HMQ$O(B 1.3.13 $B0J9_$G$N$_%5%]!<%H!#(B
+ </p>
+ <p>
+ <samp>BrowserMatchNoCase</samp> $B%G%#%l%/%F%#%V$O!"0UL#E*$K$O(B
+ <a
+ href="#BrowserMatch"
+ ><samp>BrowserMatch</samp></a>
+ $B%G%#%l%/%F%#%V$H$[$H$s$IF1$8$G$9!#0c$&E@$O!"BgJ8;z>.J8;z$r6hJL$7$J$$$G(B
+ $B%^%C%A$r9T$J$&$3$H$G$9!#Nc(B:
+ </p>
+ <pre>
+ BrowserMatchNoCase mac platform=macintosh
+ BrowserMatchNoCase win platform=windows
+ </pre>
+ <p>
+ <samp>BrowserMatch</samp> $B%G%#%l%/%F%#%V$H(B <samp>BrowserMatchNoCase</samp>
+ $B%G%#%l%/%F%#%V$O(B
+ <a
+ href="#SetEnvIf"
+ ><samp>SetEnvIf</samp></a>
+ $B%G%#%l%/%F%#%V$H(B
+ <a
+ href="#SetEnvIfNoCase"
+ ><samp>SetEnvIfNoCase</samp></a>
+ $B%G%#%l%/%F%#%V$NFCJL$J%1!<%9$G$9!#0J2<$N(B 2 $B9T$OF1$88z2L$K$J$j$^$9(B:
+ </p>
+ <pre>
+ BrowserMatchNoCase Robot is_a_robot
+ SetEnvIfNoCase User-Agent Robot is_a_robot
+ </pre>
+
+ <hr> <!-- the HR is part of the directive description -->
+ <h2>
+ <a name="SetEnvIf">SetEnvIf $B%G%#%l%/%F%#%V(B
+ </a>
+ </h2>
+ <p>
+ <a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+ ><strong>$B9=J8(B:</strong></a> SetEnvIf <em> attribute regex
+ envar</em>[=<em>value</em>] [<em>envar</em>[=<em>value</em>]] ...
+ <br>
+ <a
+ href="directive-dict.html#Default"
+ rel="Help"
+ ><strong>$B%G%U%)%k%H(B:</strong></a> <em>none</em>
+ <br>
+ <a
+ href="directive-dict.html#Context"
+ rel="Help"
+ ><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess
+ <br>
+ <a
+ href="directive-dict.html#Override"
+ rel="Help"
+ ><strong>$B>e=q$-(B:</strong></a> FileInfo
+ <br>
+ <a
+ href="directive-dict.html#Status"
+ rel="Help"
+ ><strong>$B%9%F!<%?%9(B:</strong></a> Base
+ <br>
+ <a
+ href="directive-dict.html#Module"
+ rel="Help"
+ ><strong>$B%b%8%e!<%k(B:</strong></a> mod_setenvif
+ <br>
+ <a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+ ><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B0J>e!#(BRequest_Protocol $B%-!<%o!<%I$H(B
+ $B4D6-JQ?t$N%^%C%A$O(B 1.3.7 $B0J9_$G$N$_;HMQ2DG=!#(B.htaccess $B%U%!%$%k$G$N;HMQ$O(B
+ 1.3.13 $B0J9_$G$N$_%5%]!<%H!#(B
+ </p>
+ <p>
+ <samp>SetEnvIf</samp> $B%G%#%l%/%F%#%V$O!"%j%/%(%9%H$NB0@-$K4p$E$$$F(B
+ $B4D6-JQ?t$rDj5A$7$^$9!#$3$l$i$NB0@-$O!"(BHTTP $B%j%/%(%9%H$N$$$m$$$m$J%X%C%@(B
+ $B%U%#!<%k%I(B ($B>\$7$$>pJs$O(B <a
+ href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a> $B$r;2>H(B
+ $B$7$F$/$@$5$$(B) $B$+!"0J2<$N$h$&$J!"%j%/%(%9%H$NB>$NB&LL$G$"$k$3$H$,$G$-$^$9!#(B
+ </p>
+ <ul>
+ <li><samp>Remote_Host</samp> - $B%j%/%(%9%H$r9T$J$C$F$$$k%/%i%$%"%s%H$N(B
+ $B%[%9%HL>(B ($B$b$7$"$l$P(B)
+ </li>
+ <li><samp>Remote_Addr</samp> - $B%j%/%(%9%H$r9T$J$C$F$$$k%/%i%$%"%s%H$N(B
+ IP $B%"%I%l%9(B
+ </li>
+ <li><samp>Remote_User</samp> - $BG'>Z$5$l$?%f!<%6L>(B ($B$b$7$"$l$P(B)
+ </li>
+ <li><samp>Request_Method</samp> - $B;HMQ$5$l$F$$$k%a%=%C%IL>(B
+ (<samp>GET</samp>, <samp>POST</samp> <em>$B$J$I(B</em>)
+ </li>
+ <li><samp>Request_Protocol</samp> - $B%j%/%(%9%H$,9T$J$o$l$?%W%m%H%3%k$N(B
+ $BL>A0$H%P!<%8%g%s(B (<em>$BNc$($P(B</em>$B!"(B"HTTP/0.9", "HTTP/1.1"
+ <em>$B$J$I!#(B</em>)
+ </li>
+ <li><samp>Request_URI</samp> - URL $B$N%9%-!<%`$H%[%9%H$N8e$NItJ,(B
+ </li>
+ </ul>
+ <p>
+ $B$h$/;H$o$l$k%j%/%(%9%H$N%X%C%@%U%#!<%k%I$K$O(B
+ <samp>Host</samp>, <samp>User-Agent</samp>, <samp>Referer</samp>
+ $B$,$"$j$^$9!#(B
+ </p>
+ <p>
+ $BB0@-L>(B <em>attribute</em> $B$,FCJL$J%-!<%o!<%I$d%j%/%(%9%H$N%X%C%@%U%#!<%k%IL>$K(B
+ $B%^%C%A$7$J$$$H$-$O!"%j%/%(%9%H$K4XO"IU$1$i$l$?%j%9%H$K$"$k4D6-JQ?t$N(B
+ $BL>A0$H$7$F;n$5$l$^$9!#$3$l$K$h$j!"(B<code>SetEnvIf</code> $B%G%#%l%/%F%#%V$,(B
+ $BA0$N%^%C%A$N7k2L$r;HMQ$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B
+ </p>
+ <blockquote>
+ <strong>$BA0$N(B <code>SetEnvIf[NoCase]</code> $B$GDj5A$5$l$?4D6-JQ?t$N$_$r(B
+ $B$3$NJ}K!$GD4$Y$k$3$H$,$G$-$^$9!#!VA0!W$H$$$&$N$O(B ($B%5!<%PA4BN!"$N$h$&$J(B)
+ $B$h$j9-$$%9%3!<%W$GDj5A$5$l$?$+!"8=%G%#%l%/%F%#%V$N%9%3!<%W$NCf$NA0$NJ}$G(B
+ $BDj5A$5$l$?$H$$$&0UL#$G$9!#(B
+ </strong>
+ </blockquote>
+ <p>
+ $BNc(B:
+ </p>
+ <pre>
+ SetEnvIf Request_URI "\.gif$" object_is_image=gif
+ SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
+ SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
+ :
+ SetEnvIf Referer www\.mydomain\.com intra_site_referral
+ :
+ SetEnvIf object_is_image xbm XBIT_PROCESSING=1
+ </pre>
+ <p>
+ $B@hF,$N;0$D$O%j%/%(%9%H$,2hA|%U%!%$%k$N$H$-$K!"4D6-JQ?t(B
+ <samp>object_is_image</samp> $B$r@_Dj$7$^$9!#(B4 $BHVL\$O;2>H85$N%Z!<%8$,(B
+ <samp>www.mydomain.com</samp> $B%&%'%V%5%$%H$N$I$3$+$K$"$k>l9g$K(B
+ <samp>intra_site_referral</samp> $B$r@_Dj$7$^$9!#(B
+ </p>
+
+ <hr> <!-- the HR is part of the directive description -->
+ <h2>
+ <a name="SetEnvIfNoCase">SetEnvIfNoCase $B%G%#%l%/%F%#%V(B
+ </a>
+ </h2>
+ <p>
+ <a
+ href="directive-dict.html#Syntax"
+ rel="Help"
+ ><strong>$B9=J8(B:</strong></a> SetEnvIfNoCase <em> attribute regex
+ envar</em>[=<em>value</em>] [<em>envar</em>[=<em>value</em>]] ...
+ <br>
+ <a
+ href="directive-dict.html#Default"
+ rel="Help"
+ ><strong>$B%G%U%)%k%H(B:</strong></a> <em>none</em>
+ <br>
+ <a
+ href="directive-dict.html#Context"
+ rel="Help"
+ ><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B
+ $B%G%#%l%/%H%j!"(B.htaccess
+ <br>
+ <a
+ href="directive-dict.html#Override"
+ rel="Help"
+ ><strong>$B>e=q$-(B:</strong></a> FileInfo
+ <br>
+ <a
+ href="directive-dict.html#Status"
+ rel="Help"
+ ><strong>$B%9%F!<%?%9(B:</strong></a> Base
+ <br>
+ <a
+ href="directive-dict.html#Module"
+ rel="Help"
+ ><strong>$B%b%8%e!<%k(B:</strong></a> mod_setenvif
+ <br>
+ <a
+ href="directive-dict.html#Compatibility"
+ rel="Help"
+ ><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B0J>e!#(BRequest_Protocol $B%-!<%o!<%I$H(B
+ $B4D6-JQ?t$N%^%C%A$O(B 1.3.7 $B0J9_$G$N$_;HMQ2DG=!#(B.htaccess $B%U%!%$%k$G$N;HMQ$O(B
+ 1.3.13 $B0J9_$G$N$_%5%]!<%H!#(B
+ </p>
+ <p>
+ <samp>SetEnvIfNoCase</samp> $B$O!"0UL#E*$K$O(B
+ <a
+ href="#SetEnvIf"
+ ><samp>SetEnvIf</samp></a>
+ $B$H$[$H$s$IF1$8$G$9!#0c$$$O@55,I=8=$N%^%C%A$,BgJ8;z>.J8;z$r6hJL$7$J$$$G(B
+ $B9T$J$o$l$k$3$H$G$9!#Nc$($P(B:
+ </p>
+ <pre>
+ SetEnvIfNoCase Host Apache\.Org site=apache
+ </pre>
+ <p>
+ $B$3$l$O!"(BHTTP $B%j%/%(%9%H$N(B <samp>Host:</samp> $B%X%C%@%U%#!<%k%I$,$"$j!"(B
+ $B$=$NCM$,(B <samp>Apache.org</samp>, <samp>apache.org</samp> $B$d$=$NB>$N(B
+ $BBgJ8;z>.J8;z$NAH$_9g$o$;$G$"$C$?$H$-$K!"4D6-JQ?t(B <samp>site</samp> $B$r(B
+ &quot;<samp>apache</samp>&quot; $B$K@_Dj$7$^$9!#(B
+ </p>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/programs/index.html.en b/usr.sbin/httpd/htdocs/manual/programs/index.html.en
new file mode 100644
index 00000000000..330876ed88e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/programs/index.html.en
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache HTTP Server and Supporting Programs</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="center">Server and Supporting Programs</h1>
+
+ <p>This page documents all the executable programs included
+ with the Apache HTTP Server.</p>
+
+ <dl>
+ <dt><a href="httpd.html">httpd</a></dt>
+
+ <dd>Apache hypertext transfer protocol server</dd>
+
+ <dt><a href="apachectl.html">apachectl</a></dt>
+
+ <dd>Apache HTTP server control interface</dd>
+
+ <dt><a href="ab.html">ab</a></dt>
+
+ <dd>Apache HTTP server benchmarking tool</dd>
+
+ <dt><a href="apxs.html">apxs</a></dt>
+
+ <dd>APache eXtenSion tool</dd>
+
+ <dt><a href="dbmmanage.html">dbmmanage</a></dt>
+
+ <dd>Create and update user authentication files in DBM format
+ for basic authentication</dd>
+
+ <dt><a href="htdigest.html">htdigest</a></dt>
+
+ <dd>Create and update user authentication files for digest
+ authentication</dd>
+
+ <dt><a href="htpasswd.html">htpasswd</a></dt>
+
+ <dd>Create and update user authentication files for basic
+ authentication</dd>
+
+ <dt><a href="logresolve.html">logresolve</a></dt>
+
+ <dd>Resolve hostnames for IP-addresses in Apache
+ logfiles</dd>
+
+ <dt><a href="rotatelogs.html">rotatelogs</a></dt>
+
+ <dd>Rotate Apache logs without having to kill the server</dd>
+
+ <dt><a href="suexec.html">suexec</a></dt>
+
+ <dd>Switch User For Exec</dd>
+
+ <dt><a href="other.html">Other Programs</a></dt>
+ </dl>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/programs/index.html.html b/usr.sbin/httpd/htdocs/manual/programs/index.html.html
new file mode 100644
index 00000000000..83f1e5ec325
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/programs/index.html.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache HTTP Server and Supporting Programs</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="center">Server and Supporting Programs</h1>
+
+ <p>This page documents all the executable programs included
+ with the Apache HTTP Server.</p>
+
+ <dl>
+ <dt><a href="httpd.html">httpd</a></dt>
+
+ <dd>Apache hypertext transfer protocol server</dd>
+
+ <dt><a href="apachectl.html">apachectl</a></dt>
+
+ <dd>Apache HTTP server control interface</dd>
+
+ <dt><a href="ab.html">ab</a></dt>
+
+ <dd>Apache HTTP server benchmarking tool</dd>
+
+ <dt><a href="apxs.html">apxs</a></dt>
+
+ <dd>APache eXtenSion tool</dd>
+
+ <dt><a href="dbmmanage.html">dbmmanage</a></dt>
+
+ <dd>Create and update user authentication files in DBM format
+ for basic authentication</dd>
+
+ <dt><a href="htdigest.html">htdigest</a></dt>
+
+ <dd>Create and update user authentication files for digest
+ authentication</dd>
+
+ <dt><a href="htpasswd.html">htpasswd</a></dt>
+
+ <dd>Create and update user authentication files for basic
+ authentication</dd>
+
+ <dt><a href="logresolve.html">logresolve</a></dt>
+
+ <dd>Resolve hostnames for IP-addresses in Apache
+ logfiles</dd>
+
+ <dt><a href="rotatelogs.html">rotatelogs</a></dt>
+
+ <dd>Rotate Apache logs without having to kill the server</dd>
+
+ <dt><a href="suexec.html">suexec</a></dt>
+
+ <dd>Switch User For Exec</dd>
+
+ <dt><a href="other.html">Other Programs</a></dt>
+ </dl>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/programs/index.html.ja.jis b/usr.sbin/httpd/htdocs/manual/programs/index.html.ja.jis
new file mode 100644
index 00000000000..2e90a058864
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/programs/index.html.ja.jis
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+ <title>Apache HTTP Server and Supporting Programs</title>
+ </head>
+<!-- English revision: 1.2 -->
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body
+ bgcolor="#ffffff"
+ text="#000000"
+ link="#0000ff"
+ vlink="#000080"
+ alink="#ff0000"
+ >
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+
+ <h1 align="center">$B%5!<%P$H%5%]!<%H%W%m%0%i%`(B</h1>
+
+<p>$B$3$N%Z!<%8$G$O!"(BApache HTTP $B%5!<%P$H$H$b$KDs6!$5$l$F$$$k<B9T%W%m%0%i%`$r(B
+$BA4$F:\$;$F$$$^$9!#(B</p>
+
+<dl>
+
+ <dt><a href="httpd.html">httpd</a></dt>
+ <dd>Apache HTTP $B%5!<%P(B</dd>
+
+ <dt><a href="apachectl.html">apachectl</a></dt>
+ <dd>Apache HTTP $B%5!<%P%3%s%H%m!<%k%$%s%?!<%U%'!<%9(B</dd>
+
+ <dt><a href="ab.html">ab</a></dt>
+ <dd>Apache HTTP $B%5!<%P%Y%s%A%^!<%/%D!<%k(B</dd>
+
+ <dt><a href="apxs.html">apxs</a></dt>
+ <dd>APache $B3HD%%D!<%k(B</dd>
+
+ <dt><a href="dbmmanage.html">dbmmanage</a></dt>
+ <dd>Basic $BG'>Z$K$*$$$FMxMQ$9$k(B DBM $B=q<0$G$N%f!<%6G'>ZMQ(B
+$B%U%!%$%k$N:n@.$H99?7(B</dd>
+
+ <dt><a href="htdigest.html">htdigest</a></dt>
+ <dd>Digest $BG'>Z$K$*$$$FMxMQ$9$k%f!<%6G'>ZMQ%U%!%$%k$N:n@.$H99?7(B</dd>
+
+ <dt><a href="htpasswd.html">htpasswd</a></dt>
+ <dd>Basic $BG'>Z$K$*$$$FMxMQ$9$k%f!<%6G'>ZMQ%U%!%$%k$N:n@.$H99?7(B</dd>
+
+ <dt><a href="logresolve.html">logresolve</a></dt>
+ <dd>Apache $B%m%0%U%!%$%kFb$K$*$1$k(B IP $B%"%I%l%9$N%[%9%HL>2r7h(B</dd>
+
+ <dt><a href="rotatelogs.html">rotatelogs</a></dt>
+ <dd>$B%5!<%P$r%-%k$7$J$$$G(B Apache $B%m%0$r%m!<%F!<%H$9$k(B</dd>
+
+ <dt><a href="suexec.html">suexec</a></dt>
+ <dd>Apache $B$,(B Exec $B$9$k:]$N%f!<%6@ZBX(B</dd>
+
+ <dt><a href="other.html">$B$=$NB>$N%W%m%0%i%`(B</a></dt>
+
+</dl>
+
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+
+ </body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/sitemap.html b/usr.sbin/httpd/htdocs/manual/sitemap.html
new file mode 100644
index 00000000000..3551206dee0
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/sitemap.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Site Map</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Site Map</h1>
+
+<ul>
+<li><a href="index.html">Apache HTTP Server Version 1.3 Documentation</a>
+<ul>
+
+<li>Release Notes
+<ul>
+<li><a href="upgrading_to_1_3.html">Upgrading to 1.3 from 1.2</a></li>
+<li><a href="new_features_1_3.html">New features with Apache 1.3</a></li>
+</ul></li>
+
+<li>Using the Apache HTTP Server
+<ul>
+<li><a href="install.html">Compiling and Installing Apache</a></li>
+<li><a href="invoking.html">Starting Apache</a></li>
+<li><a href="stopping.html">Stopping and Restarting Apache</a></li>
+<li><a href="configuring.html">Configuration Files</a></li>
+<li><a href="sections.html">How Directory, Location and Files sections work</a></li>
+<li><a href="server-wide.html">Server-Wide Configuration</a></li>
+<li><a href="logs.html">Log Files</a></li>
+<li><a href="urlmapping.html">Mapping URLs to Filesystem Locations</a></li>
+<li><a href="misc/security_tips.html">Security Tips</a></li>
+<li><a href="dso.html">Dynamic Shared Object (DSO) support</a></li>
+<li><a href="content-negotiation.html">Apache Content Negotiation</a></li>
+<li><a href="custom-error.html">Custom error responses</a></li>
+<li><a href="bind.html">Setting which addresses and ports Apache uses</a></li>
+<li><a href="env.html">Environment Variables in Apache</a></li>
+<li><a href="handler.html">Apache's Handler Use</a></li>
+<li><a href="suexec.html">suEXEC Support</a></li>
+<li><a href="misc/perf-tuning.html">Performance Hints</a></li>
+<li><a href="misc/rewriteguide.html">URL Rewriting Guide</a></li>
+</ul></li>
+
+<li><a href="vhosts/">Apache Virtual Host documentation</a>
+<ul>
+<li><a href="vhosts/name-based.html">Name-based Virtual Hosts</a></li>
+<li><a href="vhosts/ip-based.html">IP-based Virtual Host Support</a></li>
+<li><a href="vhosts/mass.html">Dynamically configured mass virtual hosting</a></li>
+<li><a href="vhosts/examples.html">VirtualHost Examples</a></li>
+<li><a href="vhosts/details.html">An In-Depth Discussion of Virtual Host Matching</a></li>
+<li><a href="vhosts/fd-limits.html">File Descriptor Limits with Virtual Hosts</a></li>
+<li><a href="dns-caveats.html">Issues Regarding DNS and Apache</a></li>
+</ul></li>
+
+<li><a href="misc/FAQ.html">Apache Server Frequently Asked Questions</a></li>
+
+<li>Guides, Tutorials, and HowTos
+<ul>
+<li><a href="howto/auth.html">Authentication, Authorization, and Access Control</a></li>
+<li><a href="howto/cgi.html">Apache Tutorial: Dynamic Content with CGI</a></li>
+<li><a href="howto/ssi.html">Apache Tutorial: Introduction to Server
+Side Includes</a></li>
+<li><a href="misc/howto.html">HOWTO documentation</a></li>
+<li><a href="misc/tutorials.html">Apache Tutorials</a></li>
+</ul></li>
+
+<li>Platform-specific Notes
+<ul>
+<li><a href="windows.html">Using Apache with Microsoft Windows</a></li>
+<li><a href="win_compiling.html">Compiling Apache for Microsoft Windows</a></li>
+<li><a href="win_service.html">Running Apache for Windows as a Service</a></li>
+<li><a href="cygwin.html">Using Apache with Cygwin</a></li>
+<li><a href="ebcdic.html">The Apache EBCDIC Port</a></li>
+<li><a href="readme-tpf.html">The Apache TPF Port</a></li>
+<li><a href="install-tpf.html">Installing Apache on TPF</a></li>
+<li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li>
+<li><a href="netware.html">Using Apache with Novell NetWare</a></li>
+<li><a href="unixware.html">Compiling Apache under UnixWare</a></li>
+<li><a href="misc/perf-bsd44.html">Running a High-Performance Web Server for BSD</a></li>
+<li><a href="misc/perf-dec.html">Performance Tuning Tips for Digital Unix</a></li>
+<li><a href="misc/perf-hp.html">Running a High-Performance Web Server on HPUX</a></li>
+<li><a href="misc/perf.html">Hints on Running a High-Performance Web Server</a></li>
+</ul></li>
+
+<li><a href="programs/">Apache HTTP Server and Supporting Programs</a>
+<ul>
+<li><a href="programs/httpd.html">Manual Page: httpd - Apache HTTP Server</a></li>
+<li><a href="programs/apxs.html">Manual Page: apxs - Apache HTTP Server</a></li>
+<li><a href="programs/ab.html">Manual Page: ab - Apache HTTP Server</a></li>
+<li><a href="programs/apachectl.html">Manual Page: apachectl - Apache HTTP Server</a></li>
+<li><a href="programs/dbmmanage.html">Manual Page: dbmmanage - Apache HTTP Server</a></li>
+<li><a href="programs/htdigest.html">Manual Page: htdigest - Apache HTTP Server</a></li>
+<li><a href="programs/htpasswd.html">Manual Page: htpasswd - Apache HTTP Server</a></li>
+<li><a href="programs/logresolve.html">Manual Page: logresolve - Apache HTTP Server</a></li>
+<li><a href="programs/rotatelogs.html">Manual Page: rotatelogs - Apache HTTP Server</a></li>
+<li><a href="programs/suexec.html">Manual Page: suexec - Apache HTTP Server</a></li>
+<li><a href="programs/other.html">Other Programs - Apache HTTP Server</a></li>
+</ul></li>
+
+<li><a href="mod/">Apache modules</a>
+<ul>
+<li><a href="mod/index-bytype.html">Apache modules - By Type</a></li>
+<li><a href="mod/directives.html">Apache directives</a></li>
+<li><a href="mod/directive-dict.html">Definitions of terms used to describe Apache directives</a></li>
+<li><a href="mod/module-dict.html">Definitions of terms used to describe Apache modules</a></li>
+<li><a href="mod/core.html">Apache Core Features</a></li>
+<li><a href="mod/mod_access.html">Apache module mod_access</a></li>
+<li><a href="mod/mod_actions.html">Apache module mod_actions</a></li>
+<li><a href="mod/mod_alias.html">Apache module mod_alias</a></li>
+<li><a href="mod/mod_asis.html">Apache module mod_asis</a></li>
+<li><a href="mod/mod_auth.html">Apache module mod_auth</a></li>
+<li><a href="mod/mod_auth_anon.html">Apache module mod_auth_anon.c</a></li>
+<li><a href="mod/mod_auth_db.html">Apache module mod_auth_db</a></li>
+<li><a href="mod/mod_auth_dbm.html">Apache module mod_auth_dbm</a></li>
+<li><a href="mod/mod_auth_digest.html">Apache module mod_auth_digest</a></li>
+<li><a href="mod/mod_autoindex.html">Apache module mod_autoindex</a></li>
+<li><a href="mod/mod_cern_meta.html">Apache module mod_cern_meta</a></li>
+<li><a href="mod/mod_cgi.html">Apache module mod_cgi</a></li>
+<li><a href="mod/mod_digest.html">Apache module mod_digest</a></li>
+<li><a href="mod/mod_dir.html">Apache module mod_dir</a></li>
+<li><a href="mod/mod_env.html">Apache module mod_env</a></li>
+<li><a href="mod/mod_example.html">Apache module mod_example</a></li>
+<li><a href="mod/mod_expires.html">Apache module mod_expires</a></li>
+<li><a href="mod/mod_headers.html">Apache module mod_headers</a></li>
+<li><a href="mod/mod_imap.html">Apache module mod_imap</a></li>
+<li><a href="mod/mod_include.html">Apache module mod_include</a></li>
+<li><a href="mod/mod_info.html">Apache module mod_info</a></li>
+<li><a href="mod/mod_isapi.html">Apache module mod_isapi</a></li>
+<li><a href="mod/mod_log_agent.html">Apache module mod_log_agent</a></li>
+<li><a href="mod/mod_log_config.html">Apache module mod_log_config</a></li>
+<li><a href="mod/mod_log_referer.html">Apache module mod_log_referer</a></li>
+<li><a href="mod/mod_mime.html">Apache module mod_mime</a></li>
+<li><a href="mod/mod_mime_magic.html">Apache module mod_mime_magic</a></li>
+<li><a href="mod/mod_mmap_static.html">Apache module mod_mmap_static</a></li>
+<li><a href="mod/mod_negotiation.html">Apache module mod_negotiation</a></li>
+<li><a href="mod/mod_proxy.html">Apache module mod_proxy</a></li>
+<li><a href="mod/mod_rewrite.html">Apache module mod_rewrite</a></li>
+<li><a href="mod/mod_setenvif.html">Apache module mod_setenvif</a></li>
+<li><a href="mod/mod_so.html">Apache module mod_so</a></li>
+<li><a href="mod/mod_speling.html">Apache module mod_speling</a></li>
+<li><a href="mod/mod_status.html">Apache module mod_status</a></li>
+<li><a href="mod/mod_unique_id.html">Apache module mod_unique_id</a></li>
+<li><a href="mod/mod_userdir.html">Apache module mod_userdir</a></li>
+<li><a href="mod/mod_usertrack.html">Apache module mod_usertrack</a></li>
+<li><a href="mod/mod_vhost_alias.html">Apache module mod_vhost_alias</a></li>
+</ul></li>
+
+<li><a href="misc/API.html">Apache API notes</a></li>
+
+<li><a href="misc/">Older Documentation</a>
+<ul>
+<li><a href="cgi_path.html">PATH_INFO Changes in the CGI Environment</a></li>
+<li><a href="keepalive.html">Apache Keep-Alive Support</a></li>
+<li><a href="multilogs.html">Apache Multiple Log Files</a></li>
+<li><a href="process-model.html">Server Pool Management</a></li>
+<li><a href="sourcereorg.html">Source Re-organisation</a></li>
+<li><a href="misc/compat_notes.html">Notes about Compatibility with NCSA's Server</a></li>
+<li><a href="misc/custom_errordocs.html">International Customized Server Error Messages</a></li>
+<li><a href="misc/descriptors.html">Descriptors and Apache</a></li>
+<li><a href="misc/fin_wait_2.html">Connections in FIN_WAIT_2 and Apache</a></li>
+<li><a href="misc/known_client_problems.html">Known Client Problems</a></li>
+<li><a href="misc/nopgp.html">Why We Took PEM Out of Apache</a></li>
+<li><a href="misc/vif-info.html">Configuring Multiple IP Addresses</a></li>
+<li><a href="misc/windoz_keepalive.html">MS Windows Netscape 3.0b4 KeepAlive problem solved</a></li>
+<li><a href="misc/client_block_api.html">Reading Client Input in Apache 1.2</a></li>
+</ul></li>
+
+</ul></li>
+</ul>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+
+ </body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/stopping.html.en b/usr.sbin/httpd/htdocs/manual/stopping.html.en
new file mode 100644
index 00000000000..9854a4b57b4
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/stopping.html.en
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Stopping and Restarting Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Stopping and Restarting Apache</h1>
+
+ <p>This document covers stopping and restarting Apache on Unix
+ and Cygwin only. Windows users should see <a
+ href="windows.html#signal">Signalling Apache when
+ running</a>.</p>
+
+ <p>You will notice many <code>httpd</code> executables running
+ on your system, but you should not send signals to any of them
+ except the parent, whose pid is in the <a
+ href="mod/core.html#pidfile">PidFile</a>. That is to say you
+ shouldn't ever need to send signals to any process except the
+ parent. There are three signals that you can send the parent:
+ <code>TERM</code>, <code>HUP</code>, and <code>USR1</code>,
+ which will be described in a moment.</p>
+
+ <p>To send a signal to the parent you should issue a command
+ such as:</p>
+
+ <blockquote>
+<pre>
+ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+ </blockquote>
+ You can read about its progress by issuing:
+
+ <blockquote>
+<pre>
+ tail -f /usr/local/apache/logs/error_log
+</pre>
+ </blockquote>
+ Modify those examples to match your <a
+ href="mod/core.html#serverroot">ServerRoot</a> and <a
+ href="mod/core.html#pidfile">PidFile</a> settings.
+
+ <p>As of Apache 1.3 we provide a script called <a
+ href="programs/apachectl.html">apachectl</a> which can be used
+ to start, stop, and restart Apache. It may need a little
+ customization for your system, see the comments at the top of
+ the script.</p>
+
+ <h3>TERM Signal: stop now</h3>
+
+ <p>Sending the <code>TERM</code> signal to the parent causes it
+ to immediately attempt to kill off all of its children. It may
+ take it several seconds to complete killing off its children.
+ Then the parent itself exits. Any requests in progress are
+ terminated, and no further requests are served.</p>
+
+ <h3>HUP Signal: restart now</h3>
+
+ <p>Sending the <code>HUP</code> signal to the parent causes it
+ to kill off its children like in <code>TERM</code> but the
+ parent doesn't exit. It re-reads its configuration files, and
+ re-opens any log files. Then it spawns a new set of children
+ and continues serving hits.</p>
+
+ <p>Users of the <a href="mod/mod_status.html">status module</a>
+ will notice that the server statistics are set to zero when a
+ <code>HUP</code> is sent.</p>
+
+ <p><strong>Note:</strong> If your configuration file has errors
+ in it when you issue a restart then your parent will not
+ restart, it will exit with an error. See below for a method of
+ avoiding this.</p>
+
+ <h3>USR1 Signal: graceful restart</h3>
+
+ <p><strong>Note:</strong> prior to release 1.2b9 this code is
+ quite unstable and shouldn't be used at all.</p>
+
+ <p>The <code>USR1</code> signal causes the parent process to
+ <em>advise</em> the children to exit after their current
+ request (or to exit immediately if they're not serving
+ anything). The parent re-reads its configuration files and
+ re-opens its log files. As each child dies off the parent
+ replaces it with a child from the new <em>generation</em> of
+ the configuration, which begins serving new requests
+ immediately.</p>
+
+ <p>This code is designed to always respect the <a
+ href="mod/core.html#maxclients">MaxClients</a>, <a
+ href="mod/core.html#minspareservers">MinSpareServers</a>, and
+ <a href="mod/core.html#maxspareservers">MaxSpareServers</a>
+ settings. Furthermore, it respects <a
+ href="mod/core.html#startservers">StartServers</a> in the
+ following manner: if after one second at least StartServers new
+ children have not been created, then create enough to pick up
+ the slack. This is to say that the code tries to maintain both
+ the number of children appropriate for the current load on the
+ server, and respect your wishes with the StartServers
+ parameter.</p>
+
+ <p>Users of the <a href="mod/mod_status.html">status module</a>
+ will notice that the server statistics are <strong>not</strong>
+ set to zero when a <code>USR1</code> is sent. The code was
+ written to both minimize the time in which the server is unable
+ to serve new requests (they will be queued up by the operating
+ system, so they're not lost in any event) and to respect your
+ tuning parameters. In order to do this it has to keep the
+ <em>scoreboard</em> used to keep track of all children across
+ generations.</p>
+
+ <p>The status module will also use a <code>G</code> to indicate
+ those children which are still serving requests started before
+ the graceful restart was given.</p>
+
+ <p>At present there is no way for a log rotation script using
+ <code>USR1</code> to know for certain that all children writing
+ the pre-restart log have finished. We suggest that you use a
+ suitable delay after sending the <code>USR1</code> signal
+ before you do anything with the old log. For example if most of
+ your hits take less than 10 minutes to complete for users on
+ low bandwidth links then you could wait 15 minutes before doing
+ anything with the old log.</p>
+
+ <p><strong>Note:</strong> If your configuration file has errors
+ in it when you issue a restart then your parent will not
+ restart, it will exit with an error. In the case of graceful
+ restarts it will also leave children running when it exits.
+ (These are the children which are "gracefully exiting" by
+ handling their last request.) This will cause problems if you
+ attempt to restart the server -- it will not be able to bind to
+ its listening ports. Before doing a restart, you can check the
+ syntax of the configuration files with the <code>-t</code>
+ command line argument (see <a
+ href="programs/httpd.html">httpd</a> ). This still will not
+ guarantee that the server will restart correctly. To check the
+ semantics of the configuration files as well as the syntax, you
+ can try starting httpd as a non-root user. If there are no
+ errors it will attempt to open its sockets and logs and fail
+ because it's not root (or because the currently running httpd
+ already has those ports bound). If it fails for any other
+ reason then it's probably a config file error and the error
+ should be fixed before issuing the graceful restart.</p>
+
+ <h3>Appendix: signals and race conditions</h3>
+
+ <p>Prior to Apache 1.2b9 there were several <em>race
+ conditions</em> involving the restart and die signals (a simple
+ description of race condition is: a time-sensitive problem, as
+ in if something happens at just the wrong time it won't behave
+ as expected). For those architectures that have the "right"
+ feature set we have eliminated as many as we can. But it should
+ be noted that there still do exist race conditions on certain
+ architectures.</p>
+
+ <p>Architectures that use an on disk <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a> have the
+ potential to corrupt their scoreboards. This can result in the
+ "bind: Address already in use" (after <code>HUP</code>) or
+ "long lost child came home!" (after <code>USR1</code>). The
+ former is a fatal error, while the latter just causes the
+ server to lose a scoreboard slot. So it might be advisable to
+ use graceful restarts, with an occasional hard restart. These
+ problems are very difficult to work around, but fortunately
+ most architectures do not require a scoreboard file. See the <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a>
+ documentation for a architecture uses it.</p>
+
+ <p><code>NEXT</code> and <code>MACHTEN</code> (68k only) have
+ small race conditions which can cause a restart/die signal to
+ be lost, but should not cause the server to do anything
+ otherwise problematic.
+ <!-- they don't have sigaction, or we're not using it -djg -->
+ </p>
+
+ <p>All architectures have a small race condition in each child
+ involving the second and subsequent requests on a persistent
+ HTTP connection (KeepAlive). It may exit after reading the
+ request line but before reading any of the request headers.
+ There is a fix that was discovered too late to make 1.2. In
+ theory this isn't an issue because the KeepAlive client has to
+ expect these events because of network latencies and server
+ timeouts. In practice it doesn't seem to affect anything either
+ -- in a test case the server was restarted twenty times per
+ second and clients successfully browsed the site without
+ getting broken images or empty documents.
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/stopping.html.fr b/usr.sbin/httpd/htdocs/manual/stopping.html.fr
new file mode 100644
index 00000000000..bac6ac71f08
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/stopping.html.fr
@@ -0,0 +1,261 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1" /><!-- Traduction anglais 1.18 -->
+
+ <title>Arr&ecirc;t et red&eacute;marrage d'Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Arr&ecirc;t et red&eacute;marrage
+ d'Apache</h1>
+
+ <p>Ce document d&eacute;crit l'arr&ecirc;t et le
+ red&eacute;marrage d'Apache sur Unix et Cygwin seulement. Les
+ utilisateurs de Windows sont invit&eacute;s &agrave; lire le
+ paragraphe <a href="windows.html#signal">signaler &agrave;
+ Apache en cours d'ex&eacute;cution</a>.</p>
+
+ <p>Lorsque qu'Apache s'ex&eacute;cute, vous pouvez noter que
+ plusieurs processus <code>httpd</code> s'ex&eacute;cutent en
+ m&ecirc;me temps sur votre machine, mais vous ne devez envoyer
+ de signaux qu'&agrave; celui dont l'identifiant de processus
+ est celui contenu dans le fichier <a
+ href="mod/core.html#pidfile">PidFile</a>. Autrement dit, vous
+ ne devez jamais envoyer de signaux aux processus
+ <code>httpd</code> autres que le processus p&egrave;re. Il
+ existe trois signaux que vous pouvez envoyer au processus
+ p&egrave;re : <code>TERM</code>, <code>HUP</code>, et
+ <code>USR1</code>, dont la signification est d&eacute;crite ci
+ dessous.</p>
+
+ <p>Pour envoyer un signal au p&egrave;re vous pouvez utiliser
+ une commande comme</p>
+
+ <blockquote>
+<pre>
+ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+ </blockquote>
+ Vous pouvez lire l'effet de la commande
+ pr&eacute;c&eacute;dente en effectuant la commande
+
+ <blockquote>
+<pre>
+ tail -f /usr/local/apache/logs/error_log
+</pre>
+ </blockquote>
+ Ces exemples devront &ecirc;tre modifi&eacute;s en fonction des
+ valeurs des directives <a
+ href="mod/core.html#serverroot">ServerRoot</a> et <a
+ href="mod/core.html#pidfile">PidFile</a>.
+
+ <p>Avec Apache 1.3 est fourni un script <a
+ href="programs/apachectl.html">apachectl</a> qui peut
+ &ecirc;tre employ&eacute; pour d&eacute;marrer, arr&ecirc;ter
+ et relancer Apache. Il peut n&eacute;cessiter un peu
+ d'adaptation pour votre syst&egrave;me, pour cela lisez les
+ commentaires situ&eacute;s au d&eacute;but de ce script.</p>
+
+ <h3>Signal TERM : arr&ecirc;t imm&eacute;diat</h3>
+
+ <p>L'envoi du signal <code>TERM</code> demande au processus
+ p&egrave;re d'essayer de tuer tous ses processus fils. Il peut
+ s'&eacute;couler quelques secondes avant que tous les processus
+ fils ne soient tu&eacute;s. Le processus p&egrave;re se termine
+ ensuite. Les requ&ecirc;tes en cours sont termin&eacute;es et
+ plus aucune requ&ecirc;te n'est trait&eacute;e.</p>
+
+ <h3>Signal HUP : red&eacute;marrage imm&eacute;diat</h3>
+
+ <p>L'envoi du signal <code>HUP</code> demande au processus
+ p&egrave;re de tuer tous ses processus fils, comme le signal
+ <code>TERM</code>, mais le processus p&egrave;re ne se termine
+ pas. Il relit ses fichiers de configuration, et rouvre les
+ fichiers de trace. Il lance ensuite un nouvel ensemble de
+ processus fils et continue de traiter les requ&ecirc;tes.</p>
+
+ <p>Les utilisateurs du module <a
+ href="mod/mod_status.html">status</a> noteront que les
+ statistiques du serveur sont r&eacute;initialis&eacute;es
+ &agrave; z&eacute;ro apr&egrave;s l'envoi du signal
+ <code>HUP</code>.</p>
+
+ <p><strong>Note:</strong> si votre fichier de configuration
+ contient des erreurs lorsque vous demandez un
+ red&eacute;marrage, le processus p&egrave;re ne se relancera
+ pas mais se terminera avec une erreur. Voir plus bas pour une
+ m&eacute;thode permettant d'&eacute;viter ce
+ probl&egrave;me.</p>
+
+ <h3>Signal USR1 : red&eacute;marrage en douceur</h3>
+
+ <p><strong>Note:</strong> pour les versions inf&eacute;rieures
+ &agrave; 1.2b9 cette fonction est instable et ne doit pas
+ &ecirc;tre utilis&eacute;e.</p>
+
+ <p>Le signal <code>USR1</code> demande au processus p&egrave;re
+ de prier les processus de se terminer apr&egrave;s avoir
+ trait&eacute; leurs requ&ecirc;tes en cours (ou de se terminer
+ imm&eacute;diatement s'ils n'ont pas de traitement en cours).
+ Le processus p&egrave;re relit les fichiers de configuration et
+ rouvre les fichiers de trace. Au fur et &agrave; mesure que les
+ fils meurent, ils sont remplac&eacute;s par des processus fils
+ prenant en compte la nouvelle <em>g&eacute;n&eacute;ration</em>
+ de la configuration, et commencent aussit&ocirc;t &agrave;
+ traiter les nouvelles requ&ecirc;tes.</p>
+
+ <p>Cette fonction est con&ccedil;ue pour toujours respecter les
+ valeurs de <a href="mod/core.html#maxclients">MaxClients</a>,
+ <a href="mod/core.html#minspareservers">MinSpareServers</a>, et
+ <a href="mod/core.html#maxspareservers">MaxSpareServers</a>. De
+ plus, elle respecte la valeur de <a
+ href="mod/core.html#startservers">StartServers</a> de la
+ mani&egrave;re suivante : si apr&egrave;s une seconde, au moins
+ StartServers nouveaux processus fils n'ont pas
+ &eacute;t&eacute; cr&eacute;&eacute;s, alors elle en
+ cr&eacute;e suffisament pour combler le manque. Autrement dit,
+ la fonction essaie de maintenir &agrave; la fois le nombre de
+ processus fils appropri&eacute; pour traiter la charge actuelle
+ du serveur, et respecter vos souhaits concernant le
+ param&egrave;tre StartServers.</p>
+
+ <p>Les utilisateurs du module <a
+ href="mod/mod_status.html">status</a> noteront que les
+ statistiques du serveur <strong>ne sont pas</strong>
+ r&eacute;initialis&eacute;es &agrave; z&eacute;ro apr&egrave;s
+ l'envoi du signal <code>USR1</code>. La fonction est
+ &eacute;crite afin de minimiser le temps durant lequel le
+ serveur est incapable de traiter de nouvelles requ&ecirc;tes
+ (elle sont mises en attente par le syst&egrave;me
+ d'exploitation et donc ne sont pas perdues) tout en respectant
+ vos r&eacute;glages. Pour cela, Apache doit maintenir la
+ <em>table de comunication interprocessus</em> pour les
+ diff&eacute;rents processus fils et leur
+ g&eacute;n&eacute;ration.</p>
+
+ <p>Le module <a href="mod/mod_status.html">status</a> utilise
+ &eacute;galement un <code>G</code> pour marquer les fils
+ traitant les requ&ecirc;tes d&eacute;marr&eacute;es avant le
+ red&eacute;marrage en douceur.</p>
+
+ <p>Actuellement, il n'y a aucun moyen pour un script de
+ rotation des fichiers de trace qui utiliserait le signal
+ <code>USR1</code> de savoir de mani&egrave;re absolue que tous
+ les processus fils &eacute;crivant dans l'ancien fichier de
+ trace sont termin&eacute;s. Nous sugg&eacute;rons d'utiliser un
+ d&eacute;lai d'attente raisonnable apr&egrave;s l'envoi du
+ signal avant de faire quoi que ce soit avec l'ancien fichier de
+ trace. Si par exemple la majorit&eacute; de vos acc&egrave;s
+ sont trait&eacute;s en moins de dix minutes pour des
+ utilisateurs utilisant des liaisons &agrave; bas d&eacute;bit,
+ alors vous devrez attendre quinze minutes avant de faire
+ quelque chose avec l'ancien fichier de trace.</p>
+
+ <p><strong>Note:</strong> Si votre fichier de configuration
+ contient des erreurs au moment de r&eacute;initialiser le
+ processus p&egrave;re, ce dernier ne red&eacute;marrera pas et
+ se terminera avec une erreur. Dans le cas d'un
+ red&eacute;marrage en douceur, le processus p&egrave;re laisse
+ les fils continuer quand il se termine. Ce sont les processus
+ fils qui sont "termin&eacute;s en douceur" en traitant leurs
+ requ&ecirc;tes en cours. Ceci peut poser des probl&egrave;mes
+ si vous essayez de red&eacute;marrer le serveur -- il ne sera
+ pas capable de se connecter sur son port d'&eacute;coute. Afin
+ d'effectuer un red&eacute;marrage, vous pouvez v&eacute;rifier
+ la syntaxe du fichier de configuration en utilisant le
+ param&egrave;tre <code>-t</code> (cf. <a
+ href="programs/httpd.html">httpd</a>). Ceci n'est pas suffisant
+ pour garantir que le serveur red&eacute;marrera correctement.
+ Afin de v&eacute;rifier la s&eacute;mantique des fichiers de
+ configuration ainsi que leur syntaxe, vous pouvez essayer de
+ lancer <code>httpd</code> sous un compte utilisateur autre que
+ root. S'il n'y a pas d'erreur, il essaiera d'ouvrir ses ports
+ r&eacute;seau, mais &eacute;chouera, soit parce qu'il n'est pas
+ root, soit parce que le serveur existant est d&eacute;j&agrave;
+ connect&eacute; sur ces ports. S'il &eacute;choue pour une
+ autre raison, c'est qu'il existe une erreur dans les fichiers
+ de configuration et cette erreur doit &ecirc;tre
+ corrig&eacute;e avant de d&eacute;clencher une relance en
+ douceur.</p>
+
+ <h3>Annexe : signaux et conditions temporelles</h3>
+
+ <p>Avant la version 1.2b9 d'Apache il existait un certain
+ nombre de <em>conditions temporelles</em> concernant les
+ signaux de red&eacute;marrage et d'arr&ecirc;t. Une description
+ simple d'une condition temporelle est un probl&egrave;me
+ li&eacute; &agrave; l'ordre des traitements dans le temps,
+ comme quand quelque chose arrive au mauvais moment et ne se
+ comporte pas comme pr&eacute;vu. Pour les architectures
+ poss&eacute;dant les "bonnes" fonctionnalit&eacute;s, nous les
+ avons &eacute;limin&eacute;es autant que possible. Mais il doit
+ &ecirc;tre not&eacute; qu'il existe toujours des
+ probl&egrave;mes sur certaines architectures.</p>
+
+ <p>Les architectures utilisant un fichier sur disque <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a> pour la
+ communication interprocessus peuvent &eacute;ventuellement
+ corrompre ce fichier. Il en r&eacute;sulte le message d'erreur
+ "bind: Address already in use" (apr&egrave;s le signal
+ <code>HUP</code>) ou "long lost child came home!" (apr&egrave;s
+ le signal <code>USR1</code>). Le premier est une erreur fatale,
+ tandis que le deuxi&egrave;me a juste pour effet de perdre une
+ entr&eacute;e dans la table de communication interprocessus. Il
+ est donc envisageable d'utiliser le red&eacute;marrage en
+ douceur, avec d'occasionnels red&eacute;marrages
+ imm&eacute;diats. Ces probl&egrave;mes sont tr&egrave;s
+ difficiles &agrave; &eacute;viter, mais heureusement de
+ nombreuses architectures n'ont pas besoin d'utiliser un fichier
+ pour la communication interprocessus. Consulter la
+ documentation sur <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a> pour
+ savoir si votre architecture l'utilise.</p>
+
+ <p><code>NEXT</code> et <code>MACHTEN</code> (68k seulement)
+ pr&eacute;sentent quelques conditions temporelles qui peuvent
+ provoquer la perte d'un signal d'arr&ecirc;t ou de
+ red&eacute;marrage, mais ne devraient pas cr&eacute;er de
+ probl&egrave;me majeur.</p>
+
+ <p>Sur toutes les architectures, les processus fils
+ pr&eacute;sentent des conditions temporelles dans le cas du
+ traitement de la deuxi&egrave;me requ&ecirc;te, et des
+ suivantes, pour des connexions HTTP persistantes (KeepAlive).
+ Le processus peut se terminer apr&egrave;s avoir lu la
+ requ&ecirc;te mais avant d'avoir lu l'en-t&ecirc;te. Il existe
+ un correctif, mais celui ci a &eacute;t&eacute;
+ r&eacute;alis&eacute; trop tard pour &ecirc;tre
+ int&eacute;gr&eacute; dans la version 1.2. En th&eacute;orie,
+ ceci ne doit pas &ecirc;tre un probl&egrave;me car le client
+ utilisant la persistance des connexions doit &ecirc;tre capable
+ de traiter ce genre de cas, qui peut se produire soit &agrave;
+ cause des temps de latence du r&eacute;seau, soit &agrave;
+ cause des d&eacute;lais de r&eacute;ponse trop longs des
+ serveurs. En pratique, cela ne semble pas non plus affecter le
+ syst&egrave;me. Dans un test, le serveur &eacute;tait
+ red&eacute;marr&eacute; vingt fois par seconde et les clients
+ ont pu consulter le site sans obtenir de documents vides ou
+ d'images invalides.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/stopping.html.html b/usr.sbin/httpd/htdocs/manual/stopping.html.html
new file mode 100644
index 00000000000..10a619c0e48
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/stopping.html.html
@@ -0,0 +1,212 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Stopping and Restarting Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Stopping and Restarting Apache</h1>
+
+ <p>This document covers stopping and restarting Apache on Unix
+ and Cygwin only. Windows users should see <a
+ href="windows.html#signal">Signalling Apache when
+ running</a>.</p>
+
+ <p>You will notice many <code>httpd</code> executables running
+ on your system, but you should not send signals to any of them
+ except the parent, whose pid is in the <a
+ href="mod/core.html#pidfile">PidFile</a>. That is to say you
+ shouldn't ever need to send signals to any process except the
+ parent. There are three signals that you can send the parent:
+ <code>TERM</code>, <code>HUP</code>, and <code>USR1</code>,
+ which will be described in a moment.</p>
+
+ <p>To send a signal to the parent you should issue a command
+ such as:</p>
+
+ <blockquote>
+<pre>
+ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
+</pre>
+ </blockquote>
+ You can read about its progress by issuing:
+
+ <blockquote>
+<pre>
+ tail -f /usr/local/apache/logs/error_log
+</pre>
+ </blockquote>
+ Modify those examples to match your <a
+ href="mod/core.html#serverroot">ServerRoot</a> and <a
+ href="mod/core.html#pidfile">PidFile</a> settings.
+
+ <p>As of Apache 1.3 we provide a script called <a
+ href="programs/apachectl.html">apachectl</a> which can be used
+ to start, stop, and restart Apache. It may need a little
+ customization for your system, see the comments at the top of
+ the script.</p>
+
+ <h3>TERM Signal: stop now</h3>
+
+ <p>Sending the <code>TERM</code> signal to the parent causes it
+ to immediately attempt to kill off all of its children. It may
+ take it several seconds to complete killing off its children.
+ Then the parent itself exits. Any requests in progress are
+ terminated, and no further requests are served.</p>
+
+ <h3>HUP Signal: restart now</h3>
+
+ <p>Sending the <code>HUP</code> signal to the parent causes it
+ to kill off its children like in <code>TERM</code> but the
+ parent doesn't exit. It re-reads its configuration files, and
+ re-opens any log files. Then it spawns a new set of children
+ and continues serving hits.</p>
+
+ <p>Users of the <a href="mod/mod_status.html">status module</a>
+ will notice that the server statistics are set to zero when a
+ <code>HUP</code> is sent.</p>
+
+ <p><strong>Note:</strong> If your configuration file has errors
+ in it when you issue a restart then your parent will not
+ restart, it will exit with an error. See below for a method of
+ avoiding this.</p>
+
+ <h3>USR1 Signal: graceful restart</h3>
+
+ <p><strong>Note:</strong> prior to release 1.2b9 this code is
+ quite unstable and shouldn't be used at all.</p>
+
+ <p>The <code>USR1</code> signal causes the parent process to
+ <em>advise</em> the children to exit after their current
+ request (or to exit immediately if they're not serving
+ anything). The parent re-reads its configuration files and
+ re-opens its log files. As each child dies off the parent
+ replaces it with a child from the new <em>generation</em> of
+ the configuration, which begins serving new requests
+ immediately.</p>
+
+ <p>This code is designed to always respect the <a
+ href="mod/core.html#maxclients">MaxClients</a>, <a
+ href="mod/core.html#minspareservers">MinSpareServers</a>, and
+ <a href="mod/core.html#maxspareservers">MaxSpareServers</a>
+ settings. Furthermore, it respects <a
+ href="mod/core.html#startservers">StartServers</a> in the
+ following manner: if after one second at least StartServers new
+ children have not been created, then create enough to pick up
+ the slack. This is to say that the code tries to maintain both
+ the number of children appropriate for the current load on the
+ server, and respect your wishes with the StartServers
+ parameter.</p>
+
+ <p>Users of the <a href="mod/mod_status.html">status module</a>
+ will notice that the server statistics are <strong>not</strong>
+ set to zero when a <code>USR1</code> is sent. The code was
+ written to both minimize the time in which the server is unable
+ to serve new requests (they will be queued up by the operating
+ system, so they're not lost in any event) and to respect your
+ tuning parameters. In order to do this it has to keep the
+ <em>scoreboard</em> used to keep track of all children across
+ generations.</p>
+
+ <p>The status module will also use a <code>G</code> to indicate
+ those children which are still serving requests started before
+ the graceful restart was given.</p>
+
+ <p>At present there is no way for a log rotation script using
+ <code>USR1</code> to know for certain that all children writing
+ the pre-restart log have finished. We suggest that you use a
+ suitable delay after sending the <code>USR1</code> signal
+ before you do anything with the old log. For example if most of
+ your hits take less than 10 minutes to complete for users on
+ low bandwidth links then you could wait 15 minutes before doing
+ anything with the old log.</p>
+
+ <p><strong>Note:</strong> If your configuration file has errors
+ in it when you issue a restart then your parent will not
+ restart, it will exit with an error. In the case of graceful
+ restarts it will also leave children running when it exits.
+ (These are the children which are "gracefully exiting" by
+ handling their last request.) This will cause problems if you
+ attempt to restart the server -- it will not be able to bind to
+ its listening ports. Before doing a restart, you can check the
+ syntax of the configuration files with the <code>-t</code>
+ command line argument (see <a
+ href="programs/httpd.html">httpd</a> ). This still will not
+ guarantee that the server will restart correctly. To check the
+ semantics of the configuration files as well as the syntax, you
+ can try starting httpd as a non-root user. If there are no
+ errors it will attempt to open its sockets and logs and fail
+ because it's not root (or because the currently running httpd
+ already has those ports bound). If it fails for any other
+ reason then it's probably a config file error and the error
+ should be fixed before issuing the graceful restart.</p>
+
+ <h3>Appendix: signals and race conditions</h3>
+
+ <p>Prior to Apache 1.2b9 there were several <em>race
+ conditions</em> involving the restart and die signals (a simple
+ description of race condition is: a time-sensitive problem, as
+ in if something happens at just the wrong time it won't behave
+ as expected). For those architectures that have the "right"
+ feature set we have eliminated as many as we can. But it should
+ be noted that there still do exist race conditions on certain
+ architectures.</p>
+
+ <p>Architectures that use an on disk <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a> have the
+ potential to corrupt their scoreboards. This can result in the
+ "bind: Address already in use" (after <code>HUP</code>) or
+ "long lost child came home!" (after <code>USR1</code>). The
+ former is a fatal error, while the latter just causes the
+ server to lose a scoreboard slot. So it might be advisable to
+ use graceful restarts, with an occasional hard restart. These
+ problems are very difficult to work around, but fortunately
+ most architectures do not require a scoreboard file. See the <a
+ href="mod/core.html#scoreboardfile">ScoreBoardFile</a>
+ documentation for a architecture uses it.</p>
+
+ <p><code>NEXT</code> and <code>MACHTEN</code> (68k only) have
+ small race conditions which can cause a restart/die signal to
+ be lost, but should not cause the server to do anything
+ otherwise problematic.
+ <!-- they don't have sigaction, or we're not using it -djg -->
+ </p>
+
+ <p>All architectures have a small race condition in each child
+ involving the second and subsequent requests on a persistent
+ HTTP connection (KeepAlive). It may exit after reading the
+ request line but before reading any of the request headers.
+ There is a fix that was discovered too late to make 1.2. In
+ theory this isn't an issue because the KeepAlive client has to
+ expect these events because of network latencies and server
+ timeouts. In practice it doesn't seem to affect anything either
+ -- in a test case the server was restarted twenty times per
+ second and clients successfully browsed the site without
+ getting broken images or empty documents.
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </p>
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/suexec.html.en b/usr.sbin/httpd/htdocs/manual/suexec.html.en
new file mode 100644
index 00000000000..e208ce88869
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/suexec.html.en
@@ -0,0 +1,618 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache suEXEC Support</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Apache suEXEC Support</h1>
+
+ <ol>
+ <li><big><strong>CONTENTS</strong></big></li>
+
+ <li><a href="#what">What is suEXEC?</a></li>
+
+ <li><a href="#before">Before we begin.</a></li>
+
+ <li><a href="#model">suEXEC Security Model.</a></li>
+
+ <li><a href="#install">Configuring &amp; Installing
+ suEXEC</a></li>
+
+ <li><a href="#enable">Enabling &amp; Disabling
+ suEXEC</a></li>
+
+ <li><a href="#usage">Using suEXEC</a></li>
+
+ <li><a href="#debug">Debugging suEXEC</a></li>
+
+ <li><a href="#jabberwock">Beware the Jabberwock: Warnings
+ &amp; Examples</a></li>
+ </ol>
+
+ <h3><a id="what" name="what">What is suEXEC?</a></h3>
+
+ <p align="LEFT">The <strong>suEXEC</strong> feature --
+ introduced in Apache 1.2 -- provides Apache users the ability
+ to run <strong>CGI</strong> and <strong>SSI</strong> programs
+ under user IDs different from the user ID of the calling
+ web-server. Normally, when a CGI or SSI program executes, it
+ runs as the same user who is running the web server.</p>
+
+ <p align="LEFT">Used properly, this feature can reduce
+ considerably the security risks involved with allowing users to
+ develop and run private CGI or SSI programs. However, if suEXEC
+ is improperly configured, it can cause any number of problems
+ and possibly create new holes in your computer's security. If
+ you aren't familiar with managing setuid root programs and the
+ security issues they present, we highly recommend that you not
+ consider using suEXEC.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="before" name="before">Before we begin.</a></h3>
+
+ <p align="LEFT">Before jumping head-first into this document,
+ you should be aware of the assumptions made on the part of the
+ Apache Group and this document.</p>
+
+ <p align="LEFT">First, it is assumed that you are using a UNIX
+ derivate operating system that is capable of
+ <strong>setuid</strong> and <strong>setgid</strong> operations.
+ All command examples are given in this regard. Other platforms,
+ if they are capable of supporting suEXEC, may differ in their
+ configuration.</p>
+
+ <p align="LEFT">Second, it is assumed you are familiar with
+ some basic concepts of your computer's security and its
+ administration. This involves an understanding of
+ <strong>setuid/setgid</strong> operations and the various
+ effects they may have on your system and its level of
+ security.</p>
+
+ <p align="LEFT">Third, it is assumed that you are using an
+ <strong>unmodified</strong> version of suEXEC code. All code
+ for suEXEC has been carefully scrutinized and tested by the
+ developers as well as numerous beta testers. Every precaution
+ has been taken to ensure a simple yet solidly safe base of
+ code. Altering this code can cause unexpected problems and new
+ security risks. It is <strong>highly</strong> recommended you
+ not alter the suEXEC code unless you are well versed in the
+ particulars of security programming and are willing to share
+ your work with the Apache Group for consideration.</p>
+
+ <p align="LEFT">Fourth, and last, it has been the decision of
+ the Apache Group to <strong>NOT</strong> make suEXEC part of
+ the default installation of Apache. To this end, suEXEC
+ configuration requires of the administrator careful attention
+ to details. After due consideration has been given to the
+ various settings for suEXEC, the administrator may install
+ suEXEC through normal installation methods. The values for
+ these settings need to be carefully determined and specified by
+ the administrator to properly maintain system security during
+ the use of suEXEC functionality. It is through this detailed
+ process that the Apache Group hopes to limit suEXEC
+ installation only to those who are careful and determined
+ enough to use it.</p>
+
+ <p align="LEFT">Still with us? Yes? Good. Let's move on!</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="model" name="model">suEXEC Security Model</a></h3>
+
+ <p align="LEFT">Before we begin configuring and installing
+ suEXEC, we will first discuss the security model you are about
+ to implement. By doing so, you may better understand what
+ exactly is going on inside suEXEC and what precautions are
+ taken to ensure your system's security.</p>
+
+ <p align="LEFT"><strong>suEXEC</strong> is based on a setuid
+ "wrapper" program that is called by the main Apache web server.
+ This wrapper is called when an HTTP request is made for a CGI
+ or SSI program that the administrator has designated to run as
+ a userid other than that of the main server. When such a
+ request is made, Apache provides the suEXEC wrapper with the
+ program's name and the user and group IDs under which the
+ program is to execute.</p>
+
+ <p align="LEFT">The wrapper then employs the following process
+ to determine success or failure -- if any one of these
+ conditions fail, the program logs the failure and exits with an
+ error, otherwise it will continue:</p>
+
+ <ol>
+ <li>
+ <strong>Was the wrapper called with the proper number of
+ arguments?</strong>
+
+ <blockquote>
+ The wrapper will only execute if it is given the proper
+ number of arguments. The proper argument format is known
+ to the Apache web server. If the wrapper is not receiving
+ the proper number of arguments, it is either being
+ hacked, or there is something wrong with the suEXEC
+ portion of your Apache binary.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the user executing this wrapper a valid user of
+ this system?</strong>
+
+ <blockquote>
+ This is to ensure that the user executing the wrapper is
+ truly a user of the system.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is this valid user allowed to run the
+ wrapper?</strong>
+
+ <blockquote>
+ Is this user the user allowed to run this wrapper? Only
+ one user (the Apache user) is allowed to execute this
+ program.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the target program have an unsafe hierarchical
+ reference?</strong>
+
+ <blockquote>
+ Does the target program contain a leading '/' or have a
+ '..' backreference? These are not allowed; the target
+ program must reside within the Apache webspace.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user name valid?</strong>
+
+ <blockquote>
+ Does the target user exist?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target group name valid?</strong>
+
+ <blockquote>
+ Does the target group exist?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user <em>NOT</em> superuser?</strong>
+
+
+ <blockquote>
+ Presently, suEXEC does not allow 'root' to execute
+ CGI/SSI programs.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target userid <em>ABOVE</em> the minimum ID
+ number?</strong>
+
+ <blockquote>
+ The minimum user ID number is specified during
+ configuration. This allows you to set the lowest possible
+ userid that will be allowed to execute CGI/SSI programs.
+ This is useful to block out "system" accounts.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target group <em>NOT</em> the superuser
+ group?</strong>
+
+ <blockquote>
+ Presently, suEXEC does not allow the 'root' group to
+ execute CGI/SSI programs.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target groupid <em>ABOVE</em> the minimum ID
+ number?</strong>
+
+ <blockquote>
+ The minimum group ID number is specified during
+ configuration. This allows you to set the lowest possible
+ groupid that will be allowed to execute CGI/SSI programs.
+ This is useful to block out "system" groups.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can the wrapper successfully become the target user
+ and group?</strong>
+
+ <blockquote>
+ Here is where the program becomes the target user and
+ group via setuid and setgid calls. The group access list
+ is also initialized with all of the groups of which the
+ user is a member.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the directory in which the program resides
+ exist?</strong>
+
+ <blockquote>
+ If it doesn't exist, it can't very well contain files.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the directory within the Apache
+ webspace?</strong>
+
+ <blockquote>
+ If the request is for a regular portion of the server, is
+ the requested directory within the server's document
+ root? If the request is for a UserDir, is the requested
+ directory within the user's document root?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the directory <em>NOT</em> writable by anyone
+ else?</strong>
+
+ <blockquote>
+ We don't want to open up the directory to others; only
+ the owner user may be able to alter this directories
+ contents.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the target program exist?</strong>
+
+ <blockquote>
+ If it doesn't exists, it can't very well be executed.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target program <em>NOT</em> writable by
+ anyone else?</strong>
+
+ <blockquote>
+ We don't want to give anyone other than the owner the
+ ability to change the program.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target program <em>NOT</em> setuid or
+ setgid?</strong>
+
+ <blockquote>
+ We do not want to execute programs that will then change
+ our UID/GID again.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user/group the same as the program's
+ user/group?</strong>
+
+ <blockquote>
+ Is the user the owner of the file?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can we successfully clean the process environment
+ to ensure safe operations?</strong>
+
+ <blockquote>
+ suEXEC cleans the process' environment by establishing a
+ safe execution PATH (defined during configuration), as
+ well as only passing through those variables whose names
+ are listed in the safe environment list (also created
+ during configuration).
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can we successfully become the target program and
+ execute?</strong>
+
+ <blockquote>
+ Here is where suEXEC ends and the target program begins.
+ </blockquote>
+ </li>
+ </ol>
+
+ <p align="LEFT">This is the standard operation of the the
+ suEXEC wrapper's security model. It is somewhat stringent and
+ can impose new limitations and guidelines for CGI/SSI design,
+ but it was developed carefully step-by-step with security in
+ mind.</p>
+
+ <p align="LEFT">For more information as to how this security
+ model can limit your possibilities in regards to server
+ configuration, as well as what security risks can be avoided
+ with a proper suEXEC setup, see the <a
+ href="#jabberwock">"Beware the Jabberwock"</a> section of this
+ document.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="install" name="install">Configuring &amp; Installing
+ suEXEC</a></h3>
+
+ <p align="LEFT">Here's where we begin the fun. If you use
+ Apache 1.2 or prefer to configure Apache 1.3 with the
+ "<code>src/Configure</code>" script you have to edit the suEXEC
+ header file and install the binary in its proper location
+ manually. This procedure is described in an <a
+ href="suexec_1_2.html">extra document</a>. The following
+ sections describe the configuration and installation for Apache
+ 1.3 with the AutoConf-style interface (APACI).</p>
+
+ <p align="LEFT"><strong>APACI's suEXEC configuration
+ options</strong><br />
+ </p>
+
+ <dl>
+ <dt><code>--enable-suexec</code></dt>
+
+ <dd>This option enables the suEXEC feature which is never
+ installed or activated by default. At least one
+ --suexec-xxxxx option has to be provided together with the
+ --enable-suexec option to let APACI accept your request for
+ using the suEXEC feature.</dd>
+
+ <dt><code>--suexec-caller=<em>UID</em></code></dt>
+
+ <dd>The <a href="mod/core.html#user">username</a> under which
+ Apache normally runs. This is the only user allowed to
+ execute this program.</dd>
+
+ <dt><code>--suexec-docroot=<em>DIR</em></code></dt>
+
+ <dd>Define as the DocumentRoot set for Apache. This will be
+ the only hierarchy (aside from UserDirs) that can be used for
+ suEXEC behavior. The default directory is the --datadir value
+ with the suffix "/htdocs", <em>e.g.</em> if you configure
+ with "<code>--datadir=/home/apache</code>" the directory
+ "/home/apache/htdocs" is used as document root for the suEXEC
+ wrapper.</dd>
+
+ <dt><code>--suexec-logfile=<em>FILE</em></code></dt>
+
+ <dd>This defines the filename to which all suEXEC
+ transactions and errors are logged (useful for auditing and
+ debugging purposes). By default the logfile is named
+ "suexec_log" and located in your standard logfile directory
+ (--logfiledir).</dd>
+
+ <dt><code>--suexec-userdir=<em>DIR</em></code></dt>
+
+ <dd>Define to be the subdirectory under users' home
+ directories where suEXEC access should be allowed. All
+ executables under this directory will be executable by suEXEC
+ as the user so they should be "safe" programs. If you are
+ using a "simple" UserDir directive (ie. one without a "*" in
+ it) this should be set to the same value. suEXEC will not
+ work properly in cases where the UserDir directive points to
+ a location that is not the same as the user's home directory
+ as referenced in the passwd file. Default value is
+ "public_html".<br />
+ If you have virtual hosts with a different UserDir for each,
+ you will need to define them to all reside in one parent
+ directory; then name that parent directory here. <strong>If
+ this is not defined properly, "~userdir" cgi requests will
+ not work!</strong></dd>
+
+ <dt><code>--suexec-uidmin=<em>UID</em></code></dt>
+
+ <dd>Define this as the lowest UID allowed to be a target user
+ for suEXEC. For most systems, 500 or 100 is common. Default
+ value is 100.</dd>
+
+ <dt><code>--suexec-gidmin=<em>GID</em></code></dt>
+
+ <dd>Define this as the lowest GID allowed to be a target
+ group for suEXEC. For most systems, 100 is common and
+ therefore used as default value.</dd>
+
+ <dt><code>--suexec-safepath=<em>PATH</em></code></dt>
+
+ <dd>Define a safe PATH environment to pass to CGI
+ executables. Default value is
+ "/usr/local/bin:/usr/bin:/bin".</dd>
+ </dl>
+
+ <p align="LEFT"><strong>Checking your suEXEC
+ setup</strong><br />
+ Before you compile and install the suEXEC wrapper you can
+ check the configuration with the --layout option.<br />
+ Example output:</p>
+<pre>
+ suEXEC setup:
+ suexec binary: /usr/local/apache/sbin/suexec
+ document root: /usr/local/apache/share/htdocs
+ userdir suffix: public_html
+ logfile: /usr/local/apache/var/log/suexec_log
+ safe path: /usr/local/bin:/usr/bin:/bin
+ caller ID: www
+ minimum user ID: 100
+ minimum group ID: 100
+</pre>
+
+ <p align="LEFT"><strong>Compiling and installing the suEXEC
+ wrapper</strong><br />
+ If you have enabled the suEXEC feature with the
+ --enable-suexec option the suexec binary (together with Apache
+ itself) is automatically built if you execute the command
+ "make".<br />
+ After all components have been built you can execute the
+ command "make install" to install them. The binary image
+ "suexec" is installed in the directory defined by the --sbindir
+ option. Default location is
+ "/usr/local/apache/sbin/suexec".<br />
+ Please note that you need <strong><em>root
+ privileges</em></strong> for the installation step. In order
+ for the wrapper to set the user ID, it must be installed as
+ owner <code><em>root</em></code> and must have the setuserid
+ execution bit set for file modes.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="enable" name="enable">Enabling &amp; Disabling
+ suEXEC</a></h3>
+
+ <p align="LEFT">Upon startup of Apache, it looks for the file
+ "suexec" in the "sbin" directory (default is
+ "/usr/local/apache/sbin/suexec"). If Apache finds a properly
+ configured suEXEC wrapper, it will print the following message
+ to the error log:</p>
+<pre>
+ [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+ <p>If you don't see this message at server startup, the server
+ is most likely not finding the wrapper program where it expects
+ it, or the executable is not installed <em>setuid
+ root</em>.<br />
+ If you want to enable the suEXEC mechanism for the first time
+ and an Apache server is already running you must kill and
+ restart Apache. Restarting it with a simple HUP or USR1 signal
+ will not be enough.<br />
+ If you want to disable suEXEC you should kill and restart
+ Apache after you have removed the "suexec" file.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="usage" name="usage">Using suEXEC</a></h3>
+
+ <p align="LEFT"><strong>Virtual Hosts:</strong><br />
+ One way to use the suEXEC wrapper is through the <a
+ href="mod/core.html#user">User</a> and <a
+ href="mod/core.html#group">Group</a> directives in <a
+ href="mod/core.html#virtualhost">VirtualHost</a> definitions.
+ By setting these directives to values different from the main
+ server user ID, all requests for CGI resources will be executed
+ as the <em>User</em> and <em>Group</em> defined for that
+ <code>&lt;VirtualHost&gt;</code>. If only one or neither of
+ these directives are specified for a
+ <code>&lt;VirtualHost&gt;</code> then the main server userid is
+ assumed.</p>
+
+ <p><strong>User directories:</strong><br />
+ The suEXEC wrapper can also be used to execute CGI programs as
+ the user to which the request is being directed. This is
+ accomplished by using the "<strong><code>~</code></strong>"
+ character prefixing the user ID for whom execution is desired.
+ The only requirement needed for this feature to work is for CGI
+ execution to be enabled for the user and that the script must
+ meet the scrutiny of the <a href="#model">security checks</a>
+ above.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="debug" name="debug">Debugging suEXEC</a></h3>
+
+ <p align="LEFT">The suEXEC wrapper will write log information
+ to the file defined with the --suexec-logfile option as
+ indicated above. If you feel you have configured and installed
+ the wrapper properly, have a look at this log and the error_log
+ for the server to see where you may have gone astray.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="jabberwock" name="jabberwock">Beware the Jabberwock:
+ Warnings &amp; Examples</a></h3>
+
+ <p align="LEFT"><strong>NOTE!</strong> This section may not be
+ complete. For the latest revision of this section of the
+ documentation, see the Apache Group's <a
+ href="http://www.apache.org/docs/suexec.html">Online
+ Documentation</a> version.</p>
+
+ <p align="LEFT">There are a few points of interest regarding
+ the wrapper that can cause limitations on server setup. Please
+ review these before submitting any "bugs" regarding suEXEC.</p>
+
+ <ul>
+ <li><strong>suEXEC Points Of Interest</strong></li>
+
+ <li>
+ Hierarchy limitations
+
+ <blockquote>
+ For security and efficiency reasons, all suexec requests
+ must remain within either a top-level document root for
+ virtual host requests, or one top-level personal document
+ root for userdir requests. For example, if you have four
+ VirtualHosts configured, you would need to structure all
+ of your VHosts' document roots off of one main Apache
+ document hierarchy to take advantage of suEXEC for
+ VirtualHosts. (Example forthcoming.)
+ </blockquote>
+ </li>
+
+ <li>
+ suEXEC's PATH environment variable
+
+ <blockquote>
+ This can be a dangerous thing to change. Make certain
+ every path you include in this define is a
+ <strong>trusted</strong> directory. You don't want to
+ open people up to having someone from across the world
+ running a trojan horse on them.
+ </blockquote>
+ </li>
+
+ <li>
+ Altering the suEXEC code
+
+ <blockquote>
+ Again, this can cause <strong>Big Trouble</strong> if you
+ try this without knowing what you are doing. Stay away
+ from it if at all possible.
+ </blockquote>
+ </li>
+ </ul>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/suexec.html.html b/usr.sbin/httpd/htdocs/manual/suexec.html.html
new file mode 100644
index 00000000000..3e785675b6e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/suexec.html.html
@@ -0,0 +1,622 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache suEXEC Support</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Apache suEXEC Support</h1>
+
+ <ol>
+ <li><big><strong>CONTENTS</strong></big></li>
+
+ <li><a href="#what">What is suEXEC?</a></li>
+
+ <li><a href="#before">Before we begin.</a></li>
+
+ <li><a href="#model">suEXEC Security Model.</a></li>
+
+ <li><a href="#install">Configuring &amp; Installing
+ suEXEC</a></li>
+
+ <li><a href="#enable">Enabling &amp; Disabling
+ suEXEC</a></li>
+
+ <li><a href="#usage">Using suEXEC</a></li>
+
+ <li><a href="#debug">Debugging suEXEC</a></li>
+
+ <li><a href="#jabberwock">Beware the Jabberwock: Warnings
+ &amp; Examples</a></li>
+ </ol>
+
+ <h3><a id="what" name="what">What is suEXEC?</a></h3>
+
+ <p align="LEFT">The <strong>suEXEC</strong> feature --
+ introduced in Apache 1.2 -- provides Apache users the ability
+ to run <strong>CGI</strong> and <strong>SSI</strong> programs
+ under user IDs different from the user ID of the calling
+ web-server. Normally, when a CGI or SSI program executes, it
+ runs as the same user who is running the web server.</p>
+
+ <p align="LEFT">Used properly, this feature can reduce
+ considerably the security risks involved with allowing users to
+ develop and run private CGI or SSI programs. However, if suEXEC
+ is improperly configured, it can cause any number of problems
+ and possibly create new holes in your computer's security. If
+ you aren't familiar with managing setuid root programs and the
+ security issues they present, we highly recommend that you not
+ consider using suEXEC.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="before" name="before">Before we begin.</a></h3>
+
+ <p align="LEFT">Before jumping head-first into this document,
+ you should be aware of the assumptions made on the part of the
+ Apache Group and this document.</p>
+
+ <p align="LEFT">First, it is assumed that you are using a UNIX
+ derivate operating system that is capable of
+ <strong>setuid</strong> and <strong>setgid</strong> operations.
+ All command examples are given in this regard. Other platforms,
+ if they are capable of supporting suEXEC, may differ in their
+ configuration.</p>
+
+ <p align="LEFT">Second, it is assumed you are familiar with
+ some basic concepts of your computer's security and its
+ administration. This involves an understanding of
+ <strong>setuid/setgid</strong> operations and the various
+ effects they may have on your system and its level of
+ security.</p>
+
+ <p align="LEFT">Third, it is assumed that you are using an
+ <strong>unmodified</strong> version of suEXEC code. All code
+ for suEXEC has been carefully scrutinized and tested by the
+ developers as well as numerous beta testers. Every precaution
+ has been taken to ensure a simple yet solidly safe base of
+ code. Altering this code can cause unexpected problems and new
+ security risks. It is <strong>highly</strong> recommended you
+ not alter the suEXEC code unless you are well versed in the
+ particulars of security programming and are willing to share
+ your work with the Apache Group for consideration.</p>
+
+ <p align="LEFT">Fourth, and last, it has been the decision of
+ the Apache Group to <strong>NOT</strong> make suEXEC part of
+ the default installation of Apache. To this end, suEXEC
+ configuration requires of the administrator careful attention
+ to details. After due consideration has been given to the
+ various settings for suEXEC, the administrator may install
+ suEXEC through normal installation methods. The values for
+ these settings need to be carefully determined and specified by
+ the administrator to properly maintain system security during
+ the use of suEXEC functionality. It is through this detailed
+ process that the Apache Group hopes to limit suEXEC
+ installation only to those who are careful and determined
+ enough to use it.</p>
+
+ <p align="LEFT">Still with us? Yes? Good. Let's move on!</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="model" name="model">suEXEC Security Model</a></h3>
+
+ <p align="LEFT">Before we begin configuring and installing
+ suEXEC, we will first discuss the security model you are about
+ to implement. By doing so, you may better understand what
+ exactly is going on inside suEXEC and what precautions are
+ taken to ensure your system's security.</p>
+
+ <p align="LEFT"><strong>suEXEC</strong> is based on a setuid
+ "wrapper" program that is called by the main Apache web server.
+ This wrapper is called when an HTTP request is made for a CGI
+ or SSI program that the administrator has designated to run as
+ a userid other than that of the main server. When such a
+ request is made, Apache provides the suEXEC wrapper with the
+ program's name and the user and group IDs under which the
+ program is to execute.</p>
+
+ <p align="LEFT">The wrapper then employs the following process
+ to determine success or failure -- if any one of these
+ conditions fail, the program logs the failure and exits with an
+ error, otherwise it will continue:</p>
+
+ <ol>
+ <li>
+ <strong>Was the wrapper called with the proper number of
+ arguments?</strong>
+
+ <blockquote>
+ The wrapper will only execute if it is given the proper
+ number of arguments. The proper argument format is known
+ to the Apache web server. If the wrapper is not receiving
+ the proper number of arguments, it is either being
+ hacked, or there is something wrong with the suEXEC
+ portion of your Apache binary.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the user executing this wrapper a valid user of
+ this system?</strong>
+
+ <blockquote>
+ This is to ensure that the user executing the wrapper is
+ truly a user of the system.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is this valid user allowed to run the
+ wrapper?</strong>
+
+ <blockquote>
+ Is this user the user allowed to run this wrapper? Only
+ one user (the Apache user) is allowed to execute this
+ program.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the target program have an unsafe hierarchical
+ reference?</strong>
+
+ <blockquote>
+ Does the target program contain a leading '/' or have a
+ '..' backreference? These are not allowed; the target
+ program must reside within the Apache webspace.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user name valid?</strong>
+
+ <blockquote>
+ Does the target user exist?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target group name valid?</strong>
+
+ <blockquote>
+ Does the target group exist?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user <em>NOT</em> superuser?</strong>
+
+
+ <blockquote>
+ Presently, suEXEC does not allow 'root' to execute
+ CGI/SSI programs.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target userid <em>ABOVE</em> the minimum ID
+ number?</strong>
+
+ <blockquote>
+ The minimum user ID number is specified during
+ configuration. This allows you to set the lowest possible
+ userid that will be allowed to execute CGI/SSI programs.
+ This is useful to block out "system" accounts.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target group <em>NOT</em> the superuser
+ group?</strong>
+
+ <blockquote>
+ Presently, suEXEC does not allow the 'root' group to
+ execute CGI/SSI programs.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target groupid <em>ABOVE</em> the minimum ID
+ number?</strong>
+
+ <blockquote>
+ The minimum group ID number is specified during
+ configuration. This allows you to set the lowest possible
+ groupid that will be allowed to execute CGI/SSI programs.
+ This is useful to block out "system" groups.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can the wrapper successfully become the target user
+ and group?</strong>
+
+ <blockquote>
+ Here is where the program becomes the target user and
+ group via setuid and setgid calls. The group access list
+ is also initialized with all of the groups of which the
+ user is a member.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the directory in which the program resides
+ exist?</strong>
+
+ <blockquote>
+ If it doesn't exist, it can't very well contain files.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the directory within the Apache
+ webspace?</strong>
+
+ <blockquote>
+ If the request is for a regular portion of the server, is
+ the requested directory within the server's document
+ root? If the request is for a UserDir, is the requested
+ directory within the user's document root?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the directory <em>NOT</em> writable by anyone
+ else?</strong>
+
+ <blockquote>
+ We don't want to open up the directory to others; only
+ the owner user may be able to alter this directories
+ contents.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Does the target program exist?</strong>
+
+ <blockquote>
+ If it doesn't exists, it can't very well be executed.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target program <em>NOT</em> writable by
+ anyone else?</strong>
+
+ <blockquote>
+ We don't want to give anyone other than the owner the
+ ability to change the program.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target program <em>NOT</em> setuid or
+ setgid?</strong>
+
+ <blockquote>
+ We do not want to execute programs that will then change
+ our UID/GID again.
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Is the target user/group the same as the program's
+ user/group?</strong>
+
+ <blockquote>
+ Is the user the owner of the file?
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can we successfully clean the process environment
+ to ensure safe operations?</strong>
+
+ <blockquote>
+ suEXEC cleans the process' environment by establishing a
+ safe execution PATH (defined during configuration), as
+ well as only passing through those variables whose names
+ are listed in the safe environment list (also created
+ during configuration).
+ </blockquote>
+ </li>
+
+ <li>
+ <strong>Can we successfully become the target program and
+ execute?</strong>
+
+ <blockquote>
+ Here is where suEXEC ends and the target program begins.
+ </blockquote>
+ </li>
+ </ol>
+
+ <p align="LEFT">This is the standard operation of the the
+ suEXEC wrapper's security model. It is somewhat stringent and
+ can impose new limitations and guidelines for CGI/SSI design,
+ but it was developed carefully step-by-step with security in
+ mind.</p>
+
+ <p align="LEFT">For more information as to how this security
+ model can limit your possibilities in regards to server
+ configuration, as well as what security risks can be avoided
+ with a proper suEXEC setup, see the <a
+ href="#jabberwock">"Beware the Jabberwock"</a> section of this
+ document.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="install" name="install">Configuring &amp; Installing
+ suEXEC</a></h3>
+
+ <p align="LEFT">Here's where we begin the fun. If you use
+ Apache 1.2 or prefer to configure Apache 1.3 with the
+ "<code>src/Configure</code>" script you have to edit the suEXEC
+ header file and install the binary in its proper location
+ manually. This procedure is described in an <a
+ href="suexec_1_2.html">extra document</a>. The following
+ sections describe the configuration and installation for Apache
+ 1.3 with the AutoConf-style interface (APACI).</p>
+
+ <p align="LEFT"><strong>APACI's suEXEC configuration
+ options</strong><br />
+ </p>
+
+ <dl>
+ <dt><code>--enable-suexec</code></dt>
+
+ <dd>This option enables the suEXEC feature which is never
+ installed or activated by default. At least one
+ --suexec-xxxxx option has to be provided together with the
+ --enable-suexec option to let APACI accept your request for
+ using the suEXEC feature.</dd>
+
+ <dt><code>--suexec-caller=<em>UID</em></code></dt>
+
+ <dd>The <a href="mod/core.html#user">username</a> under which
+ Apache normally runs. This is the only user allowed to
+ execute this program.</dd>
+
+ <dt><code>--suexec-docroot=<em>DIR</em></code></dt>
+
+ <dd>Define as the DocumentRoot set for Apache. This will be
+ the only hierarchy (aside from UserDirs) that can be used for
+ suEXEC behavior. The default directory is the --datadir value
+ with the suffix "/htdocs", <em>e.g.</em> if you configure
+ with "<code>--datadir=/home/apache</code>" the directory
+ "/home/apache/htdocs" is used as document root for the suEXEC
+ wrapper.</dd>
+
+ <dt><code>--suexec-logfile=<em>FILE</em></code></dt>
+
+ <dd>This defines the filename to which all suEXEC
+ transactions and errors are logged (useful for auditing and
+ debugging purposes). By default the logfile is named
+ "suexec_log" and located in your standard logfile directory
+ (--logfiledir).</dd>
+
+ <dt><code>--suexec-userdir=<em>DIR</em></code></dt>
+
+ <dd>Define to be the subdirectory under users' home
+ directories where suEXEC access should be allowed. All
+ executables under this directory will be executable by suEXEC
+ as the user so they should be "safe" programs. If you are
+ using a "simple" UserDir directive (ie. one without a "*" in
+ it) this should be set to the same value. suEXEC will not
+ work properly in cases where the UserDir directive points to
+ a location that is not the same as the user's home directory
+ as referenced in the passwd file. Default value is
+ "public_html".<br />
+ If you have virtual hosts with a different UserDir for each,
+ you will need to define them to all reside in one parent
+ directory; then name that parent directory here. <strong>If
+ this is not defined properly, "~userdir" cgi requests will
+ not work!</strong></dd>
+
+ <dt><code>--suexec-uidmin=<em>UID</em></code></dt>
+
+ <dd>Define this as the lowest UID allowed to be a target user
+ for suEXEC. For most systems, 500 or 100 is common. Default
+ value is 100.</dd>
+
+ <dt><code>--suexec-gidmin=<em>GID</em></code></dt>
+
+ <dd>Define this as the lowest GID allowed to be a target
+ group for suEXEC. For most systems, 100 is common and
+ therefore used as default value.</dd>
+
+ <dt><code>--suexec-safepath=<em>PATH</em></code></dt>
+
+ <dd>Define a safe PATH environment to pass to CGI
+ executables. Default value is
+ "/usr/local/bin:/usr/bin:/bin".</dd>
+ </dl>
+
+ <p align="LEFT"><strong>Checking your suEXEC
+ setup</strong><br />
+ Before you compile and install the suEXEC wrapper you can
+ check the configuration with the --layout option.<br />
+ Example output:</p>
+<pre>
+ suEXEC setup:
+ suexec binary: /usr/local/apache/sbin/suexec
+ document root: /usr/local/apache/share/htdocs
+ userdir suffix: public_html
+ logfile: /usr/local/apache/var/log/suexec_log
+ safe path: /usr/local/bin:/usr/bin:/bin
+ caller ID: www
+ minimum user ID: 100
+ minimum group ID: 100
+</pre>
+
+ <p align="LEFT"><strong>Compiling and installing the suEXEC
+ wrapper</strong><br />
+ If you have enabled the suEXEC feature with the
+ --enable-suexec option the suexec binary (together with Apache
+ itself) is automatically built if you execute the command
+ "make".<br />
+ After all components have been built you can execute the
+ command "make install" to install them. The binary image
+ "suexec" is installed in the directory defined by the --sbindir
+ option. Default location is
+ "/usr/local/apache/sbin/suexec".<br />
+ Please note that you need <strong><em>root
+ privileges</em></strong> for the installation step. In order
+ for the wrapper to set the user ID, it must be installed as
+ owner <code><em>root</em></code> and must have the setuserid
+ execution bit set for file modes.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="enable" name="enable">Enabling &amp; Disabling
+ suEXEC</a></h3>
+
+ <p align="LEFT">Upon startup of Apache, it looks for the file
+ "suexec" in the "sbin" directory (default is
+ "/usr/local/apache/sbin/suexec"). If Apache finds a properly
+ configured suEXEC wrapper, it will print the following message
+ to the error log:</p>
+<pre>
+ [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+ <p>If you don't see this message at server startup, the server
+ is most likely not finding the wrapper program where it expects
+ it, or the executable is not installed <em>setuid
+ root</em>.<br />
+ If you want to enable the suEXEC mechanism for the first time
+ and an Apache server is already running you must kill and
+ restart Apache. Restarting it with a simple HUP or USR1 signal
+ will not be enough.<br />
+ If you want to disable suEXEC you should kill and restart
+ Apache after you have removed the "suexec" file.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="usage" name="usage">Using suEXEC</a></h3>
+
+ <p align="LEFT"><strong>Virtual Hosts:</strong><br />
+ One way to use the suEXEC wrapper is through the <a
+ href="mod/core.html#user">User</a> and <a
+ href="mod/core.html#group">Group</a> directives in <a
+ href="mod/core.html#virtualhost">VirtualHost</a> definitions.
+ By setting these directives to values different from the main
+ server user ID, all requests for CGI resources will be executed
+ as the <em>User</em> and <em>Group</em> defined for that
+ <code>&lt;VirtualHost&gt;</code>. If only one or neither of
+ these directives are specified for a
+ <code>&lt;VirtualHost&gt;</code> then the main server userid is
+ assumed.</p>
+
+ <p><strong>User directories:</strong><br />
+ The suEXEC wrapper can also be used to execute CGI programs as
+ the user to which the request is being directed. This is
+ accomplished by using the "<strong><code>~</code></strong>"
+ character prefixing the user ID for whom execution is desired.
+ The only requirement needed for this feature to work is for CGI
+ execution to be enabled for the user and that the script must
+ meet the scrutiny of the <a href="#model">security checks</a>
+ above.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="debug" name="debug">Debugging suEXEC</a></h3>
+
+ <p align="LEFT">The suEXEC wrapper will write log information
+ to the file defined with the --suexec-logfile option as
+ indicated above. If you feel you have configured and installed
+ the wrapper properly, have a look at this log and the error_log
+ for the server to see where you may have gone astray.</p>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+
+ <h3><a id="jabberwock" name="jabberwock">Beware the Jabberwock:
+ Warnings &amp; Examples</a></h3>
+
+ <p align="LEFT"><strong>NOTE!</strong> This section may not be
+ complete. For the latest revision of this section of the
+ documentation, see the Apache Group's <a
+ href="http://www.apache.org/docs/suexec.html">Online
+ Documentation</a> version.</p>
+
+ <p align="LEFT">There are a few points of interest regarding
+ the wrapper that can cause limitations on server setup. Please
+ review these before submitting any "bugs" regarding suEXEC.</p>
+
+ <ul>
+ <li><strong>suEXEC Points Of Interest</strong></li>
+
+ <li>
+ Hierarchy limitations
+
+ <blockquote>
+ For security and efficiency reasons, all suexec requests
+ must remain within either a top-level document root for
+ virtual host requests, or one top-level personal document
+ root for userdir requests. For example, if you have four
+ VirtualHosts configured, you would need to structure all
+ of your VHosts' document roots off of one main Apache
+ document hierarchy to take advantage of suEXEC for
+ VirtualHosts. (Example forthcoming.)
+ </blockquote>
+ </li>
+
+ <li>
+ suEXEC's PATH environment variable
+
+ <blockquote>
+ This can be a dangerous thing to change. Make certain
+ every path you include in this define is a
+ <strong>trusted</strong> directory. You don't want to
+ open people up to having someone from across the world
+ running a trojan horse on them.
+ </blockquote>
+ </li>
+
+ <li>
+ Altering the suEXEC code
+
+ <blockquote>
+ Again, this can cause <strong>Big Trouble</strong> if you
+ try this without knowing what you are doing. Stay away
+ from it if at all possible.
+ </blockquote>
+ </li>
+ </ul>
+
+ <p align="CENTER"><strong><a href="suexec.html">BACK TO
+ CONTENTS</a></strong></p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/suexec.html.ja.jis b/usr.sbin/httpd/htdocs/manual/suexec.html.ja.jis
new file mode 100644
index 00000000000..c1ab782164e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/suexec.html.ja.jis
@@ -0,0 +1,548 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache suEXEC Support</title>
+</head>
+<!-- English revision:1.24 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#ffffff"
+ text="#000000"
+ link="#0000ff"
+ vlink="#000080"
+ alink="#ff0000"
+>
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+<h1 align="center">Apache suEXEC Support</h1>
+
+<ol>
+ <li><big><strong>$BL\<!(B</strong></big></li>
+ <li><a href="#what">suEXEC $B$H$O(B?</a></li>
+ <li><a href="#before">$B;O$a$kA0$K(B</a></li>
+ <li><a href="#model">suEXEC $B$N%;%-%e%j%F%#%b%G%k(B</a></li>
+ <li><a href="#install">suEXEC $B$N@_Dj$H%$%s%9%H!<%k(B</a></li>
+ <li><a href="#enable">suEXEC $B$NM-8z2=$HL58z2=(B</a></li>
+ <li><a href="#usage">suEXEC $B$N;HMQ(B</a></li>
+ <li><a href="#debug">suEXEC $B$N%G%P%C%0(B</a></li>
+ <li><a href="#jabberwock">$B$H$+$2$KCm0U(B: $B7Y9p$H;vNc(B</a></li>
+</ol>
+
+<h3><a name="what">suEXEC $B$H$O(B?</a></h3>
+<p align="left">
+Apache 1.2 $B$GF3F~$5$l$?(B <strong>suEXEC</strong> $B5!G=$K$h$j!"(B
+Apache $B%f!<%6$O(B Web $B%5!<%P$r<B9T$7$F$$$k%f!<%6(B ID $B$H(B
+$B0[$J$k%f!<%6(B ID $B$G(B <strong>CGI</strong> $B%W%m%0%i%`$d(B <strong>SSI</strong>
+$B%W%m%0%i%`$r<B9T$9$k$3$H$,$G$-$^$9!#(B
+CGI $B%W%m%0%i%`$^$?$O(B SSI $B%W%m%0%i%`$r<B9T$9$k>l9g!"DL>o$O(B web $B%5!<%P$H(B
+$BF1$8%f!<%6$G<B9T$5$l$^$9!#(B
+</p>
+
+<p align="left">
+$BE,@Z$K;HMQ$9$k$H!"$3$N5!G=$K$h$j%f!<%6$,8DJL$N(B CGI $B$d(B SSI
+$B%W%m%0%i%`$r3+H/$7<B9T$9$k$3$H$G@8$8$k%;%-%e%j%F%#>e$N4m81$r!"(B
+$B$+$J$j8:$i$9$3$H$,$G$-$^$9!#$7$+$7!"(BsuEXEC $B$N@_Dj$,ITE,@Z$@$H!"(B
+$BB?$/$NLdBj$,@8$8!"$"$J$?$N%3%s%T%e!<%?$K?7$7$$(B
+$B%;%-%e%j%F%#%[!<%k$r:n$C$F$7$^$&2DG=@-$,$"$j$^$9!#(B
+$B$"$J$?$,(B root $B$K(B setuid $B$5$l$?%W%m%0%i%`$H!"$=$l$i$+$i@8$8$k(B
+$B%;%-%e%j%F%#>e$NLdBj$N4IM}$K>\$7$/$J$$$h$&$J$i!"(BsuEXEC $B$N;HMQ$r(B
+$B8!F$$7$J$$$h$&$K6/$/?d>)$7$^$9!#(B
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="before">$B;O$a$kA0$K(B</a></h3>
+<p align="left">
+$B$3$NJ8=q$N@hF,$KHt$VA0$K!"(BApache $B%0%k!<%W$H(B
+$B$3$NJ8=q$G$N2>Dj$rCN$C$F$*$/$Y$-$G$7$g$&!#(B
+</p>
+
+<p align="left">
+$BBh(B 1 $B$K!"$"$J$?$,(B <strong>setuid</strong> $B$H(B
+<strong>setgid</strong> $BA`:n$,2DG=$J(B UNIX $BM3Mh$N(B
+$B%*%Z%l!<%F%#%s%0%7%9%F%`$r;H$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#(B
+$B$3$l$O!"$9$Y$F$N%3%^%s%INc$K$"$F$O$^$j$^$9!#(B
+$B$=$NB>$N%W%i%C%H%[!<%`$G$O!"$b$7(B suEXEC $B$,%5%]!<%H$5$l$F$$$?$H(B
+$B$7$F$b@_Dj$O0[$J$k$+$b$7$l$^$;$s!#(B
+</p>
+
+<p align="left">
+$BBh(B 2 $B$K!";HMQCf$N%3%s%T%e!<%?$N%;%-%e%j%F%#$K4X$9$k4pK\E*$J35G0$H!"(B
+$B$=$l$i$N4IM}$K$D$$$F$"$J$?$,>\$7$$$3$H$rA[Dj$7$F$$$^$9!#(B
+$B$3$l$O!"(B<strong>setuid/setgid</strong> $BA`:n!"(B
+$B$"$J$?$N%7%9%F%`>e$G$N$=$NA`:n$K$h$kMM!9$J8z2L!"(B
+$B%;%-%e%j%F%#%l%Y%k$K$D$$$F$"$J$?$,M}2r$7$F$$$k$H$$$&$3$H$r4^$_$^$9!#(B
+</p>
+
+<p align="left">
+$BBh(B 3 $B$K!"(B<strong>$B2~B$$5$l$F$$$J$$(B</strong> suEXEC $B%3!<%I$N(B
+$B;HMQ$rA[Dj$7$F$$$^$9!#(B
+suEXEC $B$N%3!<%I$O!"B?$/$N%Y!<%?%F%9%?$@$1$G$J$/!"3+H/<T$K$h$C$F$b(B
+$BCm0U?<$/@:::$5$l%F%9%H$5$l$F$$$^$9!#(B
+$B$=$l$i$NCm0U$K$h$j!"4J7i$G?.Mj$G$-$k0BA4$J%3!<%I$N4pHW$,(B
+$BJ]>Z$5$l$^$9!#$3$N%3!<%I$r2~JQ$9$k$3$H$G!"M=4|$5$l$J$$LdBj$d(B
+$B?7$7$$%;%-%e%j%F%#>e$N4m81$,@8$8$k$3$H$,$"$j$^$9!#(B
+$B%;%-%e%j%F%#%W%m%0%i%_%s%0$N>\:Y$KDL$8$F$$$F!"(B
+$B:#8e$N8!F$$N$?$a$K@.2L$r(B Apache $B%0%k!<%W$H6&M-$7$h$&$H;W$&$N$G(B
+$B$J$1$l$P!"(BsuEXEC $B%3!<%I$OJQ$($J$$$3$H$r(B
+<strong>$B6/$/(B</strong>$B?d>)$7$^$9!#(B
+</p>
+
+<p align="left">
+$BBh(B 4 $B$K!"$3$l$,:G8e$G$9$,!"(BsuEXEC $B$r(B Apache $B$N%G%U%)%k%H(B
+$B%$%s%9%H!<%k$K(B<strong>$B4^$a$J$$(B</strong>$B$3$H$,(B
+Apache $B%0%k!<%W$G7hDj$5$l$F$$$^$9!#(B
+$B$3$l$O!"(BsuEXEC $B$N@_Dj$K$O4IM}<T$N>\:Y$K$o$?$k?5=E$JCm0U$,I,MW(B
+$B$@$+$i$G$9!#(BsuEXEC $B$NMM!9$J@_Dj$K$D$$$F8!F$$,=*$o$l$P!"(B
+$B4IM}<T$O(B suEXEC $B$rDL>o$N%$%s%9%H!<%kJ}K!$G%$%s%9%H!<%k$9$k(B
+$B$3$H$,$G$-$^$9!#$3$l$i$N@_DjCM$O!"(BsuEXEC $B5!G=$N;HMQCf$K(B
+$B%7%9%F%`%;%-%e%j%F%#$rE,@Z$KJ]$D$?$a$K!"4IM}<T$K$h$C$F(B
+$B?5=E$K7hDj$5$l;XDj$5$l$k$3$H$,I,MW$G$9!#(B
+$B$3$N>\:Y$J<j=g$K$h$j!"(B
+Apache $B%0%k!<%W$O!"(BsuEXEC $B$N%$%s%9%H!<%k$K$D$$$F!"(B
+$BCm0U?<$/==J,$K8!F$$7$F$=$l$r;HMQ$9$k$3$H$r7hDj$7$?>l9g$K(B
+$B8B$C$F$$$?$@$-$?$$$H9M$($F$$$^$9!#(B
+</p>
+
+<p align="left">
+$B$=$l$G$b?J$_$^$9$+(B? $B$h$m$7$$!#$G$O!"@h$X?J$_$^$7$g$&(B!
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="model">suEXEC $B%;%-%e%j%F%#%b%G%k(B</a></h3>
+<p align="left">
+suEXEC $B$N@_Dj$H%$%s%9%H!<%k$r;O$a$kA0$K!"$^$:(B
+$B<BAu$7$h$&$H$7$F$$$k%;%-%e%j%F%#%b%G%k$K$D$$$F(B
+$BO@$8$F$*$-$^$9!#$=$l$K$O!"(BsuEXEC $B$NFbIt$G9T$J$o$l$F$$$k$3$H!"(B
+$B%7%9%F%`$N%;%-%e%j%F%#$rJ]>Z$9$k$?$a$K7Y9p$5$l$k$3$H(B
+$B$r$h$/M}2r$7$F$*$$$?J}$,$h$$$G$7$g$&!#(B
+</p>
+
+<p align="left">
+<strong>suEXEC</strong> $B$O!"(BApache web $B%5!<%P$+$i(B
+$B8F$S=P$5$l$k(B setuid $B$5$l$?(B "wrapper" $B%W%m%0%i%`$,4pK\$H$J$C$F$$$^$9!#(B
+$B@_7W$7$?(B CGI$B!"$^$?$O(B SSI $B%W%m%0%i%`$X$N(B HTTP $B%j%/%(%9%H$,(B
+$B$"$k$H!"$3$N(B wrapper $B$,8F$S=P$5$l$^$9!#(B
+$B$3$N$h$&$J%j%/%(%9%H$,$"$k$H!"(BApache $B$O$=$N%W%m%0%i%`$,(B
+$B<B9T$5$l$k:]$N%W%m%0%i%`L>$H%f!<%6(B ID $B$H%0%k!<%W(B ID $B$r;XDj$7$F(B
+suEXEC wrapper $B$r<B9T$7$^$9!#(B
+</p>
+
+<p align="left">
+$B$=$l$+$i!"(Bwrapper $B$O@.8y$^$?$O<:GT$r7hDj$9$k$?$a(B
+$B0J2<$N=hM}$r9T$J$$$^$9!#(B
+$B$3$l$i$N>uBV$N$&$A0l$D$G$b<:GT$7$?>l9g!"%W%m%0%i%`$O<:GT$r(B
+$B%m%0$K5-O?$7$F%(%i!<$G=*N;$7$^$9!#$=$&$G$J$1$l$P!"(B
+$B8e$N=hM}$,B3$1$i$l$^$9!#(B
+</p>
+
+<ol>
+ <li><strong>wrapper $B$,E,@Z$J?t$N0z?t$G8F$S=P$5$l$?$+(B?</strong>
+ <blockquote>
+ wrapper $B$OE,@Z$J?t$N0z?t$,M?$($i$l$?>l9g$K<B9T$5$l$^$9!#(B
+ $BE,@Z$J?t$N0z?t$r<u$1<h$i$J$1$l$P!"967b$r$5$l$?$+(B
+ $B$"$J$?$N(B Apache $B%P%$%J%j$N(B suEXEC $B$NItJ,$,(B
+ $B$I$3$+$*$+$7$$2DG=@-$,$"$j$^$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>wrapper $B$r<B9T$7$F$$$k%f!<%6$O(B
+$B$3$N%7%9%F%`$N@5Ev$J%f!<%6$+(B?</strong>
+ <blockquote>
+ $B$3$l$O!"(Bwrapper $B$r<B9T$7$F$$$k%f!<%6$,(B
+ $BK\Ev$K%7%9%F%`$NMxMQ<T$G$"$k$3$H$rJ]>Z$9$k$?$a$G$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$B$3$N@5Ev$J%f!<%6$O(B wrapper $B$N<B9T$r5v2D$5$l$F$$$k$+(B?</strong>
+ <blockquote>
+ $B$3$N%f!<%6$O(B wrapper $B<B9T$r5v2D$5$l$?%f!<%6$G$9$+(B?
+ $B$?$@0l?M$N%f!<%6(B (Apache $B%f!<%6(B) $B$@$1$,!"$3$N%W%m%0%i%`$N(B
+ $B<B9T$r5v2D$5$l$^$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$N%W%m%0%i%`$,0BA4$G$J$$3,AX$N;2>H$r$7$F$$$k$+(B?</strong>
+ <blockquote>
+ $BBP>]$N%W%m%0%i%`$,(B '/' $B$+$i;O$^$k!"$^$?$O(B
+ '..' $B$K$h$k;2>H$r9T$J$C$F$$$^$9$+(B? $B$3$l$i$O5v2D$5$l$^$;$s!#(B
+ $BBP>]$N%W%m%0%i%`$O(B Apache $B$N(B web $B6u4VFb$K$J$1$l$P$J$j$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%f!<%6L>$O@5Ev$J$b$N$+(B?</strong>
+ <blockquote>
+ $BBP>]$H$J$k%f!<%6L>$OB8:_$7$F$$$^$9$+(B?
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%0%k!<%WL>$O@5Ev$J$b$N$+(B?</strong>
+ <blockquote>
+ $BBP>]$H$J$k%0%k!<%WL>$OB8:_$7$F$$$^$9$+(B?
+ </blockquote>
+ </li>
+ <li><strong>$BL\E*$N%f!<%6$O%9!<%Q!<%f!<%6$G$O(B<em>$B$J$$(B</em>$B$+(B?</strong>
+ <blockquote>
+ $B:#$N$H$3$m!"(BsuEXEC $B$O(B 'root' $B$K$h$k(B CGI/SSI $B%W%m%0%i%`$N(B
+ $B<B9T$r5v2D$7$F$$$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%f!<%6(B ID $B$O!":G>.$N(B ID $BHV9f$h$j$b(B<em>$BBg$-$$(B</em>$B$+(B?
+ </strong>
+ <blockquote>
+ $B:G>.%f!<%6(B ID $BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#(B
+ $B$3$l$O!"(BCGI/SSI $B%W%m%0%i%`<B9T$r5v2D$5$l$k%f!<%6(B ID $B$N(B
+ $B$H$j$&$k:G>.CM$G$9!#$3$l$O(B "system" $BMQ$N%"%+%&%s%H$r(B
+ $BJD$a=P$9$N$KM-8z$G$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%0%k!<%W$O%9!<%Q!<%f!<%6$N%0%k!<%W$G$O(B<em>$B$J$$(B</em>$B$+(B?
+ </strong>
+ <blockquote>
+ $B:#$N$H$3$m!"(BsuEXEC $B$O(B 'root' $B%0%k!<%W$K$h$k(B CGI/SSI
+ $B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%0%k!<%W(B ID $B$O:G>.$N(B ID $BHV9f$h$j$b(B<em>$BBg$-$$(B</em>$B$+(B?
+ </strong>
+ <blockquote>
+ $B:G>.%0%k!<%W(B ID $BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#(B
+ $B$3$l$O!"(BCGI/SSI $B%W%m%0%i%`<B9T$r5v2D$5$l$k%0%k!<%W(B ID $B$N(B
+ $B$H$j$&$k:G>.CM$G$9!#$3$l$O(B "system" $BMQ$N%0%k!<%W$r(B
+ $BJD$a=P$9$N$KM-8z$G$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>wrapper $B$,@5>o$KBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$l$k$+(B?
+ </strong>
+ <blockquote>
+ $B$3$3$G!"(Bsetuid $B$H(B setgid $B$N5/F0$K$h$j%W%m%0%i%`$OBP>]$H$J$k(B
+ $B%f!<%6$H%0%k!<%W$K$J$j$^$9!#%0%k!<%W%"%/%;%9%j%9%H$O!"(B
+ $B%f!<%6$,B0$7$F$$$k$9$Y$F$N%0%k!<%W$G=i4|2=$5$l$^$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$B%W%m%0%i%`$,CV$+$l$k%G%#%l%/%H%j$OB8:_$7$F$$$k$+(B?
+ </strong>
+ <blockquote>
+ $B%G%#%l%/%H%j$,B8:_$7$J$$$J$i!"$=$N%U%!%$%k$bB8:_$7$J$$(B
+ $B$+$b$7$l$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$B%G%#%l%/%H%j$,(B Apache $B$N%I%-%e%a%s%H%D%j!<Fb$K$"$k$+(B?
+ </strong>
+ <blockquote>
+ $B%j%/%(%9%H$,%5!<%PFb$N$b$N$G$"$l$P!"MW5a$5$l$?%G%#%l%/%H%j$,(B
+ $B%5!<%P$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+(B?
+ $B%j%/%(%9%H$,(B UserDir $B$N$b$N$G$"$l$P!"MW5a$5$l$?%G%#%l%/%H%j$,(B
+ $B%f!<%6$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+(B?
+ </blockquote>
+ </li>
+ <li><strong>$B%G%#%l%/%H%j$rB>$N%f!<%6$,=q$-9~$a$k$h$&$K$J$C$F(B
+ <em>$B$$$J$$(B</em>$B$+(B?</strong>
+ <blockquote>
+ $B%G%#%l%/%H%j$rB>%f!<%6$K3+J|$7$J$$$h$&$K$7$^$9!#(B
+ $B=jM-%f!<%6$@$1$,$3$N%G%#%l%/%H%j$NFbMF$r2~JQ$G$-$k$h$&$K$7$^$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%W%m%0%i%`$OB8:_$9$k$+(B?</strong>
+ <blockquote>
+ $BB8:_$7$J$1$l$P<B9T$G$-$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%W%m%0%i%`%U%!%$%k$,B>%"%+%&%s%H$+$i=q$-9~$a$k$h$&$K$J$C$F(B
+ <em>$B$$$J$$(B</em>$B$+(B?</strong>
+ <blockquote>
+ $B=jM-<T0J30$K$O%W%m%0%i%`$rJQ99$9$k8"8B$OM?$($i$l$^$;$s!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%W%m%0%i%`$,(B setuid $B$^$?$O(B setgid
+ $B$5$l$F(B<em>$B$$$J$$(B</em>$B$+(B?</strong>
+ <blockquote>
+ UID/GID $B$r:FEYJQ99$7$F$N%W%m%0%i%`<B9T$O$7$^$;$s(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%f!<%6(B/$B%0%k!<%W$,%W%m%0%i%`$N%f!<%6(B/$B%0%k!<%W$HF1$8$+(B?
+ </strong>
+ <blockquote>
+ $B%f!<%6$,$=$N%U%!%$%k$N=jM-<T$G$9$+(B?
+ </blockquote>
+ </li>
+ <li><strong>$B0BA4$JF0:n$rJ]>Z$9$k$?$a$N4D6-JQ?t%/%j%"$,2DG=$+(B?</strong>
+ <blockquote>
+ suEXEC $B$O!"0BA4$J4D6-JQ?t$N%j%9%H(B
+ ($B$3$l$i$O@_Dj;~$K:n@.$5$l$^$9(B) $BFb$NJQ?t$H$7$F(B
+ $BEO$5$l$k0BA4$J(B PATH $BJQ?t(B ($B@_Dj;~$K;XDj$5$l$^$9(B) $B$r(B
+ $B@_Dj$9$k$3$H$G!"%W%m%;%9$N4D6-JQ?t$r%/%j%"$7$^$9!#(B
+ </blockquote>
+ </li>
+ <li><strong>$BBP>]$H$J$k%W%m%0%i%`$r(B exec $B$7$F<B9T$G$-$k$+(B?</strong>
+ <blockquote>
+ $B$3$3$G(B suEXEC $B$,=*N;$7!"BP>]$H$J$k%W%m%0%i%`$,3+;O$5$l$^$9!#(B
+ </blockquote>
+ </li>
+</ol>
+
+<p align="left">
+$B$3$3$^$G$,(B suEXEC $B$N(B wrapper $B$K$*$1$k%;%-%e%j%F%#%b%G%k$NI8=`E*$JF0:n$G$9!#(B
+$B$b$&>/$787=E$K(B CGI/SSI $B@_7W$K$D$$$F$N?7$7$$@)8B$d5,Dj$r(B
+$B<h$jF~$l$k$3$H$b$G$-$^$9$,!"(BsuEXEC $B$O%;%-%e%j%F%#$KCm0U$7$F(B
+$B?5=E$K>/$7$:$D3+H/$5$l$F$-$^$7$?!#(B
+</p>
+
+<p align="left">
+$B$3$N%;%-%e%j%F%#%b%G%k$rMQ$$$F(B
+$B%5!<%P@_Dj;~$K$I$N$h$&$K5v$9$3$H$r@)8B$9$k$+!"(B
+$B$^$?!"(BsuEXEC $B$rE,@Z$K@_Dj$9$k$H$I$N$h$&$J%;%-%e%j%F%#>e$N(B
+$B4m81$rHr$1$i$l$k$+$K4X$9$k$h$j>\$7$$>pJs$K$D$$$F$O!"(B
+<a href="#jabberwock">"$B$H$+$2$KCm0U(B" (Beware the Jabberwock)</a>
+ $B$N>O$r;2>H$7$F$/$@$5$$!#(B
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="install">suEXEC $B$N@_Dj$H%$%s%9%H!<%k(B</a></h3>
+<p align="left">
+$B$3$3$+$i3Z$7$/$J$j$^$9!#(BApache 1.2 $B$"$k$$$O(B <code>"src/Configure"</code>
+$B%9%/%j%W%H$G(B Apache 1.3 $B$r@_Dj$9$k$J$i!"(BsuEXEC $B%X%C%@%U%!%$%k$rJT=8$7$F(B
+$B%P%$%J%j$rE,@Z$J>l=j$K<j:n6H$G%$%s%9%H!<%k$7$J$1$l$P$J$j$^$;$s!#(B
+$B$3$N=hM}$K$D$$$F$O(B <a href="suexec_1_2.html">$BJL$NJ8=q(B</a>$B$K(B
+$B5-:\$5$l$F$$$^$9!#0J2<$N>O$G$O!"(BAutoConf-style $B%$%s%?%U%'!<%9(B
+(APACI) $B$r;H$C$?(B Apache 1.3 $B$G$N@_Dj$H%$%s%9%H!<%k$K(B
+$B$D$$$F=R$Y$F$$$^$9!#(B
+</p>
+
+<p align="left">
+<strong>APACI $B$N(B suEXEC $B@_Dj%*%W%7%g%s(B</strong><br>
+</p>
+
+<dl>
+<dt><code>--enable-suexec</code>
+<dd>$B$3$N%*%W%7%g%s$O!"%G%U%)%k%H$G$O%$%s%9%H!<%k$5$l$:!"M-8z$K$O$J$i$J$$(B
+ suEXEC $B5!G=$rM-8z$K$7$^$9!#(BsuEXEC $B$r;H$&$h$&$K(B APACI $B$K(B
+ $BMW5a$9$k$K$O!"(B--enable-suexec $B%*%W%7%g%s$K$"$o$;$F(B
+ $B>/$J$/$H$b0l$D$O(B --suexec-xxxxx $B%*%W%7%g%s$,;XDj(B
+ $B$5$l$J$1$l$P$J$j$^$;$s!#(B
+<dt><code>--suexec-caller=<em>UID</em></code>
+<dd>Apache $B$rDL>oF0:n$5$;$k(B
+ <a href="mod/core.html#user">$B%f!<%6L>(B</a>$B$r;XDj$7$^$9!#(B
+ $B$3$N%f!<%6$@$1$,(B suexec $B$N<B9T$r5v2D$5$l$?%f!<%6$K$J$j$^$9!#(B
+<dt><code>--suexec-docroot=<em>DIR</em></code>
+<dd>Apache $B$N%I%-%e%a%s%H%k!<%H$r@_Dj$7$^$9!#(B
+ $B$3$l$,(B suEXEC $B$NF0:n$G;HMQ$9$k(B
+ $BM#0l$N%G%#%l%/%H%j3,AX$K$J$j$^$9(B (UserDir $B$N;XDj$OJL(B)$B!#(B
+ $B%G%U%)%k%H$G$O(B --datedir $B$K(B "/htdocs" $B$H$$$&%5%U%#%C%/%9$r(B
+ $B$D$1$?$b$N$G$9!#(B"<code>--datadir=/home/apache</code>"
+ $B$H$7$F@_Dj$9$k$H!"(B
+ suEXEC wrapper $B$K$H$C$F(B "/home/apache/htdocs" $B$,%I%-%e%a%s%H(B
+ $B%k!<%H$H$7$F;H$o$l$^$9!#(B
+<dt><code>--suexec-logfile=<em>FILE</em></code>
+<dd>suEXEC $B$N=hM}$H%(%i!<$,5-O?$5$l$k%U%!%$%kL>$r;XDj$7$^$9!#(B
+ ($B4F::$d%G%P%C%0L\E*$KM-MQ(B)
+ $B%G%U%)%k%H$G$O%m%0%U%!%$%k$O(B "suexec_log" $B$H$$$&L>A0$G!"(B
+ $BI8=`$N%m%0%U%!%$%k%G%#%l%/%H%j(B (--logfiledir) $B$KCV$+$l$^$9!#(B
+<dt><code>--suexec-userdir=<em>DIR</em></code>
+<dd>suEXEC $B$,%"%/%;%9$r5v$5$l$k%f!<%6%[!<%`%G%#%l%/%H%jG[2<$N(B
+ $B%5%V%G%#%l%/%H%j$r;XDj$7$^$9!#$3$N%G%#%l%/%H%j0J2<$NA4<B9T(B
+ $B%U%!%$%k$O!"(B"$B0BA4$J(B" $B%W%m%0%i%`$K$J$k$h$&!"(BsuEXEC $B$,(B
+ $B$=$N%f!<%6$H$7$F<B9T$G$-$k$h$&$K$7$^$9!#(B
+ "$BC1=c$J(B" UserDir $B%G%#%l%/%F%#%V$r;H$C$F$$$k>l9g(B
+ ($B$9$J$o$A(B "*" $B$r4^$^$J$$$b$N(B)$B!"$3$l$HF1$8CM$r@_Dj$9$Y$-$G$9!#(B
+ Userdir $B%G%#%l%/%F%#%V$,$=$N%f!<%6$N%Q%9%o!<%I%U%!%$%kFb$N(B
+ $B%[!<%`%G%#%l%/%H%j$HF1$8>l=j$r;X$7$F$$$J$1$l$P!"(B
+ suEXEC $B$OE,@Z$KF0:n$7$^$;$s!#(B
+ $B%G%U%)%k%H$O(B "public_html" $B$G$9!#(B
+ <br>
+ $B3F(B UserDir $B$,0[$J$C$?2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"(B
+ $B$=$l$i$rA4$F0l$D$N?F%G%#%l%/%H%j$K4^$a$F!"$=$N?F%G%#%l%/%H%j$N(B
+ $BL>A0$r$3$3$G;XDj$9$kI,MW$,$"$j$^$9!#(B
+ <strong>$B$3$N$h$&$K;XDj$5$l$J$1$l$P(B
+ "~userdir" cgi $B$X$N%j%/%(%9%H$,F0:n$7$^$;$s!#(B</strong>
+<dt><code>--suexec-uidmin=<em>UID</em></code>
+<dd>suEXEC $B$NBP>]%f!<%6$H$7$F5v$5$l$k(B UID $B$N:G>.CM$r;XDj$7$^$9!#(B
+ $BBgDq$N%7%9%F%`$G$O(B 500 $B$+(B 100 $B$,0lHLE*$G$9!#(B
+ $B%G%U%)%k%HCM$O(B 100 $B$G$9!#(B
+<dt><code>--suexec-gidmin=<em>GID</em></code>
+<dd>suEXEC $B$NBP>]%0%k!<%W$H$7$F5v$5$l$k(B GID $B$N:G>.CM$r;XDj$7$^$9!#(B
+ $BBgDq$N%7%9%F%`$G$O(B 100 $B$,0lHLE*$J$N$G!"%G%U%)%k%HCM$H$7$F$b(B 100 $B$,;H$o$l$F$$$^$9!#(B
+<dt><code>--suexec-safepath=<em>PATH</em></code>
+<dd>CGI $B<B9T%U%!%$%k$KEO$5$l$k0BA4$J(B PATH $B4D6-JQ?t$G$9!#(B
+ $B%G%U%)%k%HCM$O(B "/usr/local/bin:/usr/bin:/bin" $B$G$9!#(B
+</dl>
+
+<p align="left">
+<strong>suEXEC $B@_Dj$N3NG'(B</strong><br>
+suEXEC wrapper $B$r%3%s%Q%$%k$7$F%$%s%9%H!<%k$9$kA0$K!"(B
+$B@_DjFbMF$r(B --layout $B%*%W%7%g%s$G3NG'$G$-$^$9!#(B
+<br>
+$B=PNONc(B:
+</p>
+
+<pre>
+ suEXEC setup:
+ suexec binary: /usr/local/apache/sbin/suexec
+ document root: /usr/local/apache/share/htdocs
+ userdir suffix: public_html
+ logfile: /usr/local/apache/var/log/suexec_log
+ safe path: /usr/local/bin:/usr/bin:/bin
+ caller ID: www
+ minimum user ID: 100
+ minimum group ID: 100
+</pre>
+
+<p align="left">
+<strong>suEXEC wrapper $B$N%3%s%Q%$%k$H%$%s%9%H!<%k(B</strong><br>
+--enable-suexec $B%*%W%7%g%s$G(B suEXEC $B5!G=$rM-8z$K$9$k$H!"(B
+"make" $B%3%^%s%I$r<B9T$7$?;~$K(B suEXEC $B$N%P%$%J%j(B (Apache $B<+BN$b(B) $B$,(B
+$B<+F0E*$K:n@.$5$l$^$9!#(B
+<br>
+$B$9$Y$F$N9=@.MWAG$,:n@.$5$l$k$H!"$=$l$i$N%$%s%9%H!<%k$K$O(B
+ "make install" $B%3%^%s%I$,<B9T$G$-$^$9!#%P%$%J%j%$%a!<%8$N(B "suexec" $B$O(B
+--sbindir $B%*%W%7%g%s$G;XDj$5$l$?%G%#%l%/%H%j$K%$%s%9%H!<%k$5$l$^$9!#(B
+$B%G%U%)%k%H$N>l=j$O(B "/usr/local/apache/sbin/suexec" $B$G$9!#(B
+<br>
+$B%$%s%9%H!<%k;~$K$O(B <em><strong>root</em></strong> $B8"8B$,(B
+$BI,MW$J$N$GCm0U$7$F$/$@$5$$!#(B
+wrapper $B$,%f!<%6(B ID $B$r@_Dj$9$k$?$a$K!"(B
+$B=jM-<T(B <em><code>root</em></code> $B$G$N(B
+$B%;%C%H%f!<%6(B ID $B%S%C%H$r$=$N%U%!%$%k$N%b!<%I$K(B
+$B@_Dj$7$J$1$l$P$J$j$^$;$s!#(B
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="enable">suEXEC $B$NM-8z2=$HL58z2=(B</a></h3>
+<p align="left">
+$B5/F0;~$K!"(BApache $B$O(B "sbin" $B%G%#%l%/%H%j$G(B "suexec" $B$rC5$7$^$9(B
+ ($B%G%U%)%k%H$O(B "/usr/local/apache/sbin/suexec") $B!#(B
+$BE,@Z$K@_Dj$5$l$?(B suEXEC $B$,$_$D$+$k$H!"%(%i!<%m%0$K(B
+$B0J2<$N%a%C%;!<%8$,=PNO$5$l$^$9!#(B
+</p>
+
+<pre>
+ [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
+</pre>
+
+<p>
+$B%5!<%P5/F0;~$K$3$N%a%C%;!<%8$,=P$J$$>l9g!"BgDq$O%5!<%P$,(B
+$BA[Dj$7$?>l=j$G(B wrapper $B%W%m%0%i%`$,8+$D$+$i$J$+$C$?$+!"(B
+<em>setuid root</em> $B$H$7$F%$%s%9%H!<%k$5$l$F$$$J$$$+$G$9!#(B
+<br>
+suEXEC $B$N;EAH$_$r;HMQ$9$k$N$,=i$a$F$G!"(BApache $B$,4{$KF0:nCf(B
+$B$G$"$l$P!"(BApache $B$r(B kill $B$7$F!":F5/F0$7$J$1$l$P$J$j$^$;$s!#(B
+HUP $B%7%0%J%k$d(B USR1 $B%7%0%J%k$K$h$kC1=c$J:F5/F0$G$OIT==J,$G$9!#(B
+<br>
+suEXEC $B$rL58z$K$9$k>l9g$O!"(B"suexec" $B%U%!%$%k$r:o=|$7$F$+$i(B
+Apache $B$r(B kill $B$7$F:F5/F0$7$^$9!#(B
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="usage">suEXEC $B$N;HMQ(B</a></h3>
+<p align="left">
+<strong>$B2>A[%[%9%H(B:</strong><br>
+suEXEC wrapper $B$N;H$$J}$H$7$F!"(B
+<a href="mod/core.html#virtualhost">$B2>A[%[%9%H(B</a>$B@_Dj$G$N(B
+<a href="mod/core.html#user">User</a> $B%G%#%l%/%F%#%V$H(B
+<a href="mod/core.html#group">Group</a> $B%G%#%l%/%F%#%V(B
+$B$rDL$7$?$b$N$,$"$j$^$9!#$3$l$i$N%G%#%l%/%F%#%V$r(B
+$B%a%$%s%5!<%P$N%f!<%6(B ID $B$H0[$J$k$b$N$K$9$k$H!"(BCGI $B%j%=!<%9(B
+$B$X$N$9$Y$F$N%j%/%(%9%H$O!"$=$N(B <code>&lt;VirtualHost&gt;</code> $B$G(B
+$B;XDj$5$l$?(B <em>User</em> $B$H(B <em>Group</em> $B$H$7$F<B9T$5$l$^$9!#(B
+<code>&lt;VirtualHost&gt;</code> $B$G$=$l$i$N(B
+$B%G%#%l%/%F%#%V$N$I$A$i$+!"$^$?$ON>J}$,;XDj$5$l$F$$$J$$>l9g!"(B
+$B%a%$%s%5!<%P$N%f!<%6(B ID $B$,A[Dj$5$l$^$9!#(B
+<p>
+<strong>$B%f!<%6%G%#%l%/%H%j(B:</strong><br>
+suEXEC wrapper $B$O!"%j%/%(%9%H@h$N%f!<%6$H$7$F(B CGI $B$r<B9T$9$k$?$a$K$b(B
+$B;H$($^$9!#$3$l$O4|BT$9$k<B9T8"8B$N%f!<%6(B ID $B$NA0$K!"(B
+"<strong><code>~</code></strong>" $BJ8;z$r(B
+$BCV$/$3$H$G<B8=$5$l$^$9!#$3$N5!G=$rF0:n$5$;$k$?$a$KI,MW$J$3$H$O!"(B
+CGI $B$r$=$N%f!<%6$G<B9T$G$-$k$3$H!"$=$N%9%/%j%W%H$,(B
+$B>e5-$N(B<a href="#model">$B%;%-%e%j%F%#8!::(B</a>$B$r(B
+$B%Q%9$G$-$k$3$H$G$9!#(B
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3><a name="debug">suEXEC $B$N%G%P%C%0(B</a></h3>
+<p align="left">
+suEXEC wrapper $B$O!">e5-$G=R$Y$?(B --suexec-logfile $B%*%W%7%g%s$G(B
+$B;XDj$5$l$?%U%!%$%k$K%m%0>pJs$r5-O?$7$^$9!#(B
+wrapper $B$rE,@Z$K@_Dj!"%$%s%9%H!<%k$G$-$F$$$k$H;W$&>l9g!"(B
+$B$I$3$GLB$C$F$$$k$+8+$h$&$H$9$k$J$i$3$N%m%0$H%5!<%P$N(B
+$B%(%i!<%m%0$r8+$k$H$h$$$G$7$g$&!#(B
+</p>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+<h3>
+<a name="jabberwock">$B$H$+$2$KCm0U(B: $B7Y9p$H;vNc(B</a>
+</h3>
+<p align="left">
+<strong>$BCm0U(B!</strong> $B$3$N>O$O40A4$G$O$"$j$^$;$s!#(B
+$B$3$N>O$N:G?72~D{HG$K$D$$$F$O!"(B
+Apache $B%0%k!<%W$N(B<a href="http://www.apache.org/docs/suexec.html">
+$B%*%s%i%$%s%I%-%e%a%s%H(B</a>$BHG$r;2>H$7$F$/$@$5$$!#(B
+</p>
+
+<p align="left">
+$B%5!<%P$N@_Dj$K@)8B$r$b$&$1$k(B wrapper $B$K$D$$$F!"(B
+$B$$$/$D$+6=L#?<$$E@$,$"$j$^$9!#(BsuEXEC $B$K4X$9$k(B "$B%P%0(B" $B$r(B
+$BJs9p$9$kA0$K$3$l$i$r3NG'$7$F$/$@$5$$!#(B
+<ul>
+ <li><strong>suEXEC $B$N6=L#?<$$E@(B</strong></li>
+ <li>$B3,AX9=B$$N@)8B(B
+ <blockquote>
+ $B%;%-%e%j%F%#$H8zN($NM}M3$+$i!"(BsuEXEC $B$NA4$F$N%j%/%(%9%H$O(B
+ $B2>A[%[%9%H$X$N%j%/%(%9%H$K$*$1$k:G>e0L$N%I%-%e%a%s%H%k!<%HFb$+!"(B
+ $B%f!<%6%G%#%l%/%H%j$X$N%j%/%(%9%H$K$*$1$k8D!9$N%f!<%6$N:G>e0L$N(B
+ $B%I%-%e%a%s%H%k!<%HFb$K;D$i$J$1$l$P$J$j$^$;$s!#(B
+ $BNc$($P!";M$D$N2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"(B
+ $B2>A[%[%9%H$N(B suEXEC $B$KM-Mx$J$h$&$K!"(B
+ $B%a%$%s$N(B Apache $B%I%-%e%a%s%H3,AX$N30B&$K(B
+ $BA4$F$N2>A[%[%9%H$N%I%-%e%a%s%H%k!<%H$r9=C[$9$kI,MW$,$"$j$^$9!#(B
+ ($BNc$O8eF|5-:\(B)
+ </blockquote>
+ </li>
+ <li>suEXEC $B$N(B PATH $B4D6-JQ?t(B
+ <blockquote>
+ $B$3$l$rJQ99$9$k$N$O4m81$G$9!#$3$N;XDj$K4^$^$l$k3F%Q%9$,(B
+ $B?.Mj$G$-$k%G%#%l%/%H%j$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#(B
+ $B@$3&$+$i$N%"%/%;%9$K$h$j!"C/$+$,%[%9%H>e$G%H%m%$$NLZGO(B
+ $B$r<B9T$G$-$k$h$&$K$O$7$?$/$J$$$G$7$g$&!#(B
+ </blockquote>
+ </li>
+ <li>suEXEC $B%3!<%I$N2~B$(B
+ <blockquote>
+ $B7+$jJV$7$^$9$,!"2?$r$d$m$&$H$7$F$$$k$+GD0.$;$:$K$3$l$r$d$k$H(B
+ <strong>$BBg$-$JLdBj(B</strong>$B$r0z$-5/$3$7$+$M$^$;$s!#(B
+ $B2DG=$J8B$jHr$1$F$/$@$5$$!#(B
+ </blockquote>
+ </li>
+</ul>
+
+<p align="center">
+<strong><a href="suexec.html">$BL\<!$KLa$k(B</a></strong>
+</p>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+</body>
+</html>
diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.en b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.en
new file mode 100644
index 00000000000..0356198a023
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.en
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Name-based Virtual Hosts</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+
+ <h1 align="CENTER">Name-based Virtual Host Support</h1>
+
+<p>This document describes when and how to use name-based virtual hosts.</p>
+
+<ul>
+<li><a href="#namevip">Name-based vs. IP-based Virtual Hosts</a></li>
+<li><a href="#using">Using Name-based Virtual Hosts</a></li>
+<li><a href="#compat">Compatibility With Older Browsers</a></li>
+</ul>
+
+<p>See also: <a href="examples.html">Virtual Host examples for common
+setups</a>, <a href="ip-based.html">IP-based Virtual Host Support</a>,
+<a href="details.html">An In-Depth Discussion of Virtual Host
+Matching</a>, and <a href="mass.html">Dynamically configured mass
+virtual hosting</a>.</p>
+
+<hr />
+
+<h2><a name="namevip">Name-based vs. IP-based Virtual Hosts</a></h2>
+
+<p>IP-based virtual hosts use the IP address of the connection to
+determine the correct virtual host to serve. Therefore you need to
+have a separate IP address for each host. With name-based virtual
+hosting, the server relies on the client to report the hostname as
+part of the HTTP headers. Using this technique, many different hosts
+can share the same IP address.</p>
+
+<p>Name-based virtual hosting is usually simpler, since you need
+only configure your DNS server to map each hostname to the correct
+IP address and then configure the Apache HTTP Server to recognize
+the different hostnames. Name-based virtual hosting also eases
+the demand for scarce IP addresses. Therefore you should use
+name-based virtual hosting unless there is a specific reason to
+choose IP-based virtual hosting. Some reasons why you might consider
+using IP-based virtual hosting:</p>
+
+<ul>
+
+<li>Some ancient clients are not compatible with name-based virtual
+hosting. For name-based virtual hosting to work, the client must send
+the HTTP Host header. This is required by HTTP/1.1, and is
+implemented by all modern HTTP/1.0 browsers as an extension. If you
+need to support obsolete clients and still use name-based virtual
+hosting, a possible technique is discussed at the end of this
+document.</li>
+
+<li>Name-based virtual hosting cannot be used with SSL secure servers
+because of the nature of the SSL protocol.</li>
+
+<li>Some operating systems and network equipment implement bandwidth
+management techniques that cannot differentiate between hosts unless
+they are on separate IP addresses.</li>
+
+</ul>
+
+<h2><a name="using">Using Name-based Virtual Hosts</a></h2>
+
+<table border="1">
+<tr><td align="top">
+<strong>Related Directives</strong><br><br>
+
+<a href="../mod/core.html#documentroot">DocumentRoot</a><br />
+<a href="../mod/core.html#namevirtualhost">NameVirtualHost</a><br />
+<a href="../mod/core.html#serveralias">ServerAlias</a><br />
+<a href="../mod/core.html#servername">ServerName</a><br />
+<a href="../mod/core.html#serverpath">ServerPath</a><br />
+<a href="../mod/core.html#virtualhost">VirtualHost</a><br />
+</td></tr></table>
+
+<p>To use name-based virtual hosting, you must designate the IP
+address (and possibly port) on the server that will be accepting
+requests for the hosts. This is configured using the <a
+href="../mod/core.html#namevirtualhost">NameVirtualHost</a> directive.
+In the normal case where any and all IP addresses on the server should
+be used, you can use <code>*</code> as the argument to
+<code>NameVirtualHost</code>. (<code>NameVirtualHost *</code> will
+work only in version 1.3.13 and later.) Note that mentioning an IP
+address in a <code>NameVirtualHost</code> directive does not
+automatically make the server listen to that IP address. See <a
+href="../bind.html">Setting which addresses and ports Apache uses</a>
+for more details. In addition, any IP address specified here must be
+associated with a network interface on the server.</p>
+
+<p>The next step is to create a <a
+href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a> block for
+each different host that you would like to serve. The argument to the
+<code>&lt;VirtualHost&gt;</code> directive should be the same as the
+argument to the <code>NameVirtualHost</code> directive (ie, an IP
+address, or <code>*</code> for all addresses). Inside each
+<code>&lt;VirtualHost&gt;</code> block, you will need at minimum a <a
+href="../mod/core.html#servername">ServerName</a> directive to
+designate which host is served and a <a
+href="../mod/core.html#documentroot">DocumentRoot</a> directive to
+show where in the filesystem the content for that host lives.</p>
+
+<p>For example, suppose that both <samp>www.domain.tld</samp> and
+<samp>www.otherdomain.tld</samp> point at an IP address
+that the server is listening to. Then you simply add the following
+to <code>httpd.conf</code>:</p>
+
+<pre>
+ NameVirtualHost *
+
+ &lt;VirtualHost *&gt;
+ ServerName www.domain.tld
+ DocumentRoot /www/domain
+ &lt;/VirtualHost&gt;
+
+ &lt;VirtualHost *&gt;
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+ &lt;/VirtualHost&gt;
+</pre>
+
+<p>You can alternatively specify an explicit IP address in place of
+the * in both the <code>NameVirtualHost</code> and
+<code>&lt;VirtualHost&gt;</code> directives. The IP address is
+required in version 1.3.12 and earlier.</p>
+
+<p>Many servers want to be accessible by more than one name. This is
+possible with the <a
+href="../mod/core.html#serveralias"><code>ServerAlias</code></a>
+directive, placed inside the &lt;VirtualHost&gt; section. For
+example if you add this to the first &lt;VirtualHost&gt; block
+above</p>
+
+<blockquote><code>
+ServerAlias domain.tld *.domain.tld
+</code></blockquote>
+
+<p>then requests for all hosts in the <code>domain.tld</code> domain
+will be served by the <code>www.domain.tld</code> virtual host. The
+wildcard characters * and ? can be used to match names. Of course,
+you can't just make up names and place them in <code>ServerName</code>
+or <code>ServerAlias</code>. You must first have your DNS server
+properly configured to map those names to an IP address associated
+with your server.</p>
+
+<p>Finally, you can fine-tune the configuration of the virtual hosts
+by placing other directives inside the
+<code>&lt;VirtualHost&gt;</code> containers. Most directives can be
+placed in these containers and will then change the configuration only
+of the relevant virtual host. To find out if a particular directive
+is allowed, check the <a
+href="../mod/directive-dist.html#Context">Context</a> of the
+directive. Configuration directives set in the <em>main server
+context</em> (outside any <code>&lt;VirtualHost&gt;</code> container)
+will be used only if they are not overriden by the virtual host
+settings.</p>
+
+<p>Now when a request arrives, the server will first check if it is
+using an IP address that matches the <code>NameVirtualHost</code>. If
+it is, then it will look at each <code>&lt;VirtualHost&gt;</code>
+section with a matching IP address and try to find one where the
+<code>ServerName</code> or <code>ServerAlias</code> matches the
+requested hostname. If it finds one, then it uses the configuration
+for that server. If no matching virtual host is found, then
+<strong>the first listed virtual host</strong> that matches the IP
+address will be used.</p>
+
+<p>As a consequence, the first listed virtual host is the
+<em>default</em> virtual host. The <code>DocumentRoot</code> from the
+<em>main server</em> will <strong>never</strong> be used when an IP
+address matches the <code>NameVirtualHost</code> directive. If you
+would like to have a special configuration for requests that do not
+match any particular virtual host, simply put that configuration in a
+<code>&lt;VirtualHost&gt;</code> container and list it first in the
+configuration file.</p>
+
+<h2><a name="compat">Compatibility with Older Browsers</a></h2>
+
+ <p>As mentioned earlier, there are some clients
+ who do not send the required data for the name-based virtual
+ hosts to work properly. These clients will always be sent the
+ pages from the first virtual host listed for that IP address
+ (the <cite>primary</cite> name-based virtual host).</p>
+
+ <p>There is a possible workaround with the <a
+ href="../mod/core.html#serverpath"><code>ServerPath</code></a>
+ directive, albeit a slightly cumbersome one:</p>
+
+ <p>Example configuration:</p>
+<pre>
+ NameVirtualHost 111.22.33.44
+
+ &lt;VirtualHost 111.22.33.44&gt;
+ ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+ &lt;/VirtualHost&gt;
+</pre>
+
+ <p>What does this mean? It means that a request for any URI
+ beginning with "<samp>/domain</samp>" will be served from the
+ virtual host <samp>www.domain.tld</samp> This means that the
+ pages can be accessed as
+ <code>http://www.domain.tld/domain/</code> for all clients,
+ although clients sending a <samp>Host:</samp> header can also
+ access it as <code>http://www.domain.tld/</code>.</p>
+
+ <p>In order to make this work, put a link on your primary
+ virtual host's page to
+ <samp>http://www.domain.tld/domain/</samp> Then, in the virtual
+ host's pages, be sure to use either purely relative links
+ (<em>e.g.</em>, "<samp>file.html</samp>" or
+ "<samp>../icons/image.gif</samp>" or links containing the
+ prefacing <samp>/domain/</samp> (<em>e.g.</em>,
+ "<samp>http://www.domain.tld/domain/misc/file.html</samp>" or
+ "<samp>/domain/misc/file.html</samp>").</p>
+
+ <p>This requires a bit of discipline, but adherence to these
+ guidelines will, for the most part, ensure that your pages will
+ work with all browsers, new and old.</p>
+
+ <p>See also: <a href="examples.html#serverpath">ServerPath
+ configuration example</a></p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.html b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.html
new file mode 100644
index 00000000000..896c07d8204
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Name-based Virtual Hosts</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="CENTER">Name-based Virtual Host Support</h1>
+
+<p>This document describes when and how to use name-based virtual hosts.</p>
+
+<ul>
+<li><a href="#namevip">Name-based vs. IP-based Virtual Hosts</a></li>
+<li><a href="#using">Using Name-based Virtual Hosts</a></li>
+<li><a href="#compat">Compatibility With Older Browsers</a></li>
+</ul>
+
+<p>See also: <a href="examples.html">Virtual Host examples for common
+setups</a>, <a href="ip-based.html">IP-based Virtual Host Support</a>,
+<a href="details.html">An In-Depth Discussion of Virtual Host
+Matching</a>, and <a href="mass.html">Dynamically configured mass
+virtual hosting</a>.</p>
+
+<hr />
+
+<h2><a name="namevip">Name-based vs. IP-based Virtual Hosts</a></h2>
+
+<p>IP-based virtual hosts use the IP address of the connection to
+determine the correct virtual host to serve. Therefore you need to
+have a separate IP address for each host. With name-based virtual
+hosting, the server relies on the client to report the hostname as
+part of the HTTP headers. Using this technique, many different hosts
+can share the same IP address.</p>
+
+<p>Name-based virtual hosting is usually simpler, since you need
+only configure your DNS server to map each hostname to the correct
+IP address and then configure the Apache HTTP Server to recognize
+the different hostnames. Name-based virtual hosting also eases
+the demand for scarce IP addresses. Therefore you should use
+name-based virtual hosting unless there is a specific reason to
+choose IP-based virtual hosting. Some reasons why you might consider
+using IP-based virtual hosting:</p>
+
+<ul>
+
+<li>Some ancient clients are not compatible with name-based virtual
+hosting. For name-based virtual hosting to work, the client must send
+the HTTP Host header. This is required by HTTP/1.1, and is
+implemented by all modern HTTP/1.0 browsers as an extension. If you
+need to support obsolete clients and still use name-based virtual
+hosting, a possible technique is discussed at the end of this
+document.</li>
+
+<li>Name-based virtual hosting cannot be used with SSL secure servers
+because of the nature of the SSL protocol.</li>
+
+<li>Some operating systems and network equipment implement bandwidth
+management techniques that cannot differentiate between hosts unless
+they are on separate IP addresses.</li>
+
+</ul>
+
+<h2><a name="using">Using Name-based Virtual Hosts</a></h2>
+
+<table border="1">
+<tr><td align="top">
+<strong>Related Directives</strong><br><br>
+
+<a href="../mod/core.html#documentroot">DocumentRoot</a><br />
+<a href="../mod/core.html#namevirtualhost">NameVirtualHost</a><br />
+<a href="../mod/core.html#serveralias">ServerAlias</a><br />
+<a href="../mod/core.html#servername">ServerName</a><br />
+<a href="../mod/core.html#serverpath">ServerPath</a><br />
+<a href="../mod/core.html#virtualhost">VirtualHost</a><br />
+</td></tr></table>
+
+<p>To use name-based virtual hosting, you must designate the IP
+address (and possibly port) on the server that will be accepting
+requests for the hosts. This is configured using the <a
+href="../mod/core.html#namevirtualhost">NameVirtualHost</a> directive.
+In the normal case where any and all IP addresses on the server should
+be used, you can use <code>*</code> as the argument to
+<code>NameVirtualHost</code>. (<code>NameVirtualHost *</code> will
+work only in version 1.3.13 and later.) Note that mentioning an IP
+address in a <code>NameVirtualHost</code> directive does not
+automatically make the server listen to that IP address. See <a
+href="../bind.html">Setting which addresses and ports Apache uses</a>
+for more details. In addition, any IP address specified here must be
+associated with a network interface on the server.</p>
+
+<p>The next step is to create a <a
+href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a> block for
+each different host that you would like to serve. The argument to the
+<code>&lt;VirtualHost&gt;</code> directive should be the same as the
+argument to the <code>NameVirtualHost</code> directive (ie, an IP
+address, or <code>*</code> for all addresses). Inside each
+<code>&lt;VirtualHost&gt;</code> block, you will need at minimum a <a
+href="../mod/core.html#servername">ServerName</a> directive to
+designate which host is served and a <a
+href="../mod/core.html#documentroot">DocumentRoot</a> directive to
+show where in the filesystem the content for that host lives.</p>
+
+<p>For example, suppose that both <samp>www.domain.tld</samp> and
+<samp>www.otherdomain.tld</samp> point at an IP address
+that the server is listening to. Then you simply add the following
+to <code>httpd.conf</code>:</p>
+
+<pre>
+ NameVirtualHost *
+
+ &lt;VirtualHost *&gt;
+ ServerName www.domain.tld
+ DocumentRoot /www/domain
+ &lt;/VirtualHost&gt;
+
+ &lt;VirtualHost *&gt;
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+ &lt;/VirtualHost&gt;
+</pre>
+
+<p>You can alternatively specify an explicit IP address in place of
+the * in both the <code>NameVirtualHost</code> and
+<code>&lt;VirtualHost&gt;</code> directives. The IP address is
+required in version 1.3.12 and earlier.</p>
+
+<p>Many servers want to be accessible by more than one name. This is
+possible with the <a
+href="../mod/core.html#serveralias"><code>ServerAlias</code></a>
+directive, placed inside the &lt;VirtualHost&gt; section. For
+example if you add this to the first &lt;VirtualHost&gt; block
+above</p>
+
+<blockquote><code>
+ServerAlias domain.tld *.domain.tld
+</code></blockquote>
+
+<p>then requests for all hosts in the <code>domain.tld</code> domain
+will be served by the <code>www.domain.tld</code> virtual host. The
+wildcard characters * and ? can be used to match names. Of course,
+you can't just make up names and place them in <code>ServerName</code>
+or <code>ServerAlias</code>. You must first have your DNS server
+properly configured to map those names to an IP address associated
+with your server.</p>
+
+<p>Finally, you can fine-tune the configuration of the virtual hosts
+by placing other directives inside the
+<code>&lt;VirtualHost&gt;</code> containers. Most directives can be
+placed in these containers and will then change the configuration only
+of the relevant virtual host. To find out if a particular directive
+is allowed, check the <a
+href="../mod/directive-dist.html#Context">Context</a> of the
+directive. Configuration directives set in the <em>main server
+context</em> (outside any <code>&lt;VirtualHost&gt;</code> container)
+will be used only if they are not overriden by the virtual host
+settings.</p>
+
+<p>Now when a request arrives, the server will first check if it is
+using an IP address that matches the <code>NameVirtualHost</code>. If
+it is, then it will look at each <code>&lt;VirtualHost&gt;</code>
+section with a matching IP address and try to find one where the
+<code>ServerName</code> or <code>ServerAlias</code> matches the
+requested hostname. If it finds one, then it uses the configuration
+for that server. If no matching virtual host is found, then
+<strong>the first listed virtual host</strong> that matches the IP
+address will be used.</p>
+
+<p>As a consequence, the first listed virtual host is the
+<em>default</em> virtual host. The <code>DocumentRoot</code> from the
+<em>main server</em> will <strong>never</strong> be used when an IP
+address matches the <code>NameVirtualHost</code> directive. If you
+would like to have a special configuration for requests that do not
+match any particular virtual host, simply put that configuration in a
+<code>&lt;VirtualHost&gt;</code> container and list it first in the
+configuration file.</p>
+
+<h2><a name="compat">Compatibility with Older Browsers</a></h2>
+
+ <p>As mentioned earlier, there are some clients
+ who do not send the required data for the name-based virtual
+ hosts to work properly. These clients will always be sent the
+ pages from the first virtual host listed for that IP address
+ (the <cite>primary</cite> name-based virtual host).</p>
+
+ <p>There is a possible workaround with the <a
+ href="../mod/core.html#serverpath"><code>ServerPath</code></a>
+ directive, albeit a slightly cumbersome one:</p>
+
+ <p>Example configuration:</p>
+<pre>
+ NameVirtualHost 111.22.33.44
+
+ &lt;VirtualHost 111.22.33.44&gt;
+ ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+ &lt;/VirtualHost&gt;
+</pre>
+
+ <p>What does this mean? It means that a request for any URI
+ beginning with "<samp>/domain</samp>" will be served from the
+ virtual host <samp>www.domain.tld</samp> This means that the
+ pages can be accessed as
+ <code>http://www.domain.tld/domain/</code> for all clients,
+ although clients sending a <samp>Host:</samp> header can also
+ access it as <code>http://www.domain.tld/</code>.</p>
+
+ <p>In order to make this work, put a link on your primary
+ virtual host's page to
+ <samp>http://www.domain.tld/domain/</samp> Then, in the virtual
+ host's pages, be sure to use either purely relative links
+ (<em>e.g.</em>, "<samp>file.html</samp>" or
+ "<samp>../icons/image.gif</samp>" or links containing the
+ prefacing <samp>/domain/</samp> (<em>e.g.</em>,
+ "<samp>http://www.domain.tld/domain/misc/file.html</samp>" or
+ "<samp>/domain/misc/file.html</samp>").</p>
+
+ <p>This requires a bit of discipline, but adherence to these
+ guidelines will, for the most part, ensure that your pages will
+ work with all browsers, new and old.</p>
+
+ <p>See also: <a href="examples.html#serverpath">ServerPath
+ configuration example</a></p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.ja.jis b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.ja.jis
new file mode 100644
index 00000000000..8b41b008e0b
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/vhosts/name-based.html.ja.jis
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML><HEAD>
+<!-- English revision: 1.15 -->
+<TITLE>Apache $B$N%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H(B</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+ <div align="CENTER">
+ <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server Version 1.3</h3>
+ </div>
+
+<H1 ALIGN="CENTER">Apache $B$N%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$N%5%]!<%H(B</H1>
+
+<STRONG>$B;29M(B:</STRONG>
+<A HREF="ip-based.html">IP $B%Y!<%9$N%P!<%A%c%k%[%9%H$N%5%]!<%H(B</A>
+
+<HR>
+
+<H2>$B%M!<%`%Y!<%9$H(B IP $B%Y!<%9$N%P!<%A%c%k%[%9%H$NHf3S(B</H2>
+
+<P>$B=i4|$N%P!<%8%g%s$N(B HTTP $B$G$O(B ($BB>$NB?$/$N%W%m%H%3%k!"Nc$($P(B FTP $B$HF1MM(B)
+$B0l$D$N%5!<%P>e$G$N%P!<%A%c%k%[%9%H$4$H$K0[$J$C$?(B IP $B%"%I%l%9$,I,MW$G$7$?!#(B
+$B$$$/$D$+$N%W%i%C%H%U%)!<%`$G$O!"(B
+$B$3$l$,<B9T2DG=$J%P!<%A%c%k%[%9%H$N?t$r8BDj$7$F$7$^$&$3$H$K$J$j$^$7$?!#(B
+$B$^$?!"(BIP $B%"%I%l%9$N?t$K$O8B$j$,$"$k$H$$$&$3$H$K$D$$$F$N7|G0$+$i!"(B
+$B%l%8%9%H%i(B (ARIN, RIPE, APNIC) $B$O%P!<%A%c%k%[%9%H$4$H$K(B
+IP $B$r3d$jEv$F$k$h$&$J$3$H$OHr$1$k$h$&6/$/MW@A$7$F$$$^$9!#(B</P>
+
+<P><CODE>HTTP/1.1</CODE> $B%W%m%H%3%k$d!"(B
+<CODE>HTTP/1.0</CODE> $B$G$N0lHLE*$J3HD%$K$O!"(B
+$B$I$NL>A0$G%j%/%(%9%H$5$l$F$$$k$N$+$r%5!<%P$,H=JL$9$kJ}K!$,$"$j$^$9!#(B
+Apache 1.1 $B0J9_$G$O@N$+$i$N!V%[%9%HL>$4$H$K(B IP $B%"%I%l%9!W$H$$$&J}K!$K2C$($F!"(B
+$B$3$N%"%W%m!<%A$b%5%]!<%H$7$F$$$^$9!#(B</P>
+
+<P>$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$NMxE@$H$7$F$O!"(B
+$B;v<B>eL58B$N?t$N%5!<%P$r1?MQ$G$-$k$H$$$&$3$H!"@_Dj$7MxMQ$9$k$N$,4JC1$J$3$H!"(B
+$BDI2C$N%O!<%I%&%'%"$d%=%U%H%&%'%"$,ITMW$J$3$H!"$H$$$&$N$,$"$j$^$9!#(B
+
+$B$b$C$H$bBg$-$JLdBjE@$H$7$F$O!"(B
+$B%/%i%$%"%s%H$O$3$N%W%m%H%3%k$r%5%]!<%H$7$J$1$l$P$$$1$J$$$H$$$&$3$H$G$9!#(B
+$B$[$H$s$I$9$Y$F$N%V%i%&%6$G%5%]!<%H$5$l$F$$$^$9$,!"(B
+$B%5%]!<%H$7$F$$$J$$%V%i%&%6$b>/$J$$$J$,$i$b0MA3$H$7$FB8:_$7$F$$$^$9!#(B
+$B$=$N$?$a$KLdBj$,H/@8$9$k$3$H$,$"$j$^$9!#$3$l$KBP$9$k2r7hJ}K!$K(B
+$B$J$jF@$k$b$N$O8e=R$7$^$9!#(B</P>
+
+<H2>$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$rMxMQ$9$k(B</H2>
+
+<P>$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$rMxMQ$9$k$N$O$H$F$b4JC1$G$9!#(B
+$B8+$?L\$K$O=>Mh$N(B IP $B%Y!<%9$NJ}K!$K;w$F$$$^$9!#(B
+
+IP $B%Y!<%9$H%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$N@_Dj$N=EMW$J0c$$$O!"(B
+<A HREF="../mod/core.html#namevirtualhost"><CODE>NameVirtualHost</CODE></A>
+$B%G%#%l%/%F%#%V$G!"%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$N%?!<%2%C%H$H$7$F;H$o$l$k(B
+IP $B%"%I%l%9$r;XDj$9$k$H$$$&$3$H$G$9!#(B</P>
+
+<P>$B$?$H$($P!"(B
+<SAMP>www.domain.tld</SAMP> $B$H(B <SAMP>www.otherdomain.tld</SAMP>
+$B$NN>J}$,(B <SAMP>111.22.33.44</SAMP> $B$H$$$&(B IP $B%"%I%l%9$r;X$7$F$$$k$H$7$^$7$g$&!#(B
+
+$B$=$N$h$&$J>l9g$O!"(BApache $B$N@_Dj%U%!%$%k$N0l$D(B
+($BDL>o$O(B <CODE>httpd.conf</CODE> $B$+(B <CODE>srm.conf</CODE> $B$N$I$A$i$+(B) $B$K(B
+$B0J2<$N$h$&$J%3!<%I$rDI2C$9$k$@$1$G$9(B:</P>
+
+<PRE>
+ NameVirtualHost 111.22.33.44
+
+ &lt;VirtualHost 111.22.33.44&gt;
+ ServerName www.domain.tld
+ DocumentRoot /www/domain
+ &lt;/VirtualHost&gt;
+
+ &lt;VirtualHost 111.22.33.44&gt;
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+ &lt;/VirtualHost&gt;
+</PRE>
+
+<P>$B$b$A$m$s!"%G%#%l%/%F%#%V$r(B
+<CODE>&lt;VirtualHost&gt;</CODE>
+$B%;%/%7%g%s$KDI2C$9$k$3$H$,$G$-$^$9(B ($B$9$k$Y$-$G$9(B) $B!#(B
+
+$B$3$l$rF0:n$9$k$?$a$KI,MW$J$3$H$O!"(B
+<SAMP>www.domain.tld</SAMP> $B$d(B <SAMP>www.otherdomain.tld</SAMP>
+$B$H$$$&L>A0$,(B IP $B%"%I%l%9(B <SAMP>111.22.33.44</SAMP>
+$B$r;X$7$F$$$k$+3NG'$9$k$H$$$&$3$H$@$1$G$9!#(B</P>
+
+<P>$BCm0U(B: <CODE>NameVirtualHost</CODE> $B%G%#%l%/%F%#%V$G(B
+IP $B%"%I%l%9$r;XDj$7$?>l9g!"$=$N(B IP $B%"%I%l%9$X$N%j%/%(%9%H$O!"(B
+$B>o$K$=$N%j%/%(%9%H$K%^%C%A$9$k(B &lt;VirtualHost&gt; $B$G$N$_=hM}$5$l$^$9!#(B
+$B$=$N(B IP $B%"%I%l%9$G$O!V%a%$%s%5!<%P!W$O(B<STRONG>$B7h$7$F(B</STRONG>$B8+$($^$;$s!#(B
+$B%P!<%A%c%k%[%9%H$r;H$&$N$G$"$l$P!V%a%$%s%5!<%P!W$rFHN)$7$?%5!<%P$H$7$F;H$&$N$O(B
+$B;_$a$k$Y$-$G$9!#$`$7$m!"$=$NItJ,$O$9$Y$F$N%P!<%A%c%k%[%9%H$G6&DL$J@_Dj%G%#%l(B
+$B%/%F%#%V$r5-=R$9$k$?$a$K;HMQ$7$F$/$@$5$$!#(B
+$B8@$$49$($k$H!"%5!<%P>e$G1?MQ$7$?$$(B<EM>$B$9$Y$F$N(B</EM>$B%5!<%P(B
+($B%[%9%HL>(B) $B$K$D$$$F(B &lt;VirtualHost&gt; $B%;%/%7%g%s$rDI2C$9$Y$-$G$9!#(B
+
+<P>Apache 1.3.13 $B0J9_$G$O!"(B
+
+<CODE>NameVirtualHost</CODE> $B$N(B IP $B%"%I%l%9$K%o%$%k%I%+!<%I(B <CODE>*</CODE>
+$B$r;XDj$G$-$^$9!#$3$N%o%$%k%I%+!<%I$O!"(B
+$B$h$j6qBNE*$J%P!<%A%c%k%[%9%H$N%G%#%l%/%F%#%V$G%+%P!<$5$l$F$$$J$$G$0U$N(B
+IP $B%"%I%l%9$K%^%C%A$7$^$9!#(B
+$B$3$l$O!"A0$b$C$F(B IP $B%"%I%l%9$rCN$k$3$H$N$G$-$J$$%5!<%P$r@_Dj$9$k:]$KLr(B
+$B$KN)$A$^$9!#$?$H$($P!"F0E*$K(B IP $B%"%I%l%9$,@_Dj$5$l$k>l9g$d!"F1$8@_Dj%U%!(B
+$B%$%k$r6&M-$9$kIi2YJ,;6$N$?$a$N%/%i%9%?$N0lIt$H$J$k>l9g$J$I$G$9!#(B</P>
+
+<P>$B$5$i$K!"J#?t$NL>A0$G%5!<%P%"%/%;%9$,$G$-$k$h$&$K$7$?$$$3$H$bB?$$$G$7$g$&!#(B
+$B$?$H$($P!"F1$8(B IP $B%"%I%l%9$r;X$9(B
+<CODE>domain.tld</CODE> $B$H(B <CODE>www2.domain.tld</CODE>
+$B$N$I$A$i$G$G$b%5!<%P$K%"%/%;%9$G$-$k$h$&$K$7$?$$>l9g$J$I$G$9!#(B
+$B$=$l$I$3$m$+!"(B<CODE>domain.tld</CODE> $B$N$I$s$J%"%I%l%9$G$G$b$=$N%5!<%P$K(B
+$B%"%/%;%9$G$-$k$h$&$K$7$?$$>l9g$,$"$k$+$b$7$l$^$;$s!#(B
+
+$B$3$N$h$&$J$3$H$O!"(B
+<A HREF="../mod/core.html#serveralias"><CODE>ServerAlias</CODE></A>
+$B%G%#%l%/%F%#%V$r(B &lt;VirtualHost&gt; $B%;%/%7%g%s$K5-=R$9$k$3$H$G<B8=$G$-$^$9!#(B
+$B$?$H$($P(B:</P>
+
+<PRE>
+ ServerAlias domain.tld *.domain.tld
+</PRE>
+
+<P><CODE>*</CODE> $B$d(B <CODE>?</CODE> $B$r%o%$%k%I%+!<%IJ8;z$H$7$F;HMQ$G$-$k$3$H$K(B
+$BCm0U$7$F$/$@$5$$!#(B</P>
+
+<P>$BIaDL$O%I%a%$%sL>$r>JN,$9$k$G$"$m$&%m!<%+%k$N%f!<%6$N$?$a$K(B
+<CODE>ServerAlias</CODE> $B$,I,MW$+$b$7$l$^$;$s!#(B
+
+$B$?$H$($P!"$b$7%m!<%+%k$N%f!<%6$,(B "www" $B$d(B "www.foobar" $B$H%?%$%W$9$k$N$K(B
+$B?F$7$s$G$$$k>l9g!"(B
+<CODE>ServerAlias www www.foobar</CODE> $B$rDI2C$9$kI,MW$,$"$k$G$7$g$&!#(B
+
+$B%/%i%$%"%s%H$,L>A0$N2r7h$K$I$N$h$&$J%I%a%$%sL>$r;H$C$?$N$+$r%5!<%P$,(B
+$BCN$k$3$H$OIT2DG=$G$9!#%/%i%$%"%s%H$O%j%/%(%9%H$K$=$N$h$&$J>pJs$r4^$a$J$$(B
+$B$+$i$G$9!#(B
+$BDL>o$O!"(B<CODE>ServerAlias</CODE> $B%G%#%l%/%F%#%V$OF1$8%P!<%A%c%k%[%9%H$KBP$7$F(B
+$B0[$J$C$?%[%9%HL>$r3d$jEv$F$kJ}K!$G$9!#(B</P>
+
+<H2>$B8E$$%V%i%&%6$H$N8_49@-(B</H2>
+
+<P>$B>e$G=q$$$?$h$&$K!"%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H$,@5$7$/F0:n$9$k(B
+$B$?$a$KI,MW$J>pJs$rAw$C$F$3$J$$%/%i%$%"%s%H$,0MA3$H$7$FB8:_$7$F$$$^$9!#(B
+$B$=$N$h$&$J%/%i%$%"%s%H$KBP$7$F$O!"3:Ev$9$k(B IP $B%"%I%l%9$K$D$$$F!"(B
+$B0lHV:G=i$K@_Dj$5$l$F$$$k%P!<%A%c%k%[%9%H(B
+(<CITE>$B%W%i%$%^%j(B</CITE>$B$N%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H(B)
+$B$+$i%Z!<%8$,Aw$jJV$5$l$^$9!#(B</P>
+
+<P><A HREF="../mod/core.html#serverpath"><CODE>ServerPath</CODE></A>
+$B%G%#%l%/%F%#%V$GBP=h$,2DG=$G$9!#$A$g$C$HIT3J9%$G$9$1$l$I$b!#(B</P>
+
+<P>$B@_DjNc(B:
+
+<PRE>
+ NameVirtualHost 111.22.33.44
+
+ &lt;VirtualHost 111.22.33.44&gt;
+ ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+ &lt;/VirtualHost&gt;
+</PRE>
+
+<P>$B$3$NNc$K$O$I$&$$$&0UL#$,$"$k$G$7$g$&$+(B? $B$3$l$O(B
+"<SAMP>/domain</SAMP>" $B$G;O$^$k(B URI $B$X$N%j%/%(%9%H$O$9$Y$F!"(B
+$B%P!<%A%c%k%[%9%H(B <SAMP>www.domain.tld</SAMP> $B$G=hM}$5$l$k!"$H$$$&0UL#$G$9!#(B
+
+$B$D$^$j!"$9$Y$F$N%/%i%$%"%s%H$G(B
+<CODE>http://www.domain.tld/domain/</CODE> $B$G%"%/%;%9$G$-$k%Z!<%8$,!"(B
+<SAMP>Host:</SAMP> $B%X%C%@$rAw$C$F$/$k%/%i%$%"%s%H$G$"$l$P(B
+<CODE>http://www.domain.tld/</CODE> $B$H$7$F$b%"%/%;%9$G$-$k!"$H$$$&(B
+$B0UL#$G$9!#(B</P>
+
+<P>$B$3$l$r<BMQE*$J$b$N$H$9$k$?$a$K$O!"(B
+$B%W%i%$%^%j$N%P!<%A%c%k%[%9%H$N%Z!<%8$K(B
+<SAMP>http://www.domain.tld/domain/</SAMP> $B$X$N%j%s%/$r@_CV$7$^$9!#(B
+
+$B$=$7$F!"%P!<%A%c%k%[%9%H$N%Z!<%8$G$O!"(B
+$B=c?h$JAjBP%j%s%/(B (<EM>$BNc(B:</EM> "<SAMP>file.html</SAMP>" $B$d(B
+"<SAMP>../icons/image.gif</SAMP>")$B!"(B
+$B$"$k$$$O(B <SAMP>/domain/</SAMP> $B$G;O$^$k%j%s%/(B
+(<EM>$BNc(B:</EM> "<SAMP>http://www.domain.tld/domain/misc/file.html</SAMP>" $B$d(B
+"<SAMP>/domain/misc/file.html</SAMP>") $B$@$1$r@_CV$7$^$9!#(B</P>
+
+<P>$B$3$l$K$O!"4vJ,$+$N5,N'$,I,MW$H$J$j$^$9$,!"(B
+$B$3$N$h$&$J%,%$%I%i%$%s$rCi<B$K<i$k$3$H$K$h$j!"$?$$$F$$$N>l9g!"(B
+$B$9$Y$F$N%V%i%&%6$G!=?7$7$$%V%i%&%6$G$b8E$$$b$N$G$b!=(B
+$B:n@.$7$?%Z!<%8$,8+$($k$H$$$&$3$H$rJ]>Z$7$^$9!#(B</P>
+
+<P>$B;29M(B: <A HREF="examples.html#serverpath">ServerPath $B@_DjNc(B</A></P>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server Version 1.3</h3>
+ <a href="./"><img src="../images/index.gif" alt="Index" /></a>
+ <a href="../"><img src="../images/home.gif" alt="Home" /></a>
+
+</BODY>
+</HTML>
diff --git a/usr.sbin/httpd/htdocs/manual/win_service.html.en b/usr.sbin/httpd/htdocs/manual/win_service.html.en
new file mode 100644
index 00000000000..9e1bc7a3552
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/win_service.html.en
@@ -0,0 +1,445 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Running Apache for Windows as a Service</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Running Apache for Windows as a Service</h1>
+
+ <p>Apache can be run as a service on Windows NT/2000. (There is
+ also some experimental support for similar behavior on
+ <a href="#win95svc">Windows 95/98</a>, introduced with Apache
+ 1.3.13).</p>
+
+ <p>Installing Apache as a service should only be done once you
+ can successfully run it in a console window. See <a
+ href="windows.html">Using Apache with Microsoft Windows</a>
+ before you attempt to install or run Apache as a service.
+ Changes to the httpd.conf file should always be followed by
+ starting Apache as a console window. If this succeeds, the
+ service should succeed.</p>
+
+ <p><strong>NOTE: Prior to version 1.3.13, the configuration was
+ <em>not tested</em> prior to performing the
+ installation</strong>, and a lack of service dependencies often
+ caused the console window to succeed, but the service would
+ still fail. See <a href="#service">below</a> if you are having
+ problems running a version of Apache prior to 1.3.13 to resolve
+ the issue. If you have this problem with version 1.3.13 or
+ greater, first try uninstalling (-u) and re-installing (-i) the
+ Apache service. Better yet, upgrade to the most recent version.</p>
+ <hr />
+
+ <p>To start Apache as a service, you first need to install it
+ as a service. Multiple Apache services can be installed, each
+ with a different name and configuration. To install the default
+ Apache service named "Apache", choose the "Install as Service for
+ All Users" option when launching the Apache installation package.
+ Once this is done you can start the "Apache" service by opening
+ the Services window (in the Control Panel, hidden in "Administrative
+ Tools" on Windows 2000), selecting Apache, then clicking
+ on Start. Apache will now be running, hidden in the background.
+ You can later stop Apache by clicking on Stop. As an
+ alternative to using the Services window, you can start and
+ stop the "Apache" service from the command line with</p>
+<pre>
+ NET START APACHE
+ NET STOP APACHE
+</pre>
+
+ <p>See <a href="#signal">Controlling Apache as a Service</a>
+ for more information on installing and controlling Apache
+ services.</p>
+
+ <p><strong>Apache, unlike many other Windows NT/2000 services,
+ logs most errors to its own error.log file, in the logs folder
+ within the Apache server root folder. You will find few Apache
+ error details in the Windows NT Event Log. Only errors as
+ Apache attempts to start are captured in the Application Event
+ Log.</strong></p>
+
+ <p>After starting Apache as a service (or if you have trouble
+ starting it) you can test it using the same <a
+ href="windows.html#test">procedure</a> as for running in a
+ console window. Remember to use the command:</p>
+<pre>
+ apache -n "service name"
+</pre>
+
+ <p>to assure you are using the service's default
+ configuration.</p>
+
+ <h2><a id="service" name="service">Running Apache for Windows
+ as a Service</a></h2>
+
+ <p><strong>Note: The -n option to specify a service name is
+ only available with Apache 1.3.7 and later.</strong> Earlier
+ versions of Apache only support the default service name
+ 'Apache'. Only version 1.3.21 supports Windows 2000 ability
+ to 'rename' the display name of a service.</p>
+
+ <p>You can install Apache as a Windows NT service as
+ follows:</p>
+<pre>
+ apache -i -n "service name"
+</pre>
+
+ <p>To install a service to use a particular configuration,
+ specify the configuration file when the service is
+ installed:</p>
+<pre>
+ apache -i -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+ <p>You can pass any other arguments, such as -d to change the
+ default server root directory, -D, -C or -c to change config
+ file processing, etc. Since these are stored in the registry
+ and are difficult to modify, use this command to clear the
+ options and replace them with a new list of options;</p>
+<pre>
+ apache -k config -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+ <p>To remove an Apache service, use:</p>
+<pre>
+ apache -u -n "service name"
+</pre>
+
+ <p>The default "service name", if one is not specified, is
+ "Apache".</p>
+
+ <p>Once a service is installed, you can use the <samp>-n</samp>
+ option, in conjunction with other options, to refer to a
+ service's configuration file. For example:</p>
+
+ <p>To test a service's configuration file and report the
+ default options for the service (configured with -i, -k install
+ or -k config) use:</p>
+<pre>
+ apache -n "service name" -t
+</pre>
+
+ <p>To start a console Apache using a service's configuration
+ file and its default options, use:</p>
+<pre>
+ apache -n "service name"
+</pre>
+
+ <p>Effective with Apache release 1.3.15, the -k install option
+ was added as an alias to -i, and the -k uninstall option was
+ added as an alias to -u. The original -i and -u options are
+ deprecated in Apache 2.0. These aliases were added to ease the
+ transition for administrators running both versions.</p>
+
+ <h2><a id="depends" name="depends">Important Note on service
+ dependencies:</a></h2>
+
+ <p>Prior to Apache release 1.3.13, the dependencies required to
+ successfully start an installed service were not configured.
+ After installing a service using earlier versions of Apache,
+ you must follow these steps:</p>
+<pre>
+ Run regedt32
+ Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu
+ Double-click to open the SYSTEM, then the CurrentControlSet keys
+ Scroll down and click on the Apache servicename
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnGroup
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Leave the Multi-String Editor dialog empty and click OK
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnService
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Type the following list (one per line) in the Multi-String Editor dialog
+ Tcpip
+ Afd
+ and click OK
+</pre>
+
+ <p>If you are using COM or DCOM components from a third party
+ module, ISAPI, or other add-in scripting technologies such as
+ ActiveState Perl, you may also need to add the entry Rpcss to
+ the DependOnService list. To avoid exposing the TCP port 135
+ when it is unnecessary, Apache does not create that entry upon
+ installation. Follow the directions above to find or create the
+ DependOnService value, double click that value if it already
+ exists, and add the Rpcss entry to the list.</p>
+
+ <p>Other installations may require additional dependencies.
+ If any files required at startup reside on a network drive, you
+ may need to first configure the service to depend on the network
+ redirector (usually lanmanworkstation) and follow the directions
+ below under the "User Account for Apache Service to Run As" section.</p>
+
+ <p>Attempting to use both IIS and Apache, on the same port but on
+ two different IP addresses may require the W3SVC (IIS) to start prior
+ to Apache, because IIS tries to glom onto all IP addresses (0.0.0.0)
+ as it starts, and will fail if Apache has already started on a
+ specific IP address.</p>
+
+ <p>Apache 1.3.21 introduces a MUCH simpler way to add a dependency.
+ The -W "servicename" argument modifies the -k install or -k config
+ commands to configure a dependency for Apache. Multiple -W arguments
+ may be given, but they should all occur after the -k option.
+ For example, to add the LanmanWorkstation dependency to an installed
+ "Apache" service, use this command:</p>
+<pre>
+ apache -k config -n Apache -W LanmanWorkstation
+</pre>
+
+ <h2>User Account for Apache Service to Run As (NT/2000)</h2>
+
+ <p>When Apache is first installed as a service (e.g. with the
+ -i option) it will run as user "System" (the LocalSystem
+ account). There should be few issues if all resources for the
+ web server reside on the local system, but it has broad
+ security privileges to affect the local machine!</p>
+
+ <blockquote>
+ LocalSystem is a very privileged account locally, so you
+ shouldn't run any shareware applications there. However, it
+ has no network privileges and cannot leave the machine via
+ any NT-secured mechanism, including file system, named pipes,
+ DCOM, or secure RPC.
+ </blockquote>
+
+ <p><strong>NEVER grant network privileges to the SYSTEM
+ account!</strong> Create a new user account instead, grant the
+ appropriate privileges to that user, and use the 'Log On As:'
+ option. Select the Start Menu -&gt; Settings -&gt; Control
+ Panel -&gt; Services -&gt; apache service ... and click the
+ "Startup" button to access this setting.</p>
+
+ <blockquote>
+ A service that runs in the context of the LocalSystem account
+ inherits the security context of the SCM. It is not
+ associated with any logged-on user account and does not have
+ credentials (domain name, user name, and password) to be used
+ for verification.
+ </blockquote>
+
+ <p>The SYSTEM account has no privileges to the network, so
+ shared pages or a shared installation of Apache is invisible to
+ the service. If you intend to use <em>any</em> network
+ resources, the following steps should help:</p>
+
+ <ul>
+ <li>Select Apache from the Control Panel's Service dialog and
+ click Startup.</li>
+
+ <li>Verify that the service account is correct. You may wish
+ to create an account for your Apache services.</li>
+
+ <li>Retype the password and password confirmation.</li>
+
+ <li>Go to User Manager for Domains.</li>
+
+ <li>Click on Policies from the title bar menu, and select
+ User Rights.</li>
+
+ <li>Select the option for Advanced User Rights.</li>
+
+ <li>
+ In the drop-down list, verify that the following rights
+ have been granted to the selected account:
+
+ <ul>
+ <li>Act as part of the operating system</li>
+
+ <li>Back up files and directories</li>
+
+ <li>Log on as a service</li>
+
+ <li>Restore files and directories</li>
+ </ul>
+ </li>
+
+ <li>Confirm that the selected account is a member of the
+ Users group.</li>
+
+ <li>Confirm the selected account has access to all document
+ and script directories (minimally read and browse
+ access).</li>
+
+ <li>Confirm the selected account has read/write/delete access
+ to the Apache logs directory!</li>
+ </ul>
+
+ <p>If you allow the account to log in as a user, then you can
+ log in yourself and test that the account has the privileges to
+ execute the scripts, read the web pages, and that you can start
+ Apache in a console window. If this works, and you have
+ followed the steps above, Apache should execute as a service
+ with no problems.</p>
+
+ <p><strong>Note: error code 2186</strong> is a good indication
+ that you need to review the 'Log On As' configuration, since
+ the server can't access a required network resource.</p>
+
+ <h2><a id="trouble" name="trouble">Troubleshooting Apache for
+ Windows as a Service</a></h2>
+
+ <p>When starting Apache as a service you may encounter an error
+ message from Windows service manager. For example if you try to
+ start Apache using the Services applet in Windows Control Panel
+ you may get the following message;</p>
+<pre>
+ Could not start the apache service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly.
+</pre>
+
+ <p>You will get this error if there is any problem starting
+ Apache. In order to see what is causing the problem you should
+ follow the instructions for <a href="windows.html#test">Testing
+ Apache at the Command Prompt</a>.</p>
+
+ <p>Also, Apache 1.3.13 now records startup errors in the
+ Application Event Log under Windows NT/2000, if Apache is run
+ as a service. Run the Event Viewer and select <u>L</u>og ...
+ <u>A</u>pplication to see these events.</p>
+
+ <p><strong>Check the Application Event Log with the Event
+ Viewer in case of any problems, even if no error message pops
+ up to warn you that an error occurred.</strong></p>
+
+ <h2><a id="cmdline" name="cmdline">Running Apache for Windows
+ from the Command Line</a></h2>
+ For details on controlling Apache service from the command
+ line, please refer to <a href="windows.html#cmdline">console
+ command line</a> section.
+
+ <h2><a id="signal" name="signal">Controlling Apache as a
+ Service</a></h2>
+
+ <p>Multiple instances of Apache can be installed and run as
+ services. Signal an installed Apache service to start, restart,
+ or shutdown/stop as follows:</p>
+<pre>
+ apache -n "service name" -k start
+ apache -n "service name" -k restart
+ apache -n "service name" -k shutdown
+ apache -n "service name" -k stop
+</pre>
+
+ <p>For the default "Apache" service, the -n Apache option is
+ still required, since the -k commands without the -n option are
+ directed at Apache running in a console window. The quotes are
+ only required if the service name contains spaces.</p>
+
+ <p><strong>Note: the -k stop alias for the -k shutdown command
+ was introduced in Apache version 1.3.13.</strong> Earlier
+ versions of Apache will only recognize the -k shutdown option.
+ Prior to 1.3.3, Apache did not recognize <em>any</em> -k
+ options at all!</p>
+
+ <p>Note that you may specify startup options on the apache -k
+ start command line, including the -D, -C and -c options. These
+ affect the processing of the service configuration, and may be
+ used with an &lt;IfDefine&gt; block to conditionally process
+ directives. You may also override the server root path or
+ configuration file with the -d or -f options. The options
+ should also be passed to the -k restart command, but they are
+ ignored if the service is running, and only processed if the
+ service is started.</p>
+
+ <p>The service also appears in the Service Control applet on
+ Windows NT/2000. For NT, this is found in the Settings -&gt;
+ Control Panel -&gt; Services entry, and on 2000 it is found in
+ the Settings -&gt; Control Panel -&gt; Administrative Tools
+ -&gt; Services entry. Here you can select the desired Apache
+ service to start or stop it. Pass additional options such as
+ -D, -C and -c, or override the default -d or -f options in the
+ Start Parameters box before clicking the Start button. These
+ options behave identically to the apache -k start command.</p>
+
+ <p>In addition, you can use the native Windows NT/2000 command
+ NET to start and stop Apache services:</p>
+<pre>
+ NET START "service name"
+ NET STOP "service name"
+</pre>
+
+ <p>Again, quotes are only required if the service name contains
+ spaces. There is no way using the NET START command to pass
+ additional options such as -D, -c or -C using the NET START
+ command. If options are required, use one of the other two
+ methods instead.</p>
+
+ <h2><a id="win95svc" name="win95svc">Experimental
+ Windows 95/98 Service</a></h2>
+
+ <p><strong>Note: The service options for Windows 95 and 98 are
+ only available with Apache 1.3.13 and later.</strong> Earlier
+ versions of Apache only supported Apache in a console window
+ for Windows 95/98.</p>
+
+ <p>There is some support for Apache on Windows 95/98 to behave
+ in a similar manner as a service on Windows NT/2000. It is
+ <em>experimental</em>, if it works (at all) the Apache
+ Software Foundation will not attest to its reliability or
+ future support. Proceed at your own risk!</p>
+
+ <p>Once you have confirmed that Apache runs correctly at the <a
+ href="windows.html#test">Command Prompt</a> you can install,
+ control and uninstall it with the same commands as the Windows
+ NT/2000 version.</p>
+
+ <p>There are, however, significant differences that you should
+ note:</p>
+
+ <p>Apache will attempt to start and if successful it will run
+ in the background. If you run the command</p>
+<pre>
+ Apache -n "service name" -k start
+</pre>
+
+ <p>via a shortcut on your desktop, for example, then if the
+ service starts successfully a console window will flash up but
+ immediately disappears. If Apache detects any errors on startup
+ such as a incorrect entries in the httpd.conf file, then the
+ console window will remain visible. This may display an error
+ message which will be useful in tracking down the cause of the
+ problem, and you should also review the error.log file in the
+ Apache logs directory.</p>
+
+ <p>Windows 95/98 does not support NET START or NET STOP
+ commands so you must use Apache's Service Control options at a
+ command prompt. You may wish to set up a shortcut for each of
+ these commands so that you can just choose it from the start
+ menu or desktop to perform the required action.</p>
+
+ <p>Apache and Windows 95/98 offer no support for running the
+ Apache service as a specific user with network privileges. In
+ fact, Windows 95/98 offers no security on the local machine,
+ either. This is the simple reason that the Apache Software
+ Foundation never endorses the use of Windows 95/98 as a public
+ httpd server. These facilities exist only to assist the user in
+ developing web content and learning the Apache server, and
+ perhaps as a intranet server on a secured, private network.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
diff --git a/usr.sbin/httpd/htdocs/manual/win_service.html.html b/usr.sbin/httpd/htdocs/manual/win_service.html.html
new file mode 100644
index 00000000000..6923201e67a
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/win_service.html.html
@@ -0,0 +1,449 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Running Apache for Windows as a Service</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+ <h1 align="CENTER">Running Apache for Windows as a Service</h1>
+
+ <p>Apache can be run as a service on Windows NT/2000. (There is
+ also some experimental support for similar behavior on
+ <a href="#win95svc">Windows 95/98</a>, introduced with Apache
+ 1.3.13).</p>
+
+ <p>Installing Apache as a service should only be done once you
+ can successfully run it in a console window. See <a
+ href="windows.html">Using Apache with Microsoft Windows</a>
+ before you attempt to install or run Apache as a service.
+ Changes to the httpd.conf file should always be followed by
+ starting Apache as a console window. If this succeeds, the
+ service should succeed.</p>
+
+ <p><strong>NOTE: Prior to version 1.3.13, the configuration was
+ <em>not tested</em> prior to performing the
+ installation</strong>, and a lack of service dependencies often
+ caused the console window to succeed, but the service would
+ still fail. See <a href="#service">below</a> if you are having
+ problems running a version of Apache prior to 1.3.13 to resolve
+ the issue. If you have this problem with version 1.3.13 or
+ greater, first try uninstalling (-u) and re-installing (-i) the
+ Apache service. Better yet, upgrade to the most recent version.</p>
+ <hr />
+
+ <p>To start Apache as a service, you first need to install it
+ as a service. Multiple Apache services can be installed, each
+ with a different name and configuration. To install the default
+ Apache service named "Apache", choose the "Install as Service for
+ All Users" option when launching the Apache installation package.
+ Once this is done you can start the "Apache" service by opening
+ the Services window (in the Control Panel, hidden in "Administrative
+ Tools" on Windows 2000), selecting Apache, then clicking
+ on Start. Apache will now be running, hidden in the background.
+ You can later stop Apache by clicking on Stop. As an
+ alternative to using the Services window, you can start and
+ stop the "Apache" service from the command line with</p>
+<pre>
+ NET START APACHE
+ NET STOP APACHE
+</pre>
+
+ <p>See <a href="#signal">Controlling Apache as a Service</a>
+ for more information on installing and controlling Apache
+ services.</p>
+
+ <p><strong>Apache, unlike many other Windows NT/2000 services,
+ logs most errors to its own error.log file, in the logs folder
+ within the Apache server root folder. You will find few Apache
+ error details in the Windows NT Event Log. Only errors as
+ Apache attempts to start are captured in the Application Event
+ Log.</strong></p>
+
+ <p>After starting Apache as a service (or if you have trouble
+ starting it) you can test it using the same <a
+ href="windows.html#test">procedure</a> as for running in a
+ console window. Remember to use the command:</p>
+<pre>
+ apache -n "service name"
+</pre>
+
+ <p>to assure you are using the service's default
+ configuration.</p>
+
+ <h2><a id="service" name="service">Running Apache for Windows
+ as a Service</a></h2>
+
+ <p><strong>Note: The -n option to specify a service name is
+ only available with Apache 1.3.7 and later.</strong> Earlier
+ versions of Apache only support the default service name
+ 'Apache'. Only version 1.3.21 supports Windows 2000 ability
+ to 'rename' the display name of a service.</p>
+
+ <p>You can install Apache as a Windows NT service as
+ follows:</p>
+<pre>
+ apache -i -n "service name"
+</pre>
+
+ <p>To install a service to use a particular configuration,
+ specify the configuration file when the service is
+ installed:</p>
+<pre>
+ apache -i -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+ <p>You can pass any other arguments, such as -d to change the
+ default server root directory, -D, -C or -c to change config
+ file processing, etc. Since these are stored in the registry
+ and are difficult to modify, use this command to clear the
+ options and replace them with a new list of options;</p>
+<pre>
+ apache -k config -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+ <p>To remove an Apache service, use:</p>
+<pre>
+ apache -u -n "service name"
+</pre>
+
+ <p>The default "service name", if one is not specified, is
+ "Apache".</p>
+
+ <p>Once a service is installed, you can use the <samp>-n</samp>
+ option, in conjunction with other options, to refer to a
+ service's configuration file. For example:</p>
+
+ <p>To test a service's configuration file and report the
+ default options for the service (configured with -i, -k install
+ or -k config) use:</p>
+<pre>
+ apache -n "service name" -t
+</pre>
+
+ <p>To start a console Apache using a service's configuration
+ file and its default options, use:</p>
+<pre>
+ apache -n "service name"
+</pre>
+
+ <p>Effective with Apache release 1.3.15, the -k install option
+ was added as an alias to -i, and the -k uninstall option was
+ added as an alias to -u. The original -i and -u options are
+ deprecated in Apache 2.0. These aliases were added to ease the
+ transition for administrators running both versions.</p>
+
+ <h2><a id="depends" name="depends">Important Note on service
+ dependencies:</a></h2>
+
+ <p>Prior to Apache release 1.3.13, the dependencies required to
+ successfully start an installed service were not configured.
+ After installing a service using earlier versions of Apache,
+ you must follow these steps:</p>
+<pre>
+ Run regedt32
+ Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu
+ Double-click to open the SYSTEM, then the CurrentControlSet keys
+ Scroll down and click on the Apache servicename
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnGroup
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Leave the Multi-String Editor dialog empty and click OK
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnService
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Type the following list (one per line) in the Multi-String Editor dialog
+ Tcpip
+ Afd
+ and click OK
+</pre>
+
+ <p>If you are using COM or DCOM components from a third party
+ module, ISAPI, or other add-in scripting technologies such as
+ ActiveState Perl, you may also need to add the entry Rpcss to
+ the DependOnService list. To avoid exposing the TCP port 135
+ when it is unnecessary, Apache does not create that entry upon
+ installation. Follow the directions above to find or create the
+ DependOnService value, double click that value if it already
+ exists, and add the Rpcss entry to the list.</p>
+
+ <p>Other installations may require additional dependencies.
+ If any files required at startup reside on a network drive, you
+ may need to first configure the service to depend on the network
+ redirector (usually lanmanworkstation) and follow the directions
+ below under the "User Account for Apache Service to Run As" section.</p>
+
+ <p>Attempting to use both IIS and Apache, on the same port but on
+ two different IP addresses may require the W3SVC (IIS) to start prior
+ to Apache, because IIS tries to glom onto all IP addresses (0.0.0.0)
+ as it starts, and will fail if Apache has already started on a
+ specific IP address.</p>
+
+ <p>Apache 1.3.21 introduces a MUCH simpler way to add a dependency.
+ The -W "servicename" argument modifies the -k install or -k config
+ commands to configure a dependency for Apache. Multiple -W arguments
+ may be given, but they should all occur after the -k option.
+ For example, to add the LanmanWorkstation dependency to an installed
+ "Apache" service, use this command:</p>
+<pre>
+ apache -k config -n Apache -W LanmanWorkstation
+</pre>
+
+ <h2>User Account for Apache Service to Run As (NT/2000)</h2>
+
+ <p>When Apache is first installed as a service (e.g. with the
+ -i option) it will run as user "System" (the LocalSystem
+ account). There should be few issues if all resources for the
+ web server reside on the local system, but it has broad
+ security privileges to affect the local machine!</p>
+
+ <blockquote>
+ LocalSystem is a very privileged account locally, so you
+ shouldn't run any shareware applications there. However, it
+ has no network privileges and cannot leave the machine via
+ any NT-secured mechanism, including file system, named pipes,
+ DCOM, or secure RPC.
+ </blockquote>
+
+ <p><strong>NEVER grant network privileges to the SYSTEM
+ account!</strong> Create a new user account instead, grant the
+ appropriate privileges to that user, and use the 'Log On As:'
+ option. Select the Start Menu -&gt; Settings -&gt; Control
+ Panel -&gt; Services -&gt; apache service ... and click the
+ "Startup" button to access this setting.</p>
+
+ <blockquote>
+ A service that runs in the context of the LocalSystem account
+ inherits the security context of the SCM. It is not
+ associated with any logged-on user account and does not have
+ credentials (domain name, user name, and password) to be used
+ for verification.
+ </blockquote>
+
+ <p>The SYSTEM account has no privileges to the network, so
+ shared pages or a shared installation of Apache is invisible to
+ the service. If you intend to use <em>any</em> network
+ resources, the following steps should help:</p>
+
+ <ul>
+ <li>Select Apache from the Control Panel's Service dialog and
+ click Startup.</li>
+
+ <li>Verify that the service account is correct. You may wish
+ to create an account for your Apache services.</li>
+
+ <li>Retype the password and password confirmation.</li>
+
+ <li>Go to User Manager for Domains.</li>
+
+ <li>Click on Policies from the title bar menu, and select
+ User Rights.</li>
+
+ <li>Select the option for Advanced User Rights.</li>
+
+ <li>
+ In the drop-down list, verify that the following rights
+ have been granted to the selected account:
+
+ <ul>
+ <li>Act as part of the operating system</li>
+
+ <li>Back up files and directories</li>
+
+ <li>Log on as a service</li>
+
+ <li>Restore files and directories</li>
+ </ul>
+ </li>
+
+ <li>Confirm that the selected account is a member of the
+ Users group.</li>
+
+ <li>Confirm the selected account has access to all document
+ and script directories (minimally read and browse
+ access).</li>
+
+ <li>Confirm the selected account has read/write/delete access
+ to the Apache logs directory!</li>
+ </ul>
+
+ <p>If you allow the account to log in as a user, then you can
+ log in yourself and test that the account has the privileges to
+ execute the scripts, read the web pages, and that you can start
+ Apache in a console window. If this works, and you have
+ followed the steps above, Apache should execute as a service
+ with no problems.</p>
+
+ <p><strong>Note: error code 2186</strong> is a good indication
+ that you need to review the 'Log On As' configuration, since
+ the server can't access a required network resource.</p>
+
+ <h2><a id="trouble" name="trouble">Troubleshooting Apache for
+ Windows as a Service</a></h2>
+
+ <p>When starting Apache as a service you may encounter an error
+ message from Windows service manager. For example if you try to
+ start Apache using the Services applet in Windows Control Panel
+ you may get the following message;</p>
+<pre>
+ Could not start the apache service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly.
+</pre>
+
+ <p>You will get this error if there is any problem starting
+ Apache. In order to see what is causing the problem you should
+ follow the instructions for <a href="windows.html#test">Testing
+ Apache at the Command Prompt</a>.</p>
+
+ <p>Also, Apache 1.3.13 now records startup errors in the
+ Application Event Log under Windows NT/2000, if Apache is run
+ as a service. Run the Event Viewer and select <u>L</u>og ...
+ <u>A</u>pplication to see these events.</p>
+
+ <p><strong>Check the Application Event Log with the Event
+ Viewer in case of any problems, even if no error message pops
+ up to warn you that an error occurred.</strong></p>
+
+ <h2><a id="cmdline" name="cmdline">Running Apache for Windows
+ from the Command Line</a></h2>
+ For details on controlling Apache service from the command
+ line, please refer to <a href="windows.html#cmdline">console
+ command line</a> section.
+
+ <h2><a id="signal" name="signal">Controlling Apache as a
+ Service</a></h2>
+
+ <p>Multiple instances of Apache can be installed and run as
+ services. Signal an installed Apache service to start, restart,
+ or shutdown/stop as follows:</p>
+<pre>
+ apache -n "service name" -k start
+ apache -n "service name" -k restart
+ apache -n "service name" -k shutdown
+ apache -n "service name" -k stop
+</pre>
+
+ <p>For the default "Apache" service, the -n Apache option is
+ still required, since the -k commands without the -n option are
+ directed at Apache running in a console window. The quotes are
+ only required if the service name contains spaces.</p>
+
+ <p><strong>Note: the -k stop alias for the -k shutdown command
+ was introduced in Apache version 1.3.13.</strong> Earlier
+ versions of Apache will only recognize the -k shutdown option.
+ Prior to 1.3.3, Apache did not recognize <em>any</em> -k
+ options at all!</p>
+
+ <p>Note that you may specify startup options on the apache -k
+ start command line, including the -D, -C and -c options. These
+ affect the processing of the service configuration, and may be
+ used with an &lt;IfDefine&gt; block to conditionally process
+ directives. You may also override the server root path or
+ configuration file with the -d or -f options. The options
+ should also be passed to the -k restart command, but they are
+ ignored if the service is running, and only processed if the
+ service is started.</p>
+
+ <p>The service also appears in the Service Control applet on
+ Windows NT/2000. For NT, this is found in the Settings -&gt;
+ Control Panel -&gt; Services entry, and on 2000 it is found in
+ the Settings -&gt; Control Panel -&gt; Administrative Tools
+ -&gt; Services entry. Here you can select the desired Apache
+ service to start or stop it. Pass additional options such as
+ -D, -C and -c, or override the default -d or -f options in the
+ Start Parameters box before clicking the Start button. These
+ options behave identically to the apache -k start command.</p>
+
+ <p>In addition, you can use the native Windows NT/2000 command
+ NET to start and stop Apache services:</p>
+<pre>
+ NET START "service name"
+ NET STOP "service name"
+</pre>
+
+ <p>Again, quotes are only required if the service name contains
+ spaces. There is no way using the NET START command to pass
+ additional options such as -D, -c or -C using the NET START
+ command. If options are required, use one of the other two
+ methods instead.</p>
+
+ <h2><a id="win95svc" name="win95svc">Experimental
+ Windows 95/98 Service</a></h2>
+
+ <p><strong>Note: The service options for Windows 95 and 98 are
+ only available with Apache 1.3.13 and later.</strong> Earlier
+ versions of Apache only supported Apache in a console window
+ for Windows 95/98.</p>
+
+ <p>There is some support for Apache on Windows 95/98 to behave
+ in a similar manner as a service on Windows NT/2000. It is
+ <em>experimental</em>, if it works (at all) the Apache
+ Software Foundation will not attest to its reliability or
+ future support. Proceed at your own risk!</p>
+
+ <p>Once you have confirmed that Apache runs correctly at the <a
+ href="windows.html#test">Command Prompt</a> you can install,
+ control and uninstall it with the same commands as the Windows
+ NT/2000 version.</p>
+
+ <p>There are, however, significant differences that you should
+ note:</p>
+
+ <p>Apache will attempt to start and if successful it will run
+ in the background. If you run the command</p>
+<pre>
+ Apache -n "service name" -k start
+</pre>
+
+ <p>via a shortcut on your desktop, for example, then if the
+ service starts successfully a console window will flash up but
+ immediately disappears. If Apache detects any errors on startup
+ such as a incorrect entries in the httpd.conf file, then the
+ console window will remain visible. This may display an error
+ message which will be useful in tracking down the cause of the
+ problem, and you should also review the error.log file in the
+ Apache logs directory.</p>
+
+ <p>Windows 95/98 does not support NET START or NET STOP
+ commands so you must use Apache's Service Control options at a
+ command prompt. You may wish to set up a shortcut for each of
+ these commands so that you can just choose it from the start
+ menu or desktop to perform the required action.</p>
+
+ <p>Apache and Windows 95/98 offer no support for running the
+ Apache service as a specific user with network privileges. In
+ fact, Windows 95/98 offers no security on the local machine,
+ either. This is the simple reason that the Apache Software
+ Foundation never endorses the use of Windows 95/98 as a public
+ httpd server. These facilities exist only to assist the user in
+ developing web content and learning the Apache server, and
+ perhaps as a intranet server on a secured, private network.</p>
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+ </body>
+</html>
+
+
+
diff --git a/usr.sbin/httpd/htdocs/manual/win_service.html.ja.jis b/usr.sbin/httpd/htdocs/manual/win_service.html.ja.jis
new file mode 100644
index 00000000000..bd1a6a5a08e
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/win_service.html.ja.jis
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Windows $B$G(B Apache $B$r%5!<%S%9$H$7$FF0$+$9(B</title>
+</head>
+<!-- English revision:1.7 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body
+ bgcolor="#FFFFFF"
+ text="#000000"
+ link="#0000FF"
+ vlink="#000080"
+ alink="#FF0000"
+>
+ <div align="CENTER">
+ <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" />
+
+ <h3>Apache HTTP Server</h3>
+ </div>
+
+
+
+<h1 align="center">Windows $B$G(B Apache $B$r%5!<%S%9$H$7$FF0$+$9(B</h1>
+
+<p>Windows NT/2000 $B$G$O(B Apache $B$r%5!<%S%9$H$7$FF0$+$9$3$H$,$G$-$^$9!#(B
+ (Apache 1.3.13 $B$G!"Hs>o$K<B83E*$K(B<a
+href="#win95svc">Windows 95/98</a> $B$K$*$$$F$bF1MM$NF0:n$r%5%]!<%H$r$9$k$h$&$K$J$j$^$7$?(B)$B!#(B</p>
+
+<p>$B%5!<%S%9$H$7$F(B Apache $B$r%$%s%9%H!<%k$9$k$?$a$K$O!"(B
+$B$&$^$/$$$1$P%3%^%s%I%i%$%s$G0lEY<B9T$9$l$P$$$$$G$9!#(B
+Apache $B$r%5!<%S%9$H$7$F%$%s%9%H!<%k$7$?$j!"F0$+$=$&$H$9$kA0$K(B <a
+href="windows.html">Microsoft Windows $B$G(B Apache $B$rF0$+$9(B</a>$B$r;2>H$7$F$/$@$5$$!#(B
+$B%3%^%s%I%i%$%s$G(B Apache $B$r5/F0$9$k$3$H$K$h$C$F!"(Bhttpd.conf $B%U%!%$%k$X$NJQ99$O$$$D$bH?1G$5$l$^$9!#(B
+$B$3$l$G$&$^$/$$$1$P!"%5!<%S%9$O@.8y$9$k$G$7$g$&!#(B</p>
+
+<p><strong>$BCm0U(B:
+$B%P!<%8%g%s(B 1.3.13 $B$h$jA0$G$O$3$N@_Dj$O(B<em>$B%F%9%H$5$l$F$$$^$;$s(B</em></strong>$B!#(B
+$B$=$7$FD4@0ITB-$,860x$G!"%3%^%s%I%i%$%s$G$O$7$P$7$P$&$^$/$$$-$^$9$,!"(B
+$B%5!<%S%9$O$^$@<:GT$7$^$9!#(BApache $B$N(B 1.3.13 $B$h$jA0$N%P!<%8%g%s$rF0$+$9$H$-$K(B
+$BLdBj$,$"$k$J$i$P!"(B<a href="#service">$B8e=R$N@bL@(B</a>$B$r;2>H$7$F$/$@$5$$!#(B
+$B%P!<%8%g%s(B 1.3.13 $B0J9_$G$3$NLdBj$,$"$k$J$i!"$^$::G=i$K(B Apache $B$r(B
+$B%"%s%$%s%9%H!<%k(B (-u) $B$7$F$+$i:F%$%s%9%H!<%k(B (-i) $B$r;n$7$F$_$F$/$@$5$$(B</p>
+
+<hr>
+
+<p>Apache $B$r%5!<%S%9$H$7$F3+;O$9$k$?$a$K$O!":G=i$K%5!<%S%9$H$7$F%$%s%9%H!<%k$9$kI,MW$,$"$j$^$9!#(B
+$B$=$l$>$lJL$NL>A0$H@_Dj$K$9$k$3$H$G(B Apache $B%5!<%S%9$rJ#?t%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#(B
+$B%G%U%)%k%H$N(B "Apache" $B$H$$$&L>A0$G(B Apache $B%5!<%S%9$r%$%s%9%H!<%k$9$k$K$O!"(B
+$B%9%?!<%H%a%K%e!<$+$i(B "Install Apache as Service" $B%*%W%7%g%s$r<B9T$7$F$/$@$5$$!#(B
+$B$3$l$r0lEY9T$J$($P!"(B($B%3%s%H%m!<%k%Q%M%k$N(B) $B%5!<%S%9%&%#%s%I%&$r3+$$$F!"(B
+Apache $B$rA*Br$7$F!"<!$K(B Start $B$r%/%j%C%/$9$k$3$H$G!"(B"Apache" $B%5!<%S%9$r3+;O$G$-$^$9!#(B
+$B$3$l$G(B Apache $B$O%P%C%/%0%i%&%s%I$GF0$-$^$9!#(B
+$B$=$N8e$O(B Stop $B$r%/%j%C%/$9$k$3$H$G!"(BApache $B$r=*N;$G$-$^$9!#(B
+$B%5!<%S%9%&%#%s%I%&$r;H$&Be$o$j$K!"%3%^%s%I%i%$%s$+$i!"(B
+<pre>
+ NET START APACHE
+ NET STOP APACHE
+</pre>
+
+$B$H$9$k$3$H$G!"(B"Apache" $B%5!<%S%9$r3+;O!"=*N;$G$-$^$9!#(B</p>
+
+<p>Apache $B%5!<%S%9$N%$%s%9%H!<%k$H%3%s%H%m!<%k$K4X$9$k$5$i$J$k>pJs$O!"(B<a href="#signal">
+Apache $B%5!<%S%9$N%3%s%H%m!<%k(B</a>$B$r;2>H$7$F$/$@$5$$!#(B</p>
+
+<p><strong>Apache $B$O!"B>$NB?$/$N(B Windows NT/2000 $B$N%5!<%S%9$H0[$J$j!"(B
+$B$[$H$s$I$N%(%i!<$OFH<+$K(B Apache $B$N%5!<%P%k!<%H$N(B logs $B%U%)%k%@$K$"$k(B
+error.log $B%U%!%$%k$K5-O?$7$^$9!#$[$H$s$I$N(B Apache $B$N%(%i!<$K4X$9$k>\:Y$O(B
+Windows NT $B$N%$%Y%s%H%m%0$G$OJ,$+$i$J$$$G$7$g$&!#(B
+Apache $B$r5/F0$7$h$&$H$7$?$H$-$KH/@8$7$?%(%i!<$@$1$,%$%Y%s%H%m%0$K5-O?$5$l$^$9!#(B</strong></p>
+
+<p>Apache $B$r%5!<%S%9$H$7$F3+;O$7$?8e(B ($B$^$?$O!"$=$l$r;O$a$k$3$H$KLdBj$,$"$l$P(B)$B!"(B
+$B%3%^%s%I%i%$%s$+$iF1$8(B<a href="windows.html#test">$B<j=g(B</a>$B$G%F%9%H$G$-$^$9!#(B
+$B%G%U%)%k%H$N%5!<%S%9@_Dj$r3NG'$9$k$?$a$K$O!"$3$N%3%^%s%I(B:</p>
+
+<pre>
+ apache -n "service name"
+</pre>
+
+<p>$B$r;H$&$3$H$r3P$($F$*$$$F$/$@$5$$!#(B</p>
+
+<h2><a name="service">Windows $B$G(B Apache $B$r%5!<%S%9$H$7$FF0$+$9(B</a></h2>
+
+<p><strong>$BCm0U(B: $B%5!<%S%9L>$r;XDj$9$k(B -n $B%*%W%7%g%s$O(B Apache 1.3.7 $B0J9_$GMxMQ2DG=$G$9!#(B</strong>
+$B0JA0$N%P!<%8%g%s$N(B Apache $B$G$O!"%G%U%)%k%H$N%5!<%S%9L>(B 'Apache' $B$@$1$,%5%]!<%H$5$l$F$$$^$9!#(B</p>
+
+<p>$B0J2<$N$h$&$K$9$k$3$H$G!"(BApache $B$r(B Windows NT $B%5!<%S%9$H$7$F%$%s%9%H!<%k$G$-$^$9(B:</p>
+
+<pre>
+ apache -i -n "service name"
+</pre>
+
+<p>$BFCDj$N@_Dj$r;H$C$F%5!<%S%9$r%$%s%9%H!<%k$9$k$K$O!"(B
+$B%$%s%9%H!<%k$N:]$K@_Dj%U%!%$%k$r;XDj$7$F$/$@$5$$(B:</p>
+
+<pre>
+ apache -i -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+<p>$B%5!<%P%k!<%H%G%#%l%/%H%j$r%G%U%)%k%H$+$iJQ99$9$k$?$a$N(B -d$B!"(B
+ $B@_Dj%U%!%$%k$rJQ99$9$k$?$a$N(B -D, -C $B$d(B -c $B$J$I!"$=$NB>$NB0@-$O>JN,$G$-$^$9!#(B
+ $B$3$l$i$,%l%8%9%H%j$K=q$-9~$^$l$F$$$FJQ99$,:$Fq$J$H$-$O!"(B
+ $B$3$N%3%^%s%I$r;H$C$F%*%W%7%g%s$r%/%j%"$7!"?7$7$$%*%W%7%g%s$KCV$-49$($^$9!#(B
+</p>
+
+<pre>
+ apache -k config -n "service name" -f "\my server\conf\my.conf"
+</pre>
+
+<p>Apache $B%5!<%S%9$r:o=|$9$k$K$O!"0J2<$N$h$&$K$7$^$9(B:</p>
+
+<pre>
+ apache -u -n "service name"
+</pre>
+
+<p>$B%5!<%S%9L>$,;XDj$5$l$J$$>l9g$N%G%U%)%k%H$N!V%5!<%S%9L>!W$O(B "Apache" $B$H$J$j$^$9!#(B</p>
+
+<p>$B%5!<%S%9$,%$%s%9%H!<%k$5$l$k$H!"(B
+$B%5!<%S%9$N@_Dj%U%!%$%k$r<($9$N$KB>$N%*%W%7%g%s$HF1;~$K(B
+<samp>-n</samp> $B%*%W%7%g%s$r;HMQ$9$k$3$H$,$G$-$^$9!#Nc(B:</p>
+
+<p>$B%5!<%S%9$N@_Dj%U%!%$%k$r%F%9%H$7$F!"%5!<%S%9$N%G%U%)%k%H$N%*%W%7%g%s$r3NG'$9$k$K$O(B
+$B<!$N$h$&$K$7$^$9(B:</p>
+<pre>
+ apache -n "service name" -t
+</pre>
+
+<p>$B%5!<%S%9$N@_Dj%U%!%$%k$H%G%U%)%k%H$N%*%W%7%g%s$r;HMQ$7$F!"(B
+ $B%3%s%=!<%k$+$i(B Apache $B$r5/F0$9$k$K$O<!$N$h$&$K$7$^$9(B:</p>
+<pre>
+ apache -n "service name"
+</pre>
+
+<p>Apache $B%j%j!<%9(B 1.3.15 $B$G(B -k install $B%*%W%7%g%s$,(B -i $B%*%W%7%g%s$N!"(B
+ $B$^$?!"(B-k uninstall $B%*%W%7%g%s$,(B -u $B%*%W%7%g%s$NJLL>$H$7$FDI2C$5$l$^$7$?!#(B
+ $B85$N(B -i $B$=$7$F(B -u $B%*%W%7%g%s$O(B Apache 2.0 $B$G$O;HMQ$7$J$$$h$&$K$7$F$/$@$5$$!#(B
+ $B$3$l$i$NJLL>$O!"N>J}$N%P!<%8%g%s$r1?MQ$9$k4IM}<T$,(B ($BLuCm(B: Apache 2.0 $B$K(B)
+ $B0\9T$7$d$9$/$9$k$?$a$KDI2C$5$l$^$7$?!#(B</p>
+
+<h2><a name="depends">$B%5!<%S%9$N0MB8$K4X$9$k=EMW$JN10UE@(B</a></h2>
+
+<p>$B%j%j!<%9(B 1.3.13 $B0JA0$N(B Apache $B$G$O!"%$%s%9%H!<%k$5$l$?%5!<%S%9$,(B
+$B$&$^$/3+;O$9$k$3$H$,A0Ds>r7o$H$J$k0MB84X78$O9=@.$5$l$^$;$s!#(B
+Apache $B$N0JA0$N%P!<%8%g%s$r;HMQ$7$F%5!<%S%9$r%$%s%9%H!<%k$7$?8e$K!"(B
+$B0J2<$N<j=g$rF'$^$J$1$l$P$J$j$^$;$s(B :
+
+<pre> Run regedt32
+ Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu
+ Double-click to open the SYSTEM, then the CurrentControlSet keys
+ Scroll down and click on the Apache servicename
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnGroup
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Leave the Multi-String Editor dialog empty and click OK
+ Select <u>E</u>dit - Add <u>V</u>alue... from the menu
+ Fill in the Add Value dialog with
+ <u>V</u>alue Name: DependOnService
+ <u>D</u>ata Type: REG_MULTI_SZ
+ and click OK
+ Type the following list (one per line) in the Multi-String Editor dialog
+ Tcpip
+ Afd
+ and click OK
+</pre>
+
+
+<p>$B$^$?!"%5!<%I%Q!<%F%#!<$N%b%8%e!<%k!"(BISAPI$B!"$=$NB>(B ActiveState Perl$B$J$I$K$h$k!"(B
+ COM $B$d(B DCOM $B$N9=@.MWAG$r;HMQ$7$F$$$k$J$i$P!"(BDependOnService $B%j%9%H$K(B
+ Rpcss $B$N%(%s%H%j!<$rDI2C$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#(B
+ $B$=$l$,ITMW$J>l9g$K!"(BTCP $B%]!<%H(B 135 $B$rO*=P$9$k$N$rHr$1$k$?$a$K!"(B
+ Apache $B$O%$%s%9%H!<%k$N$H$-$K$=$N%(%s%H%j!<$r:n@.$7$^$;$s!#(B
+ $B>e$N;X<($K=>$C$F!"(BDependOnService $BCM$r3NG'!"$^$?$O:n@.$7$F$/$@$5$$!#(B
+ $B4{$KB8:_$7$F$$$k$J$i$P$=$NCM$r%@%V%k%/%j%C%/$7$F!"(BRpcss $B$N%(%s%H%j!<$r(B
+ $B%j%9%H$KDI2C$7$F$/$@$5$$!#(B</p>
+
+<h2>$B%f!<%6%"%+%&%s%H$G(B Apache $B$rF0$+$9(B (NT/2000)</h2>
+
+<p>Apache $B$,:G=i$K%5!<%S%9(B ( $BNc$($P!"(B-i $B%*%W%7%g%s(B ) $B$H$7$F%$%s%9%H!<%k$5$l$k$H$-!"(B
+ "System" $B$H$$$&%f!<%6(B (LocalSystem $B%"%+%&%s%H(B ) $B$GF0:n$9$k$G$7$g$&!#(B
+ $B$b$7(B web $B%5!<%P$N$9$Y$F$N%j%=!<%9$,%m!<%+%k%7%9%F%`>e$K$"$k$J$i(B
+ $B$[$H$s$ILdBj$"$j$^$;$s$,!"(B(LocalSystem $B%"%+%&%s%H(B ) $B$O%m!<%+%k%^%7%s$K(B
+ $B1F6A$rM?$($kI}9-$$%;%-%e%j%F%#FC8"$r;}$C$F$$$^$9!#(B</p>
+<blockquote>
+ LocalSystem $B$O6I=jE*$KHs>o$KFC8"%"%+%&%s%H$J$N$G!"(B
+ $B$I$s$J%7%'%"%&%'%"%"%W%j%1!<%7%g%s$b$=$3$GF0:n$5$;$k$Y$-$G$O(B
+ $B$"$j$^$;$s!#$7$+$7$J$,$i!"$=$l$O%M%C%H%o!<%/FC8"$r;}$?$J$/$F!"(B
+ NT $B$N5!L)J];}5!G=!"%U%!%$%k%7%9%F%`!"%Q%$%W!"(BDCOM $B!"%;%-%e%"(B RPC $B$r4^$a$F(B
+ $B$=$N$^$^$K$7$F$*$/$3$H$O$G$-$^$;$s(B
+</blockquote>
+
+<p><strong>$B7h$7$F%7%9%F%`%"%+%&%s%H$K%M%C%H%o!<%/FC8"$rM?$($F$O$$$1$^$;$s(B !</strong>
+ $BBe$o$j$K?7$7$$%f!<%6%"%+%&%s%H$r:n@.$7$F!"$=$N%f!<%6$KE,@Z$J8"8B$rM?$($F!"(B
+ 'Log On As' $B$H$$$&%*%W%7%g%s$r;H$C$F$/$@$5$$!#%9%?!<%H%a%K%e!<(B -&gt; $B@_Dj(B
+ -&gt; $B%3%s%H%m!<%k%Q%M%k(B -&gt; $B%5!<%S%9(B -&gt; Apache Service $B$HA*Br$7$F!"(B
+ $B!V%9%?!<%H%"%C%W!W%\%?%s$r%/%j%C%/$7$F!"$3$N@_Dj$K%"%/%;%9$7$F$/$@$5$$!#(B</p>
+
+<blockquote>
+ $B%5!<%S%9$O(B SCM $B4XO"$N%;%-%e%j%F%#$r(B LocalSystem $B%"%+%&%s%H$K(B
+ $B0z$-7Q$$$GF0:n$7$^$9!#%5!<%S%9$O$I$N%f!<%6%"%+%&%s%H$H$b(B
+ $B4XO"$E$1$i$l$J$/$F!"$^$?%Y%j%U%!%$$K;HMQ$5$l$k$Y$->ZL@(B
+ ( $B%I%a%$%sL>!"%f!<%6L>!"%Q%9%o!<%I(B ) $B$r;}$A$^$;$s!#(B
+</blockquote>
+
+<p>SYSTEM $B%"%+%&%s%H$O%M%C%H%o!<%/$KFC8"$r;}$?$J$$$N$G!"6&M-$5$l$?%Z!<%8$d(B
+ $B6&M-$5$l$?%$%s%9%H!<%k$O%5!<%S%9$+$i$O8+$($^$;$s!#(B
+ $B$"$J$?$,(B<em>$B$I$s$J(B</em>$B%M%C%H%o!<%/%j%=!<%9$b;HMQ$9$k$D$b$j$G$"$k$J$i$P!"(B
+ $B0J2<$N%9%F%C%W$OLr$KN)$D$+$b$7$l$^$;$s(B</p>
+<ul>
+ <li>Control Panel $B$N(B Service $B%@%$%"%m%0$+$i(B Apache $B$rA*Br$7$F!"(BStartup $B$r%/%j%C%/$7$^$9!#(B
+ <li>$B%5!<%S%9%"%+%&%s%H$,@5$7$$$3$H$r3NG'$7$F$/$@$5$$!#(B
+ Apache $B%5!<%S%9MQ$N%"%+%&%s%H$r:n@.$9$k$3$H$b$h$$J}K!$G$9!#(B
+ <li>$B%Q%9%o!<%I$r7+$jJV$7F~NO$7$F%Q%9%o!<%I3NG'$r$7$^$9!#(B
+ <li>$B%I%a%$%s$N%f!<%6%^%M!<%8%c$K9T$C$F$/$@$5$$!#(B
+ <li>$B%?%$%H%k%P!<%a%K%e!<$+$i(B Policies $B$r%/%j%C%/$7$F!"(BUser Rights $B$rA*Br$7$F$/$@$5$$!#(B
+ <li>Advanced User Rights $B$N%*%W%7%g%s$rA*Br$7$F$/$@$5$$!#(B
+ <li>$B%I%m%C%W%@%&%s%j%9%HCf$G!"A*Br$5$l$?%"%+%&%s%H$K0J2<$N8"8B$,(B
+ $BM?$($i$l$?$3$H$r3NG'$7$F$/$@$5$$!#(B
+ <ul>
+ <li>Act as part of the operating system
+ <li>Back up files and directories
+ <li>Log on as a service
+ <li>Restore files and directories
+ </ul>
+ <li>$BA*Br$5$l$?%"%+%&%s%H$,(B Users $B%0%k!<%W$N%a%s%P$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#(B
+ <li>$BA*Br$5$l$?%"%+%&%s%H$,$9$Y$F$N%I%-%e%a%s%H$H%9%/%j%W%H%G%#%l%/%H%j$K(B
+ $B%"%/%;%9$9$k<jCJ(B ($B:GDc8BFI$_9~$_$H%V%i%&%:(B) $B$r;}$C$F$$$k$3$H$r3NG'$7$F$/$@$5$$!#(B
+ <li>$BA*Br$5$l$?%"%+%&%s%H$,(B Apache logs $B%G%#%l%/%H%j$KBP$7$FFI$_=q$-!"(B
+ $B:o=|$9$k<jCJ$r;}$C$F$$$k$3$H$r3NG'$7$F$/$@$5$$!#(B</li>
+</ul>
+
+<p>$B$=$N%"%+%&%s%H$G%f!<%6$H$7$F%m%0%$%s$9$k$3$H$r5v2D$7$?$i!"<+J,<+?H$G(B
+ $B%m%0%$%s$7$F$=$N%"%+%&%s%H$,%9%/%j%W%H$N<B9T!"%&%'%V%Z!<%8$NFI$_9~$_$r$9$k(B
+ $B8"8B$r;}$C$F$$$k$3$H!"%3%s%=!<%k$+$i(B Apache $B$r5/F0$G$-$k$3$H(B
+ $B$r%F%9%H$9$k$3$H$,$G$-$^$9!#$3$l$,$&$^$/$$$-!">e5-$N%9%F%C%W$K=>$C$F<j=g$rF'$a$P!"(B
+ Apache $B$OLdBj$J$/%5!<%S%9$H$7$F<B9T$9$k$O$:$G$9!#(B</p>
+<p><strong>$BCm0U(B: $B%(%i!<%3!<%I(B 2186</strong> $B$O%5!<%P$,I,MW$J%M%C%H%o!<%/%j%=!<%9$K(B
+ $B%"%/%;%9$9$k$3$H$,$G$-$J$$$N$G(B 'Log On As' $B$N@_Dj$r8+D>$9I,MW$,$"$k!"(B
+ $B$H$$$&;X<($G$9!#(B</strong></p>
+
+
+<h2><a name=trouble>$B%5!<%S%9$H$7$F$N(B Windows $BHG(B Apache $B%H%i%V%k%7%e!<%F%#%s%0(B</a></h2>
+
+<p>$B%5!<%S%9$H$7$F(B Apache $B$r3+;O$9$k>l9g!"(BWindows service manager $B$+$i%(%i!<%a%C%;!<%8$r(B
+ $B8+$k$3$H$K$J$k$+$b$7$l$^$;$s!#Nc$($P(B Control Panel $B$N(B Services $B%"%W%l%C%H$r;HMQ$7$F(B
+ Apache $B$r3+;O$5$;$h$&$H$9$k;~$K!"0J2<$N%a%C%;!<%8$r8+$k$+$b$7$l$^$;$s!#(B
+<pre>
+ Could not start the apache service on \\COMPUTER
+ Error 1067; The process terminated unexpectedly.
+</pre>
+<p>Apache $B$N3+;O$K$*$$$F2?$i$+$NLdBj$,$"$k>l9g!"$3$N%(%i!<$KAx$$$^$9!#(B
+ $BLdBj$N860x$r3NG'$9$k$?$a$K$O!"(B<a href="windows.html#test">$B%3%^%s%I(B
+ $B%W%m%s%W%H$G(B Apache $B$r%F%9%H$9$k(B</a>$B$N;X<($K=>$C$F$/$@$5$$!#(B</p>
+
+<p>$B$^$?!"(BApache 1.3.13 $B$G$O(B Windows NT/2000 $B$G%5!<%S%9$H$7$FF0$+$9$H$-!"(B
+ $B3+;O;~$N%(%i!<$r(B Application Event Log $B$K5-O?$7$^$9!#(BEvent Viewer $B$r5/F0$7!"(B
+ <u>L</u>og ... <u>A</u>pplication $B$HA*Br$7$F%$%Y%s%H$r3NG'$9$k$3$H$,$G$-$^$9!#(B
+
+<p><strong>$BLdBj$,$"$C$?>l9g$O!"%(%i!<$,H/@8$7$?$3$H$r7Y9p$N$?$a$N%(%i!<%a%C%;!<%8$,(B
+ $B%]%C%W%"%C%W$5$l$J$/$F$b!"(BEvent Viewer $B$G(B Application Event Log $B$r(B
+ $B%A%'%C%/$7$F$/$@$5$$!#(B</strong></p>
+
+<h2><a name=cmdline>Windows $B$G%3%^%s%I%i%$%s$+$i(B Apache $B$rF0$+$9(B</a></h2>
+
+$B%3%^%s%I%i%$%s$+$i(B Apache $B%5!<%S%9$r@)8f$9$k$3$H$K4X$9$k>\:Y$K$D$$$F$O!"(B
+<a href="windows.html#cmdline">$B%3%s%=!<%k%3%^%s%I%i%$%s(B</a>$B$N>O$r;2>H$7$F$/$@$5$$!#(B
+
+
+<h2><a name=signal>$B%5!<%S%9$H$7$F$N(B Apache $B$r@)8f$9$k(B</a></h2>
+
+<p>Apache $B$OJ#?t%$%s%9%H!<%k$7$F!"%5!<%S%9$H$7$FF0$+$9$3$H$,$G$-$^$9!#(B
+ $B%$%s%9%H!<%k$5$l$?(B Apache $B%5!<%S%9$r3+;O!":F3+!"=*N;!"Dd;_$9$k$K$O(B
+ $B0J2<$N$h$&$K$7$^$9(B:</p>
+
+<pre>
+ apache -n "service name" -k start
+ apache -n "service name" -k restart
+ apache -n "service name" -k shutdown
+ apache -n "service name" -k stop
+</pre>
+
+<p>-n $B%*%W%7%g%s$N$J$$(B -k $B%3%^%s%I$O%3%s%=!<%k%&%#%s%I%&$G5/F0$7$F$$$k(B Apache $B$K(B
+ $B8~$1$i$l$k$N$G!"%G%U%)%k%H$N(B "Apache" $B%5!<%S%9$G$O(B -n Apache $B%*%W%7%g%s$,(B
+ $BI,MW$G$9!#0zMQId$O%5!<%S%9L>$K%9%Z!<%9$,4^$^$l$k>l9g$K8B$j(B
+ $BI,MW$K$J$j$^$9!#(B</p>
+
+<p><strong>$BCm0U(B:
+ -k shutdown $B%3%^%s%I$NJLL>$N(B -k stop $B%3%^%s%I$O(B Apache $B%P!<%8%g%s(B 1.3.13 $B$GF3F~$5$l$^$7$?!#(B</strong>
+ $B$=$l$h$jA0$N%P!<%8%g%s$N(B Apache $B$G$O(B -k shutdown $B%*%W%7%g%s$@$1$,G'<1$5$l$^$9!#(B
+ 1.3.3 $B$h$jA0$N(B Apache $B$G$O(B<em>$B$I$s$J(B</em> -k $B%*%W%7%g%s$bG'<1$5$l$^$;$s$G$7$?!#(B</p>
+
+<p>-D, -C, -c $B%*%W%7%g%s$r4^$a$?(B apache -k start $B%3%^%s%I$G(B
+ $B5/F0;~$N%*%W%7%g%s$r;XDj$9$k$3$H$b$G$-$^$9!#(B
+ $B$3$l$i$O%5!<%S%9$N@_Dj%W%m%;%9$K1F6A$7$^$9!#(B
+ &lt;IfDefine&gt; $B%V%m%C%/$G;H$&$3$H$G>r7o$D$-$N;XDj$r$9$k$3$H$b$G$-$^$9!#(B
+ $B%5!<%P%k!<%H$N%Q%9$d(B -d $B%*%W%7%g%s$d(B -f $B%*%W%7%g%s$r;H$C$F@_Dj%U%!%$%k$r>e=q$-$9$k$3$H$b$G$-$^$9!#(B
+ $B$3$l$i$N%*%W%7%g%s$O(B -k restart $B%3%^%s%I$K$h$C$F$bFI$_9~$^$l$^$9$,!"(B
+ $B%5!<%S%9$NF0:nCf$K$OH?1G$5$l$:!"%5!<%S%9$N5/F0;~$K$N$_H?1G$5$l$^$9!#(B</p>
+
+<p>$B%5!<%S%9$O(B Windows NT/2000 $B$N(B Service Control $B%"%W%l%C%H$K$b8=$l$^$9!#(B
+ NT $B$N>l9g!"(BSettings -&gt; Control Panel -&gt; Services $B%(%s%H%j!"(B
+ 2000 $B$N>l9g!"(BSettings -&gt; Control Panel -&gt; Administrative Tools -&gt;
+ Services $B%(%s%H%j$G;2>H$G$-$^$9!#(B
+ $B$=$3$+$i3+;O$d=*N;$5$;$k(B Apache $B%5!<%S%9$rA*Br$G$-$^$9!#(B
+ -D, -C, -c $B$N$h$&$JDI2C$N%*%W%7%g%s$d!"3+;O%Q%i%a!<%?$N%G%U%)%k%H$N(B
+ -d $B$d(B -f $B%*%W%7%g%s$N>e=q$-$O3+;O%\%?%s$r%/%j%C%/$9$kA0$K$7$F$/$@$5$$!#(B
+ $B$3$l$i$N%*%W%7%g%s$O(B apache -k start $B%3%^%s%I$HA4$/F1$8$h$&$K=hM}$5$l$^$9!#(B</p>
+
+<p>$B$5$i$K!"(BApache $B%5!<%S%9$N3+;O!"=*N;$K%M%$%F%#%V$N(B Windows NT/2000 $B$N(B
+ NET $B%3%^%s%I$r;H$&$3$H$b$G$-$^$9(B:</p>
+
+<pre>
+ NET START "service name"
+ NET STOP "service name"
+</pre>
+
+<p>$B7+$jJV$7$^$9$,!"%5!<%S%9L>$,%9%Z!<%9$r4^$`>l9g$N$_!"0zMQId$,(B
+ $BI,MW$K$J$j$^$9!#(B-D, -c, -C $B$J$I$NDI2C%*%W%7%g%s$r(B NET START
+ $B%3%^%s%I$G;XDj$9$kJ}K!$O$"$j$^$;$s!#%*%W%7%g%s$,I,MW$J$H$-$O!"(B
+ $BB>$N(B 2 $B<oN`$N%a%=%C%I$N$I$A$i$+$r;HMQ$7$F$/$@$5$$!#(B</p>
+
+<h2><a name=win95svc>$BHs>o$K<B83E*$J(B Windows 95/98 $B%5!<%S%9(B</a></h2>
+
+<p><strong>$BCm0U(B: Windows 95 $B$H(B 98 $B$G$N%5!<%S%9%*%W%7%g%s$O(B Apache 1.3.13 $B0J9_$G$N$_(B
+ $BM-8z$G$9!#(B</strong>$B0JA0$N%P!<%8%g%s$N(B Apache $B$G$O(B Windows 95/98 $B$G$O(B
+ $B%3%s%=!<%kAk$G$N$_%5%]!<%H$5$l$F$$$^$9!#(B</p>
+
+<p>Windows NT/2000 $B$G$N%5!<%S%9$HF1$8$h$&$J(B Windows 95/98 $B>e$G$N(B
+ Apache $B$NF0:n$r$"$kDxEY%5%]!<%H$7$F$$$^$9!#$=$l$O(B<em>$BHs>o$K<B83E*(B</em>$B$J$b$N$G!"(B
+ $B$b$7(B ($B$9$Y$F=gD4$K(B) $BF0$$$?$H$7$F$b(B Apache Software Foundation $B$O!"(B
+ $B?.Mj@-$d>-Mh$N%5%]!<%H$OJ]>Z$7$^$;$s!#0J9_$K$D$$$F$O<+J,<+?H$N%j%9%/$G?J$s$G$/$@$5$$(B!</p>
+
+<p>Apache $B$,(B <a href="windows.html#test">Command Prompt</a> $B$G(B
+ $B@5>o$KF0:n$9$k$3$H$r3NG'$7$?$i!"(BWindows NT/2000 $B$N>l9g$HF1$8%3%^%s%I$G(B
+ $B%$%s%9%H!<%k!"@)8f!"%"%s%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#(B</p>
+
+<p>$B$?$@$7!"Cm0U$9$Y$-=EMW$J0c$$$,$"$j$^$9(B:</p>
+
+<p>Apache $B$O!"5/F0$,@.8y$9$k$H!"%P%C%/%0%i%&%s%I$GF0:n$7$^$9!#(B
+ $B%G%9%/%H%C%W$N%7%g!<%H%+%C%H$rDL$7$F!"%3%^%s%I(B
+
+<pre>
+ Apache -n "service name" -k start
+</pre>
+
+<p>$B$r<B9T$7$?$i!"Nc$($P!"%5!<%S%9$,$&$^$/3+;O$5$l$l$P!"%3%s%=!<%kAk$O(B
+ $BI=<($5$l$^$9$,$9$0$K8+$($J$/$J$j$^$9!#(B
+ Apache $B$,3+;O;~$K!"(Bhttpd.conf $B%U%!%$%k$K$*$1$kIT@5$J%(%s%H%j$N$h$&$J(B
+ $B%(%i!<$r8+$D$1$k$H!"%3%s%=!<%kAk$OI=<($5$l$?$^$^$G;D$j$^$9!#(B
+ $B$=$3$K$OLdBj$N860x$NDI5a$KLr$KN)$D%(%i!<%a%C%;!<%8$,I=<($5$l$F$$$k$G$7$g$&!#(B
+ $B$=$N:](B Apache $B$N(B logs $B%G%#%l%/%H%j$N(B error.log $B%U%!%$%k$rD4$YD>$9$Y$-$G$9!#(B</p>
+
+<p>Windows 95/98 $B$G$O(B NET START $B$d(B NET STOP $B%3%^%s%I$r%5%]!<%H$7$F$$$J$$$N$G!"(B
+ Command Prompt $B$+$i(B Apache $B$N(B Service Control $B%*%W%7%g%s$r(B
+ $B;HMQ$7$J$1$l$P$J$j$^$;$s!#(B
+ $B$3$l$i$N%3%^%s%IKh$K%7%g!<%H%+%C%H$rMQ0U$7!"%9%?!<%H%a%K%e!<$d%G%9%/%H%C%W$+$i$=$l$r$?$@A*$V$3$H$GI,MW$JF0:n$r(B
+ $B<B9T$9$k$h$&$K$9$k$N$O$h$$J}K!$G$9!#(B</p>
+
+<p>Apache $B$H(B Windows 95/98 $B$OFCDj$N%f!<%6$KBP$7$F!"(BApache $B%5!<%S%9$r%M%C%H%o!<%/FC8"$G$ODs6!$7$^$;$s!#(B
+ $B<B:]!"(BWindows 95/98 $B$O$I$s$J%;%-%e%j%F%#$b%m!<%+%k%^%7%s$KDs6!$7$F$$$^$;$s!#(B
+ Apache Software Fondation $B$,%Q%V%j%C%/$J(B httpd $B%5!<%P$H$7$F(B
+ Windows 95/98 $B$N;HMQ$r7h$7$FG'$a$J$$$N$O!"$3$l$,C1=c$JM}M3$G$9!#(B
+ $B$3$l$i$O!"(Bweb $B%3%s%F%s%D$N@):n$d(B Apache $B%5!<%P$N3X=,!"(B
+ $B$^$?$O0BA4$J%$%s%H%i%M%C%H>e$N%5!<%P!"%W%i%$%Y!<%H%M%C%H%o!<%/$N(B
+ $B%f!<%6$rJd=u$9$k$?$a$KJX59>eB8:_$7$F$$$k$K$9$.$^$;$s!#(B</p>
+
+ <hr />
+
+ <h3 align="CENTER">Apache HTTP Server</h3>
+ <a href="./"><img src="images/index.gif" alt="Index" /></a>
+
+</body>
+</html>
diff --git a/usr.sbin/httpd/icons/a.png b/usr.sbin/httpd/icons/a.png
new file mode 100644
index 00000000000..c1840256dcf
--- /dev/null
+++ b/usr.sbin/httpd/icons/a.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/alert.black.png b/usr.sbin/httpd/icons/alert.black.png
new file mode 100644
index 00000000000..af6b1246ad7
--- /dev/null
+++ b/usr.sbin/httpd/icons/alert.black.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/alert.red.png b/usr.sbin/httpd/icons/alert.red.png
new file mode 100644
index 00000000000..b9222fd5246
--- /dev/null
+++ b/usr.sbin/httpd/icons/alert.red.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/apache_pb.png b/usr.sbin/httpd/icons/apache_pb.png
new file mode 100644
index 00000000000..eb99a8cd393
--- /dev/null
+++ b/usr.sbin/httpd/icons/apache_pb.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/back.png b/usr.sbin/httpd/icons/back.png
new file mode 100644
index 00000000000..2d8d353bbc7
--- /dev/null
+++ b/usr.sbin/httpd/icons/back.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/ball.gray.png b/usr.sbin/httpd/icons/ball.gray.png
new file mode 100644
index 00000000000..7b756f2d82d
--- /dev/null
+++ b/usr.sbin/httpd/icons/ball.gray.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/ball.red.png b/usr.sbin/httpd/icons/ball.red.png
new file mode 100644
index 00000000000..05f3e50629c
--- /dev/null
+++ b/usr.sbin/httpd/icons/ball.red.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/binary.png b/usr.sbin/httpd/icons/binary.png
new file mode 100644
index 00000000000..c5119d1e1ea
--- /dev/null
+++ b/usr.sbin/httpd/icons/binary.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/binhex.png b/usr.sbin/httpd/icons/binhex.png
new file mode 100644
index 00000000000..eff532202d3
--- /dev/null
+++ b/usr.sbin/httpd/icons/binhex.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/blank.png b/usr.sbin/httpd/icons/blank.png
new file mode 100644
index 00000000000..3802c03c9c8
--- /dev/null
+++ b/usr.sbin/httpd/icons/blank.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/bomb.png b/usr.sbin/httpd/icons/bomb.png
new file mode 100644
index 00000000000..5261a0575e3
--- /dev/null
+++ b/usr.sbin/httpd/icons/bomb.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/box1.png b/usr.sbin/httpd/icons/box1.png
new file mode 100644
index 00000000000..c55fccf8dc8
--- /dev/null
+++ b/usr.sbin/httpd/icons/box1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/box2.png b/usr.sbin/httpd/icons/box2.png
new file mode 100644
index 00000000000..26d14325d97
--- /dev/null
+++ b/usr.sbin/httpd/icons/box2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/broken.png b/usr.sbin/httpd/icons/broken.png
new file mode 100644
index 00000000000..e8fd150a339
--- /dev/null
+++ b/usr.sbin/httpd/icons/broken.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/burst.png b/usr.sbin/httpd/icons/burst.png
new file mode 100644
index 00000000000..2329898f2a4
--- /dev/null
+++ b/usr.sbin/httpd/icons/burst.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/c.png b/usr.sbin/httpd/icons/c.png
new file mode 100644
index 00000000000..41593b36b36
--- /dev/null
+++ b/usr.sbin/httpd/icons/c.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/comp.blue.png b/usr.sbin/httpd/icons/comp.blue.png
new file mode 100644
index 00000000000..60ff156deb9
--- /dev/null
+++ b/usr.sbin/httpd/icons/comp.blue.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/comp.gray.png b/usr.sbin/httpd/icons/comp.gray.png
new file mode 100644
index 00000000000..01538f8f316
--- /dev/null
+++ b/usr.sbin/httpd/icons/comp.gray.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/compressed.png b/usr.sbin/httpd/icons/compressed.png
new file mode 100644
index 00000000000..de7276dbc08
--- /dev/null
+++ b/usr.sbin/httpd/icons/compressed.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/continued.png b/usr.sbin/httpd/icons/continued.png
new file mode 100644
index 00000000000..8f656e27f24
--- /dev/null
+++ b/usr.sbin/httpd/icons/continued.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/dir.png b/usr.sbin/httpd/icons/dir.png
new file mode 100644
index 00000000000..6b97905067e
--- /dev/null
+++ b/usr.sbin/httpd/icons/dir.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/down.png b/usr.sbin/httpd/icons/down.png
new file mode 100644
index 00000000000..be3904b0451
--- /dev/null
+++ b/usr.sbin/httpd/icons/down.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/dvi.png b/usr.sbin/httpd/icons/dvi.png
new file mode 100644
index 00000000000..19c417f227b
--- /dev/null
+++ b/usr.sbin/httpd/icons/dvi.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/f.png b/usr.sbin/httpd/icons/f.png
new file mode 100644
index 00000000000..c946f5b3165
--- /dev/null
+++ b/usr.sbin/httpd/icons/f.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/folder.open.png b/usr.sbin/httpd/icons/folder.open.png
new file mode 100644
index 00000000000..dd2d7e0cc2d
--- /dev/null
+++ b/usr.sbin/httpd/icons/folder.open.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/folder.png b/usr.sbin/httpd/icons/folder.png
new file mode 100644
index 00000000000..6b97905067e
--- /dev/null
+++ b/usr.sbin/httpd/icons/folder.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/folder.sec.png b/usr.sbin/httpd/icons/folder.sec.png
new file mode 100644
index 00000000000..833f59ac517
--- /dev/null
+++ b/usr.sbin/httpd/icons/folder.sec.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/forward.png b/usr.sbin/httpd/icons/forward.png
new file mode 100644
index 00000000000..c5584a4c306
--- /dev/null
+++ b/usr.sbin/httpd/icons/forward.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/generic.png b/usr.sbin/httpd/icons/generic.png
new file mode 100644
index 00000000000..0227cabb5ce
--- /dev/null
+++ b/usr.sbin/httpd/icons/generic.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/generic.red.png b/usr.sbin/httpd/icons/generic.red.png
new file mode 100644
index 00000000000..be63249beb5
--- /dev/null
+++ b/usr.sbin/httpd/icons/generic.red.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/generic.sec.png b/usr.sbin/httpd/icons/generic.sec.png
new file mode 100644
index 00000000000..0bd3d96bdcd
--- /dev/null
+++ b/usr.sbin/httpd/icons/generic.sec.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/hand.right.png b/usr.sbin/httpd/icons/hand.right.png
new file mode 100644
index 00000000000..93035c658ab
--- /dev/null
+++ b/usr.sbin/httpd/icons/hand.right.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/hand.up.png b/usr.sbin/httpd/icons/hand.up.png
new file mode 100644
index 00000000000..1405a6f1562
--- /dev/null
+++ b/usr.sbin/httpd/icons/hand.up.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/icon.sheet.png b/usr.sbin/httpd/icons/icon.sheet.png
new file mode 100644
index 00000000000..b875cb6b1c1
--- /dev/null
+++ b/usr.sbin/httpd/icons/icon.sheet.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/image1.png b/usr.sbin/httpd/icons/image1.png
new file mode 100644
index 00000000000..c1374fde333
--- /dev/null
+++ b/usr.sbin/httpd/icons/image1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/image2.png b/usr.sbin/httpd/icons/image2.png
new file mode 100644
index 00000000000..606d4fb87e5
--- /dev/null
+++ b/usr.sbin/httpd/icons/image2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/image3.png b/usr.sbin/httpd/icons/image3.png
new file mode 100644
index 00000000000..701fb1e1359
--- /dev/null
+++ b/usr.sbin/httpd/icons/image3.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/index.png b/usr.sbin/httpd/icons/index.png
new file mode 100644
index 00000000000..9a0de350582
--- /dev/null
+++ b/usr.sbin/httpd/icons/index.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/layout.png b/usr.sbin/httpd/icons/layout.png
new file mode 100644
index 00000000000..0a97c1c475f
--- /dev/null
+++ b/usr.sbin/httpd/icons/layout.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/left.png b/usr.sbin/httpd/icons/left.png
new file mode 100644
index 00000000000..d6e2404a811
--- /dev/null
+++ b/usr.sbin/httpd/icons/left.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/link.png b/usr.sbin/httpd/icons/link.png
new file mode 100644
index 00000000000..4714d0ef40a
--- /dev/null
+++ b/usr.sbin/httpd/icons/link.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/movie.png b/usr.sbin/httpd/icons/movie.png
new file mode 100644
index 00000000000..5615180de88
--- /dev/null
+++ b/usr.sbin/httpd/icons/movie.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/p.png b/usr.sbin/httpd/icons/p.png
new file mode 100644
index 00000000000..3fbe0e8801e
--- /dev/null
+++ b/usr.sbin/httpd/icons/p.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/patch.png b/usr.sbin/httpd/icons/patch.png
new file mode 100644
index 00000000000..808ed7865fe
--- /dev/null
+++ b/usr.sbin/httpd/icons/patch.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pdf.png b/usr.sbin/httpd/icons/pdf.png
new file mode 100644
index 00000000000..516142bb47b
--- /dev/null
+++ b/usr.sbin/httpd/icons/pdf.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie0.png b/usr.sbin/httpd/icons/pie0.png
new file mode 100644
index 00000000000..12e0200c97f
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie0.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie1.png b/usr.sbin/httpd/icons/pie1.png
new file mode 100644
index 00000000000..c44c793ed8b
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie2.png b/usr.sbin/httpd/icons/pie2.png
new file mode 100644
index 00000000000..e0b7167d913
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie3.png b/usr.sbin/httpd/icons/pie3.png
new file mode 100644
index 00000000000..820a3c35fa9
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie3.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie4.png b/usr.sbin/httpd/icons/pie4.png
new file mode 100644
index 00000000000..35490d857c7
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie4.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie5.png b/usr.sbin/httpd/icons/pie5.png
new file mode 100644
index 00000000000..359b7d377f4
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie5.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie6.png b/usr.sbin/httpd/icons/pie6.png
new file mode 100644
index 00000000000..4b293eae18c
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie6.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie7.png b/usr.sbin/httpd/icons/pie7.png
new file mode 100644
index 00000000000..6bfa2d06ae2
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie7.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/pie8.png b/usr.sbin/httpd/icons/pie8.png
new file mode 100644
index 00000000000..716cf2822bf
--- /dev/null
+++ b/usr.sbin/httpd/icons/pie8.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/portal.png b/usr.sbin/httpd/icons/portal.png
new file mode 100644
index 00000000000..937c0f87cd6
--- /dev/null
+++ b/usr.sbin/httpd/icons/portal.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/ps.png b/usr.sbin/httpd/icons/ps.png
new file mode 100644
index 00000000000..ccccf730b6c
--- /dev/null
+++ b/usr.sbin/httpd/icons/ps.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/quill.png b/usr.sbin/httpd/icons/quill.png
new file mode 100644
index 00000000000..b697770a882
--- /dev/null
+++ b/usr.sbin/httpd/icons/quill.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/right.png b/usr.sbin/httpd/icons/right.png
new file mode 100644
index 00000000000..41f8529a84e
--- /dev/null
+++ b/usr.sbin/httpd/icons/right.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/screw1.png b/usr.sbin/httpd/icons/screw1.png
new file mode 100644
index 00000000000..11673ab97dc
--- /dev/null
+++ b/usr.sbin/httpd/icons/screw1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/screw2.png b/usr.sbin/httpd/icons/screw2.png
new file mode 100644
index 00000000000..5d7d2cf65e9
--- /dev/null
+++ b/usr.sbin/httpd/icons/screw2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/script.png b/usr.sbin/httpd/icons/script.png
new file mode 100644
index 00000000000..2520570a775
--- /dev/null
+++ b/usr.sbin/httpd/icons/script.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/back.png b/usr.sbin/httpd/icons/small/back.png
new file mode 100644
index 00000000000..2257df2140d
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/back.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/binary.png b/usr.sbin/httpd/icons/small/binary.png
new file mode 100644
index 00000000000..2e2e1b073d6
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/binary.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/binhex.png b/usr.sbin/httpd/icons/small/binhex.png
new file mode 100644
index 00000000000..9deab419b61
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/binhex.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/blank.png b/usr.sbin/httpd/icons/small/blank.png
new file mode 100644
index 00000000000..86f57a504f7
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/blank.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/broken.png b/usr.sbin/httpd/icons/small/broken.png
new file mode 100644
index 00000000000..79c998c8c31
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/broken.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/burst.png b/usr.sbin/httpd/icons/small/burst.png
new file mode 100644
index 00000000000..2b21436c78e
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/burst.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/comp1.png b/usr.sbin/httpd/icons/small/comp1.png
new file mode 100644
index 00000000000..6d8c3459ed0
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/comp1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/comp2.png b/usr.sbin/httpd/icons/small/comp2.png
new file mode 100644
index 00000000000..57f7ad197b8
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/comp2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/compressed.png b/usr.sbin/httpd/icons/small/compressed.png
new file mode 100644
index 00000000000..43acd8b943d
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/compressed.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/continued.png b/usr.sbin/httpd/icons/small/continued.png
new file mode 100644
index 00000000000..db17c424650
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/continued.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/dir.png b/usr.sbin/httpd/icons/small/dir.png
new file mode 100644
index 00000000000..9bd6256bdbb
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/dir.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/dir2.png b/usr.sbin/httpd/icons/small/dir2.png
new file mode 100644
index 00000000000..836daf49ef2
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/dir2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/doc.png b/usr.sbin/httpd/icons/small/doc.png
new file mode 100644
index 00000000000..c560df21d3c
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/doc.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/forward.png b/usr.sbin/httpd/icons/small/forward.png
new file mode 100644
index 00000000000..4ddbc61e142
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/forward.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/generic.png b/usr.sbin/httpd/icons/small/generic.png
new file mode 100644
index 00000000000..16374a12bbb
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/generic.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/generic2.png b/usr.sbin/httpd/icons/small/generic2.png
new file mode 100644
index 00000000000..40d60c1df23
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/generic2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/generic3.png b/usr.sbin/httpd/icons/small/generic3.png
new file mode 100644
index 00000000000..aa38963afa2
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/generic3.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/image.png b/usr.sbin/httpd/icons/small/image.png
new file mode 100644
index 00000000000..d92f0a5fcc4
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/image.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/image2.png b/usr.sbin/httpd/icons/small/image2.png
new file mode 100644
index 00000000000..4049bda5619
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/image2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/index.png b/usr.sbin/httpd/icons/small/index.png
new file mode 100644
index 00000000000..080453e2151
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/index.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/key.png b/usr.sbin/httpd/icons/small/key.png
new file mode 100644
index 00000000000..1a45f67df31
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/key.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/movie.png b/usr.sbin/httpd/icons/small/movie.png
new file mode 100644
index 00000000000..7c126042c9a
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/movie.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/patch.png b/usr.sbin/httpd/icons/small/patch.png
new file mode 100644
index 00000000000..c39f14435a0
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/patch.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/ps.png b/usr.sbin/httpd/icons/small/ps.png
new file mode 100644
index 00000000000..5c604230d07
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/ps.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/rainbow.png b/usr.sbin/httpd/icons/small/rainbow.png
new file mode 100644
index 00000000000..175053cb433
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/rainbow.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/sound.png b/usr.sbin/httpd/icons/small/sound.png
new file mode 100644
index 00000000000..6e3e95d3d01
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/sound.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/sound2.png b/usr.sbin/httpd/icons/small/sound2.png
new file mode 100644
index 00000000000..bc46eb48fe5
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/sound2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/tar.png b/usr.sbin/httpd/icons/small/tar.png
new file mode 100644
index 00000000000..12f0347bf9c
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/tar.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/text.png b/usr.sbin/httpd/icons/small/text.png
new file mode 100644
index 00000000000..b4e30f466d3
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/text.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/transfer.png b/usr.sbin/httpd/icons/small/transfer.png
new file mode 100644
index 00000000000..324048170a8
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/transfer.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/unknown.png b/usr.sbin/httpd/icons/small/unknown.png
new file mode 100644
index 00000000000..cad7e7a7aa0
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/unknown.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/small/uu.png b/usr.sbin/httpd/icons/small/uu.png
new file mode 100644
index 00000000000..ef87c82ee6c
--- /dev/null
+++ b/usr.sbin/httpd/icons/small/uu.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/sound1.png b/usr.sbin/httpd/icons/sound1.png
new file mode 100644
index 00000000000..7a766be6cc8
--- /dev/null
+++ b/usr.sbin/httpd/icons/sound1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/sound2.png b/usr.sbin/httpd/icons/sound2.png
new file mode 100644
index 00000000000..45112909398
--- /dev/null
+++ b/usr.sbin/httpd/icons/sound2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/sphere1.png b/usr.sbin/httpd/icons/sphere1.png
new file mode 100644
index 00000000000..2198ae89ec4
--- /dev/null
+++ b/usr.sbin/httpd/icons/sphere1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/sphere2.png b/usr.sbin/httpd/icons/sphere2.png
new file mode 100644
index 00000000000..257632ba46d
--- /dev/null
+++ b/usr.sbin/httpd/icons/sphere2.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/tar.png b/usr.sbin/httpd/icons/tar.png
new file mode 100644
index 00000000000..6c40521ff80
--- /dev/null
+++ b/usr.sbin/httpd/icons/tar.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/tex.png b/usr.sbin/httpd/icons/tex.png
new file mode 100644
index 00000000000..906622d3844
--- /dev/null
+++ b/usr.sbin/httpd/icons/tex.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/text.png b/usr.sbin/httpd/icons/text.png
new file mode 100644
index 00000000000..34d0edf86e4
--- /dev/null
+++ b/usr.sbin/httpd/icons/text.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/transfer.png b/usr.sbin/httpd/icons/transfer.png
new file mode 100644
index 00000000000..efaf17b682f
--- /dev/null
+++ b/usr.sbin/httpd/icons/transfer.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/unknown.png b/usr.sbin/httpd/icons/unknown.png
new file mode 100644
index 00000000000..7c241c383c0
--- /dev/null
+++ b/usr.sbin/httpd/icons/unknown.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/up.png b/usr.sbin/httpd/icons/up.png
new file mode 100644
index 00000000000..a69ea00c5b7
--- /dev/null
+++ b/usr.sbin/httpd/icons/up.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/uu.png b/usr.sbin/httpd/icons/uu.png
new file mode 100644
index 00000000000..b1d1a8579d5
--- /dev/null
+++ b/usr.sbin/httpd/icons/uu.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/uuencoded.png b/usr.sbin/httpd/icons/uuencoded.png
new file mode 100644
index 00000000000..b1d1a8579d5
--- /dev/null
+++ b/usr.sbin/httpd/icons/uuencoded.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/world1.png b/usr.sbin/httpd/icons/world1.png
new file mode 100644
index 00000000000..3a65c00d846
--- /dev/null
+++ b/usr.sbin/httpd/icons/world1.png
Binary files differ
diff --git a/usr.sbin/httpd/icons/world2.png b/usr.sbin/httpd/icons/world2.png
new file mode 100644
index 00000000000..9f8a3ea4b35
--- /dev/null
+++ b/usr.sbin/httpd/icons/world2.png
Binary files differ
diff --git a/usr.sbin/httpd/src/ap/ap_ebcdic.c b/usr.sbin/httpd/src/ap/ap_ebcdic.c
new file mode 100644
index 00000000000..5834f4cc462
--- /dev/null
+++ b/usr.sbin/httpd/src/ap/ap_ebcdic.c
@@ -0,0 +1,261 @@
+/* ====================================================================
+ * Copyright (c) 1995-2000 The Apache Group. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * 4. The names "Apache Server" and "Apache Group" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Group and was originally based
+ * on public domain software written at the National Center for
+ * Supercomputing Applications, University of Illinois, Urbana-Champaign.
+ * For more information on the Apache Group and the Apache HTTP server
+ * project, please see <http://www.apache.org/>.
+ *
+ */
+
+#include "httpd.h"
+#include "http_core.h"
+#include "http_config.h"
+#include "ap_config.h"
+
+#ifdef CHARSET_EBCDIC
+#include "ap_ebcdic.h"
+
+
+/* ====================================================================== */
+/* Global functions for dealing with EBCDIC <-> ASCII conversion: */
+/* ====================================================================== */
+
+/* EBCDIC-to-ASCII tables:
+ These tables are bijective - there are no ambigous or duplicate characters.
+ */
+const unsigned char os_toascii[256] = {
+#ifdef _OSD_POSIX /* Fujitsu-Siemens' EDF04 character set on BS2000: */
+/*00*/ 0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f,
+ 0x87, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /*................*/
+/*10*/ 0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97,
+ 0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /*................*/
+/*20*/ 0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b,
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /*................*/
+/*30*/ 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04,
+ 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /*................*/
+/*40*/ 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5,
+ 0xe7, 0xf1, 0x60, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* .........`.<(+|*/
+/*50*/ 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef,
+ 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x9f, /*&.........!$*);.*/
+/*60*/ 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5,
+ 0xc7, 0xd1, 0x5e, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /*-/........^,%_>?*/
+/*70*/ 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf,
+ 0xcc, 0xa8, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /*..........:#@'="*/
+/*80*/ 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
+ 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /*.abcdefghi......*/
+/*90*/ 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
+ 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /*.jklmnopqr......*/
+/*a0*/ 0xb5, 0xaf, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+ 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0xdd, 0xde, 0xae, /*..stuvwxyz......*/
+/*b0*/ 0xa2, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc,
+ 0xbd, 0xbe, 0xac, 0x5b, 0x5c, 0x5d, 0xb4, 0xd7, /*...........[\]..*/
+/*c0*/ 0xf9, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
+ 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /*.ABCDEFGHI......*/
+/*d0*/ 0xa6, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
+ 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xdb, 0xfa, 0xff, /*.JKLMNOPQR......*/
+/*e0*/ 0xd9, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+ 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /*..STUVWXYZ......*/
+/*f0*/ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ 0x38, 0x39, 0xb3, 0x7b, 0xdc, 0x7d, 0xda, 0x7e /*0123456789.{.}.~*/
+
+#elif defined(OS390) || defined(TPF) /* IBM's OS/390 and TPF systems: */
+/*
+Bijective EBCDIC (character set IBM-1047) to US-ASCII table:
+*/
+ 0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
+ 0x87, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
+ 0x10, 0x11, 0x12, 0x13, 0x8f, 0x0a, 0x08, 0x97, /* 10-1f: */
+ 0x18, 0x19, 0x9c, 0x9d, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x92, 0x17, 0x1b, /* 20-2f: */
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, /* ................ */
+ 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, /* 30-3f: */
+ 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, /* ................ */
+ 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, /* 40-4f: */
+ 0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, /* ...........<(+| */
+ 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, /* 50-5f: */
+ 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, /* &.........!$*);^ */
+ 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, /* 60-6f: */
+ 0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, /* -/.........,%_>? */
+ 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, /* 70-7f: */
+ 0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, /* .........`:#@'=" */
+ 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 80-8f: */
+ 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xfe, 0xb1, /* .abcdefghi...... */
+ 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, /* 90-9f: */
+ 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, /* .jklmnopqr...... */
+ 0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* a0-af: */
+ 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0x5b, 0xde, 0xae, /* .~stuvwxyz...[.. */
+ 0xac, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, /* b0-bf: */
+ 0xbd, 0xbe, 0xdd, 0xa8, 0xaf, 0x5d, 0xb4, 0xd7, /* .............].. */
+ 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* c0-cf: */
+ 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, /* {ABCDEFGHI...... */
+ 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* d0-df: */
+ 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, /* }JKLMNOPQR...... */
+ 0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* e0-ef: */
+ 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, /* \.STUVWXYZ...... */
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* f0-ff: */
+ 0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f /* 0123456789...... */
+#else
+#error Unimplemented EBCDIC platform. Please send information about your system to <martin@apache.org>!
+#endif
+};
+
+
+/* Bijective ascii-to-ebcdic table: */
+const unsigned char os_toebcdic[256] = {
+#ifdef _OSD_POSIX /* Fujitsu-Siemens' EDF04 character set on BS2000: */
+/*00*/ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
+ 0x16, 0x05, 0x15, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /*................*/
+/*10*/ 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
+ 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /*................*/
+/*20*/ 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
+ 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* !"#$%&'()*+,-./ */
+/*30*/ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+ 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /*0123456789:;<=>?*/
+/*40*/ 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
+ 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /*@ABCDEFGHIJKLMNO*/
+/*50*/ 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
+ 0xe7, 0xe8, 0xe9, 0xbb, 0xbc, 0xbd, 0x6a, 0x6d, /*PQRSTUVWXYZ[\]^_*/
+/*60*/ 0x4a, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+ 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /*`abcdefghijklmno*/
+/*70*/ 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
+ 0xa7, 0xa8, 0xa9, 0xfb, 0x4f, 0xfd, 0xff, 0x07, /*pqrstuvwxyz{|}~.*/
+/*80*/ 0x20, 0x21, 0x22, 0x23, 0x24, 0x04, 0x06, 0x08,
+ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x14, /*................*/
+/*90*/ 0x30, 0x31, 0x25, 0x33, 0x34, 0x35, 0x36, 0x17,
+ 0x38, 0x39, 0x3a, 0x3b, 0x1a, 0x1b, 0x3e, 0x5f, /*................*/
+/*a0*/ 0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0xd0, 0xb5,
+ 0x79, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xa1, /*................*/
+/*b0*/ 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
+ 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /*................*/
+/*c0*/ 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,
+ 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /*................*/
+/*d0*/ 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,
+ 0x80, 0xe0, 0xfe, 0xdd, 0xfc, 0xad, 0xae, 0x59, /*................*/
+/*e0*/ 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,
+ 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /*................*/
+/*f0*/ 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,
+ 0x70, 0xc0, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf /*................*/
+#elif defined(OS390) || defined(TPF) /* IBM's OS/390 and TPF systems: */
+/*
+The US-ASCII to EBCDIC (character set IBM-1047) table:
+This table is bijective (no ambiguous or duplicate characters)
+*/
+ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 00-0f: */
+ 0x16, 0x05, 0x15, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* ................ */
+ 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, /* 10-1f: */
+ 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, /* ................ */
+ 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, /* 20-2f: */
+ 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, /* !"#$%&'()*+,-./ */
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 30-3f: */
+ 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, /* 0123456789:;<=>? */
+ 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 40-4f: */
+ 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, /* @ABCDEFGHIJKLMNO */
+ 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, /* 50-5f: */
+ 0xe7, 0xe8, 0xe9, 0xad, 0xe0, 0xbd, 0x5f, 0x6d, /* PQRSTUVWXYZ[\]^_ */
+ 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 60-6f: */
+ 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /* `abcdefghijklmno */
+ 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, /* 70-7f: */
+ 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, /* pqrstuvwxyz{|}~. */
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x04, 0x06, 0x08, /* 80-8f: */
+ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x14, /* ................ */
+ 0x30, 0x31, 0x25, 0x33, 0x34, 0x35, 0x36, 0x17, /* 90-9f: */
+ 0x38, 0x39, 0x3a, 0x3b, 0x1a, 0x1b, 0x3e, 0xff, /* ................ */
+ 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, /* a0-af: */
+ 0xbb, 0xb4, 0x9a, 0x8a, 0xb0, 0xca, 0xaf, 0xbc, /* ................ */
+ 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, /* b0-bf: */
+ 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, /* ................ */
+ 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, /* c0-cf: */
+ 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, /* ................ */
+ 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, /* d0-df: */
+ 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xba, 0xae, 0x59, /* ................ */
+ 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, /* e0-ef: */
+ 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, /* ................ */
+ 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, /* f0-ff: */
+ 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf /* ................ */
+#else
+#error Unimplemented EBCDIC platform. Please send information about your system to <martin@apache.org>!
+#endif
+};
+
+
+/* Translate a memory block from EBCDIC (host charset) to ASCII (net charset)
+ * dest and srce may be identical, or separate memory blocks, but
+ * should not overlap. These functions intentionally have an interface
+ * compatible to memcpy(3).
+ */
+
+
+API_EXPORT(void *)
+ebcdic2ascii(void *dest, const void *srce, size_t count)
+{
+ unsigned char *udest = dest;
+ const unsigned char *usrce = srce;
+
+ while (count-- != 0) {
+ *udest++ = os_toascii[*usrce++];
+ }
+
+ return dest;
+}
+
+API_EXPORT(void *)
+ascii2ebcdic(void *dest, const void *srce, size_t count)
+{
+ unsigned char *udest = dest;
+ const unsigned char *usrce = srce;
+
+ while (count-- != 0) {
+ *udest++ = os_toebcdic[*usrce++];
+ }
+
+ return dest;
+}
+#endif /*CHARSET_EBCDIC*/
diff --git a/usr.sbin/httpd/src/helpers/fixwin32mak.pl b/usr.sbin/httpd/src/helpers/fixwin32mak.pl
new file mode 100644
index 00000000000..756f0a735c8
--- /dev/null
+++ b/usr.sbin/httpd/src/helpers/fixwin32mak.pl
@@ -0,0 +1,47 @@
+#
+# fixwin32mak.pl ::: Apache/Win32 maintanace program
+#
+# This program, launched from the build/ directory, replaces all nasty absoulute paths
+# in the win32 .mak files with the appropriate relative root.
+#
+# Run this program prior to committing or packaging any newly exported make files.
+
+use Cwd;
+use IO::File;
+use File::Find;
+
+chdir '..';
+$root = cwd;
+$root =~ s|.:(.*)|cd "$1|;
+$root =~ s|/|\\\\|g;
+find(\&fixcwd, '.');
+
+sub fixcwd {
+ if (m|.mak$|) {
+ $repl = $File::Find::dir;
+ $repl =~ s|^./||;
+ $repl =~ s|[^\./]+|..|g;
+ $repl =~ s|/|\\|;
+ $oname = $_;
+ $tname = '.#' . $_;
+ $verchg = 0;
+ $srcfl = new IO::File $_, "r" || die;
+ $dstfl = new IO::File $tname, "w" || die;
+ while ($src = <$srcfl>) {
+ if ($src =~ s|^(\s*)$root|$1cd "$repl|) {
+ $verchg = -1;
+ }
+ print $dstfl $src;
+ }
+ undef $srcfl;
+ undef $dstfl;
+ if ($verchg) {
+ unlink $oname || die;
+ rename $tname, $oname || die;
+ print "Corrected absolute paths within " . $oname . " in " . $File::Find::dir . "\n";
+ }
+ else {
+ unlink $tname;
+ }
+ }
+}
diff --git a/usr.sbin/httpd/src/include/ap_ebcdic.h b/usr.sbin/httpd/src/include/ap_ebcdic.h
new file mode 100644
index 00000000000..c3762fd8345
--- /dev/null
+++ b/usr.sbin/httpd/src/include/ap_ebcdic.h
@@ -0,0 +1,68 @@
+/* ====================================================================
+ * Copyright (c) 1998-1999 The Apache Group. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * 4. The names "Apache Server" and "Apache Group" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the Apache Group
+ * for use in the Apache HTTP server project (http://www.apache.org/)."
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Group and was originally based
+ * on public domain software written at the National Center for
+ * Supercomputing Applications, University of Illinois, Urbana-Champaign.
+ * For more information on the Apache Group and the Apache HTTP server
+ * project, please see <http://www.apache.org/>.
+ *
+ */
+
+#ifndef AP_EBCDIC_H
+#define AP_EBCDIC_H "$Id: ap_ebcdic.h,v 1.1 2002/02/12 07:56:49 beck Exp $"
+
+#include <sys/types.h>
+
+extern const unsigned char os_toascii[256];
+extern const unsigned char os_toebcdic[256];
+API_EXPORT(void *) ebcdic2ascii(void *dest, const void *srce, size_t count);
+API_EXPORT(void *) ascii2ebcdic(void *dest, const void *srce, size_t count);
+
+#endif /*AP_EBCDIC_H*/
diff --git a/usr.sbin/httpd/src/modules/standard/Makefile.Cygwin b/usr.sbin/httpd/src/modules/standard/Makefile.Cygwin
new file mode 100644
index 00000000000..61ac32af916
--- /dev/null
+++ b/usr.sbin/httpd/src/modules/standard/Makefile.Cygwin
@@ -0,0 +1,57 @@
+#
+# Extra rule sets for making shared module DLLs for Cygwin 1.x
+#
+# On Cygwin OS the user needs to run twice "make" if shared modules have
+# been requested using the --enable-shared=<module> configure flag.
+# This is because when we pass the module mod_foo.c we have no import
+# library, usually src/libhttpd.dll to link against in this case. So the
+# two "make" runs do the following:
+#
+# 1st run: builds all static modules and links everything to the
+# shared core DLL, which is also the import library for any
+# further shared modules, including the apxs tool mechanism.
+#
+# 2nd run: builds *only* the shared module DLLs specified by the
+# --enable-shared configure switch and of course updates
+# the buildmark.o and hence httpd's build date.
+#
+# Any suggestions in getting this done in one step are highly welcome.
+# Stipe Tolj <tolj@wapme-systems.de>
+#
+
+# overwrite variables that are defined in previous makefile
+LD_SHLIB=$(CC)
+LDFLAGS_SHLIB=--shared
+
+define shared_dll
+ $(LD_SHLIB) $(LDFLAGS_SHLIB) -o $*.dll $(<:%.c=%.o) $(LIBS_SHLIB) \
+ $(SRCDIR)/$(SHCORE_IMPLIB) $(LIBS1)
+endef
+
+%.def : %.c
+ touch $*.def
+
+%.lo : %.c
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $< && mv $*.o $*.lo
+
+%.dll : %.lo
+ @if [ -f "$(SRCDIR)/$(SHCORE_IMPLIB)" ]; then \
+ rm -f $(SRCDIR)/$(SHCORE_IMPLIB).$$; \
+ echo $(shared_dll); \
+ $(shared_dll); \
+ else \
+ if [ ! -f "$(SRCDIR)/$(SHCORE_IMPLIB).$$" ]; then \
+ echo "+--------------------------------------------------------+"; \
+ echo "| There is no shared core 'libhttpd.dll' available! |"; \
+ echo "| |"; \
+ echo "| This is obviously your first 'make' run with configure |"; \
+ echo "| flag SHARED_CORE enabled and shared modules. |"; \
+ echo "| |"; \
+ echo "| You will have to re-run 'make' after this run builds |"; \
+ echo "| the required shared import library! |"; \
+ echo "+--------------------------------------------------------+"; \
+ sleep 10; \
+ touch $(SRCDIR)/$(SHCORE_IMPLIB).$$; \
+ fi; \
+ fi;
+
diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def b/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def
new file mode 100644
index 00000000000..95cfc835465
--- /dev/null
+++ b/usr.sbin/httpd/src/os/netware/ApacheModuleUniqueID.def
@@ -0,0 +1 @@
+EXPORT unique_id_module
diff --git a/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def b/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def
new file mode 100644
index 00000000000..09f5dc2eae3
--- /dev/null
+++ b/usr.sbin/httpd/src/os/netware/ApacheModuleVhostAlias.def
@@ -0,0 +1 @@
+EXPORT vhost_alias_module
diff --git a/usr.sbin/httpd/src/os/tpf/samples/linkhttp.jcl b/usr.sbin/httpd/src/os/tpf/samples/linkhttp.jcl
new file mode 100644
index 00000000000..0d7124f8560
--- /dev/null
+++ b/usr.sbin/httpd/src/os/tpf/samples/linkhttp.jcl
@@ -0,0 +1,155 @@
+//LINKHTTP JOB MSGLEVEL=(1,1),CLASS=G,MSGCLASS=S
+/*ROUTE PRINT <your-id-here>
+/*ROUTE PUNCH <your-id-here>
+/*NOTIFY <your-id-here>
+//CCLE JCLLIB ORDER=(SYS1.CBC.SCBCPRC,SYS1.CEE.SCEEPROC)
+//PRELINK EXEC EDCPL,COND.LKED=(0,NE),
+// PPARM='OMVS,DLLNAME(CHTA)',
+// LREGSIZ='2048K',
+// LPARM='AMODE=31,RMODE=ANY,LIST,XREF'
+//PLKED.SYSLIB DD DISP=SHR,DSN=ACP.STUB.RLSE40
+// DD DISP=SHR,DSN=ACP.CLIB.RLSE40
+//PLKED.OBJLIB DD DISP=SHR,DSN=ACP.MAIN.SYST.OBBSS
+// DD DISP=SHR,DSN=ACP.DF.MAIN.SYST.OBBSS
+// DD DISP=SHR,DSN=ACP.OBJ.RLSE40.BSS
+//PLKED.OBJ01 DD PATH='/<your-path-here>/src/ap/ap_base64.o'
+//PLKED.OBJ02 DD PATH='/<your-path-here>/src/ap/ap_checkpass.o'
+//PLKED.OBJ03 DD PATH='/<your-path-here>/src/ap/ap_cpystrn.o'
+//PLKED.OBJ04 DD PATH='/<your-path-here>/src/ap/ap_ebcdic.o'
+//PLKED.OBJ05 DD PATH='/<your-path-here>/src/ap/ap_execve.o'
+//PLKED.OBJ06 DD PATH='/<your-path-here>/src/ap/ap_fnmatch.o'
+//PLKED.OBJ07 DD PATH='/<your-path-here>/src/ap/ap_getpass.o'
+//PLKED.OBJ08 DD PATH='/<your-path-here>/src/ap/ap_md5c.o'
+//PLKED.OBJ09 DD PATH='/<your-path-here>/src/ap/ap_sha1.o'
+//PLKED.OBJ10 DD PATH='/<your-path-here>/src/ap/ap_signal.o'
+//PLKED.OBJ11 DD PATH='/<your-path-here>/src/ap/ap_slack.o'
+//PLKED.OBJ12 DD PATH='/<your-path-here>/src/ap/ap_snprintf.o'
+//PLKED.OBJ13 DD PATH='/<your-path-here>/src/buildmark.o'
+//PLKED.OBJ14 DD PATH='/<your-path-here>/src/main/alloc.o'
+//PLKED.OBJ15 DD PATH='/<your-path-here>/src/main/buff.o'
+//PLKED.OBJ16 DD PATH='/<your-path-here>/src/main/http_config.o'
+//PLKED.OBJ17 DD PATH='/<your-path-here>/src/main/http_core.o'
+//PLKED.OBJ18 DD PATH='/<your-path-here>/src/main/http_log.o'
+//PLKED.OBJ19 DD PATH='/<your-path-here>/src/main/http_main.o'
+//PLKED.OBJ20 DD PATH='/<your-path-here>/src/main/http_protocol.o'
+//PLKED.OBJ21 DD PATH='/<your-path-here>/src/main/http_request.o'
+//PLKED.OBJ22 DD PATH='/<your-path-here>/src/main/http_vhost.o'
+//PLKED.OBJ23 DD PATH='/<your-path-here>/src/main/rfc1413.o'
+//PLKED.OBJ24 DD PATH='/<your-path-here>/src/main/util.o'
+//PLKED.OBJ25 DD PATH='/<your-path-here>/src/main/util_date.o'
+//PLKED.OBJ26 DD PATH='/<your-path-here>/src/main/util_md5.o'
+//PLKED.OBJ27 DD PATH='/<your-path-here>/src/main/util_script.o'
+//PLKED.OBJ28 DD PATH='/<your-path-here>/src/main/util_uri.o'
+//PLKED.OBJ29 DD PATH='/<your-path-here>/src/modules.o'
+//PLKED.OBJ30 DD PATH='/<your-path-here>/src/modules/standard/mod_acce\
+// ss.o'
+//PLKED.OBJ31 DD PATH='/<your-path-here>/src/modules/standard/mod_acti\
+// ons.o'
+//PLKED.OBJ32 DD PATH='/<your-path-here>/src/modules/standard/mod_alia\
+// s.o'
+//PLKED.OBJ33 DD PATH='/<your-path-here>/src/modules/standard/mod_asis\
+// .o'
+//PLKED.OBJ34 DD PATH='/<your-path-here>/src/modules/standard/mod_auth\
+// .o'
+//PLKED.OBJ35 DD PATH='/<your-path-here>/src/modules/standard/mod_auto\
+// index.o'
+//PLKED.OBJ36 DD PATH='/<your-path-here>/src/modules/standard/mod_cgi.\
+// o'
+//PLKED.OBJ37 DD PATH='/<your-path-here>/src/modules/standard/mod_dir.\
+// o'
+//PLKED.OBJ38 DD PATH='/<your-path-here>/src/modules/standard/mod_env.\
+// o'
+//PLKED.OBJ39 DD PATH='/<your-path-here>/src/modules/standard/mod_imap\
+// .o'
+//PLKED.OBJ40 DD PATH='/<your-path-here>/src/modules/standard/mod_incl\
+// ude.o'
+//PLKED.OBJ41 DD PATH='/<your-path-here>/src/modules/standard/mod_log_\
+// config.o'
+//PLKED.OBJ42 DD PATH='/<your-path-here>/src/modules/standard/mod_mime\
+// .o'
+//PLKED.OBJ43 DD PATH='/<your-path-here>/src/modules/standard/mod_nego\
+// tiation.o'
+//PLKED.OBJ44 DD PATH='/<your-path-here>/src/modules/standard/mod_sete\
+// nvif.o'
+//PLKED.OBJ45 DD PATH='/<your-path-here>/src/modules/standard/mod_stat\
+// us.o'
+//PLKED.OBJ46 DD PATH='/<your-path-here>/src/modules/standard/mod_user\
+// dir.o'
+//PLKED.OBJ47 DD PATH='/<your-path-here>/src/os/tpf/cgetop.o'
+//PLKED.OBJ48 DD PATH='/<your-path-here>/src/os/tpf/os.o'
+//PLKED.OBJ49 DD PATH='/<your-path-here>/src/os/tpf/os-inline.o'
+//PLKED.OBJ50 DD PATH='/<your-path-here>/src/regex/regcomp.o'
+//PLKED.OBJ51 DD PATH='/<your-path-here>/src/regex/regerror.o'
+//PLKED.OBJ52 DD PATH='/<your-path-here>/src/regex/regexec.o'
+//PLKED.OBJ53 DD PATH='/<your-path-here>/src/regex/regfree.o'
+//PLKED.OBJ54 DD PATH='/<your-path-here>/src/lib/expat-lite/hashtable.\
+// o'
+//PLKED.OBJ55 DD PATH='/<your-path-here>/src/lib/expat-lite/xmlparse.o\
+// '
+//PLKED.OBJ56 DD PATH='/<your-path-here>/src/lib/expat-lite/xmlrole.o'
+//PLKED.OBJ57 DD PATH='/<your-path-here>/src/lib/expat-lite/xmltok.o'
+//PLKED.SYSIN DD *
+ ORDER @@DLMHDR
+ INCLUDE OBJLIB(CSTRTD40)
+ INCLUDE OBJ01
+ INCLUDE OBJ02
+ INCLUDE OBJ03
+ INCLUDE OBJ04
+ INCLUDE OBJ05
+ INCLUDE OBJ06
+ INCLUDE OBJ07
+ INCLUDE OBJ08
+ INCLUDE OBJ09
+ INCLUDE OBJ10
+ INCLUDE OBJ11
+ INCLUDE OBJ12
+ INCLUDE OBJ13
+ INCLUDE OBJ14
+ INCLUDE OBJ15
+ INCLUDE OBJ16
+ INCLUDE OBJ17
+ INCLUDE OBJ18
+ INCLUDE OBJ19
+ INCLUDE OBJ20
+ INCLUDE OBJ21
+ INCLUDE OBJ22
+ INCLUDE OBJ23
+ INCLUDE OBJ24
+ INCLUDE OBJ25
+ INCLUDE OBJ26
+ INCLUDE OBJ27
+ INCLUDE OBJ28
+ INCLUDE OBJ29
+ INCLUDE OBJ30
+ INCLUDE OBJ31
+ INCLUDE OBJ32
+ INCLUDE OBJ33
+ INCLUDE OBJ34
+ INCLUDE OBJ35
+ INCLUDE OBJ36
+ INCLUDE OBJ37
+ INCLUDE OBJ38
+ INCLUDE OBJ39
+ INCLUDE OBJ40
+ INCLUDE OBJ41
+ INCLUDE OBJ42
+ INCLUDE OBJ43
+ INCLUDE OBJ44
+ INCLUDE OBJ45
+ INCLUDE OBJ46
+ INCLUDE OBJ47
+ INCLUDE OBJ48
+ INCLUDE OBJ49
+ INCLUDE OBJ50
+ INCLUDE OBJ51
+ INCLUDE OBJ52
+ INCLUDE OBJ53
+ INCLUDE OBJ54
+ INCLUDE OBJ55
+ INCLUDE OBJ56
+ INCLUDE OBJ57
+ INCLUDE OBJLIB(CINET640)
+/*
+//*** WARNING *** NEVER change .LK to .OB in SYSLMOD!!!
+//LKED.SYSLMOD DD DISP=OLD,DSN=<your-dsn-here>(CHTA<vv>)
+//
diff --git a/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp b/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp
new file mode 100644
index 00000000000..d652bad9f8e
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_mime_magic.dsp
@@ -0,0 +1,95 @@
+# Microsoft Developer Studio Project File - Name="mod_mime_magic" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=mod_mime_magic - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mime_magic.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mime_magic.mak" CFG="mod_mime_magic - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_mime_magic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_mime_magic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_mime_magic" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic
+# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_mime_magic" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic
+# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_mime_magic.so" /base:@"BaseAddr.ref",mod_mime_magic
+
+!ENDIF
+
+# Begin Target
+
+# Name "mod_mime_magic - Win32 Release"
+# Name "mod_mime_magic - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\modules\standard\mod_mime_magic.c
+# End Source File
+# End Target
+# End Project
diff --git a/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak b/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak
new file mode 100644
index 00000000000..36a93c30d42
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_mime_magic.mak
@@ -0,0 +1,281 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_mime_magic.dsp
+!IF "$(CFG)" == ""
+CFG=mod_mime_magic - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_mime_magic - Win32\
+ Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_mime_magic - Win32 Release" && "$(CFG)" !=\
+ "mod_mime_magic - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_mime_magic.mak" CFG="mod_mime_magic - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_mime_magic - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_mime_magic - Win32 Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime_magic.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_mime_magic.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime_magic.idb"
+ -@erase "$(INTDIR)\mod_mime_magic.obj"
+ -@erase "$(OUTDIR)\mod_mime_magic.exp"
+ -@erase "$(OUTDIR)\mod_mime_magic.lib"
+ -@erase "$(OUTDIR)\mod_mime_magic.map"
+ -@erase "$(OUTDIR)\mod_mime_magic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG"\
+ /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_mime_magic" /FD /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /map:"$(INTDIR)\mod_mime_magic.map"\
+ /machine:I386 /out:"$(OUTDIR)\mod_mime_magic.so"\
+ /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@"BaseAddr.ref",mod_mime_magic
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime_magic.obj" \
+ "..\..\Release\ApacheCore.lib"
+
+"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_mime_magic.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_mime_magic.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_mime_magic.idb"
+ -@erase "$(INTDIR)\mod_mime_magic.obj"
+ -@erase "$(OUTDIR)\mod_mime_magic.exp"
+ -@erase "$(OUTDIR)\mod_mime_magic.lib"
+ -@erase "$(OUTDIR)\mod_mime_magic.map"
+ -@erase "$(OUTDIR)\mod_mime_magic.pdb"
+ -@erase "$(OUTDIR)\mod_mime_magic.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_mime_magic" /FD /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_mime_magic.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\mod_mime_magic.pdb" /map:"$(INTDIR)\mod_mime_magic.map" /debug\
+ /machine:I386 /out:"$(OUTDIR)\mod_mime_magic.so"\
+ /implib:"$(OUTDIR)\mod_mime_magic.lib" /base:@"BaseAddr.ref",mod_mime_magic
+LINK32_OBJS= \
+ "$(INTDIR)\mod_mime_magic.obj" \
+ "..\..\Debug\ApacheCore.lib"
+
+"$(OUTDIR)\mod_mime_magic.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release" || "$(CFG)" ==\
+ "mod_mime_magic - Win32 Debug"
+
+!IF "$(CFG)" == "mod_mime_magic - Win32 Release"
+
+"ApacheCore - Win32 Release" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release"\
+
+ cd ".\os\win32"
+
+"ApacheCore - Win32 ReleaseCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Release" RECURSE=1
+ cd ".\os\win32"
+
+!ELSEIF "$(CFG)" == "mod_mime_magic - Win32 Debug"
+
+"ApacheCore - Win32 Debug" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug"
+ cd ".\os\win32"
+
+"ApacheCore - Win32 DebugCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Debug" RECURSE=1
+ cd ".\os\win32"
+
+!ENDIF
+
+SOURCE=..\..\modules\standard\mod_mime_magic.c
+DEP_CPP_MOD_M=\
+ "..\..\include\ap.h"\
+ "..\..\include\ap_alloc.h"\
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_ctype.h"\
+ "..\..\include\ap_ebcdic.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\buff.h"\
+ "..\..\include\hsregex.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\http_protocol.h"\
+ "..\..\include\http_request.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\util_uri.h"\
+ ".\os.h"\
+ ".\readdir.h"\
+
+NODEP_CPP_MOD_M=\
+ "..\..\include\ap_config_auto.h"\
+ "..\..\include\sfio.h"\
+
+
+"$(INTDIR)\mod_mime_magic.obj" : $(SOURCE) $(DEP_CPP_MOD_M) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp b/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp
new file mode 100644
index 00000000000..ecf957da164
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_unique_id.dsp
@@ -0,0 +1,95 @@
+# Microsoft Developer Studio Project File - Name="mod_unique_id" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=mod_unique_id - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "mod_unique_id.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_unique_id.mak" CFG="mod_unique_id - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_unique_id - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_unique_id - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_unique_id" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id
+# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_unique_id" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id
+# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_unique_id.so" /base:@"BaseAddr.ref",mod_unique_id
+
+!ENDIF
+
+# Begin Target
+
+# Name "mod_unique_id - Win32 Release"
+# Name "mod_unique_id - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\modules\standard\mod_unique_id.c
+# End Source File
+# End Target
+# End Project
diff --git a/usr.sbin/httpd/src/os/win32/mod_unique_id.mak b/usr.sbin/httpd/src/os/win32/mod_unique_id.mak
new file mode 100644
index 00000000000..f8eb3f59f10
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_unique_id.mak
@@ -0,0 +1,281 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_unique_id.dsp
+!IF "$(CFG)" == ""
+CFG=mod_unique_id - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_unique_id - Win32\
+ Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_unique_id - Win32 Release" && "$(CFG)" !=\
+ "mod_unique_id - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_unique_id.mak" CFG="mod_unique_id - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_unique_id - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_unique_id - Win32 Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_unique_id.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_unique_id.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_unique_id.idb"
+ -@erase "$(INTDIR)\mod_unique_id.obj"
+ -@erase "$(OUTDIR)\mod_unique_id.exp"
+ -@erase "$(OUTDIR)\mod_unique_id.lib"
+ -@erase "$(OUTDIR)\mod_unique_id.map"
+ -@erase "$(OUTDIR)\mod_unique_id.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG"\
+ /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_unique_id" /FD /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll\
+ /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb"\
+ /map:"$(INTDIR)\mod_unique_id.map" /machine:I386\
+ /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib"\
+ /base:@"BaseAddr.ref",mod_unique_id
+LINK32_OBJS= \
+ "$(INTDIR)\mod_unique_id.obj" \
+ "..\..\Release\ApacheCore.lib"
+
+"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_unique_id.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_unique_id.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_unique_id.idb"
+ -@erase "$(INTDIR)\mod_unique_id.obj"
+ -@erase "$(OUTDIR)\mod_unique_id.exp"
+ -@erase "$(OUTDIR)\mod_unique_id.lib"
+ -@erase "$(OUTDIR)\mod_unique_id.map"
+ -@erase "$(OUTDIR)\mod_unique_id.pdb"
+ -@erase "$(OUTDIR)\mod_unique_id.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_unique_id" /FD /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_unique_id.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib ws2_32.lib /nologo /subsystem:windows /dll\
+ /incremental:no /pdb:"$(OUTDIR)\mod_unique_id.pdb"\
+ /map:"$(INTDIR)\mod_unique_id.map" /debug /machine:I386\
+ /out:"$(OUTDIR)\mod_unique_id.so" /implib:"$(OUTDIR)\mod_unique_id.lib"\
+ /base:@"BaseAddr.ref",mod_unique_id
+LINK32_OBJS= \
+ "$(INTDIR)\mod_unique_id.obj" \
+ "..\..\Debug\ApacheCore.lib"
+
+"$(OUTDIR)\mod_unique_id.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release" || "$(CFG)" ==\
+ "mod_unique_id - Win32 Debug"
+
+!IF "$(CFG)" == "mod_unique_id - Win32 Release"
+
+"ApacheCore - Win32 Release" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release"\
+
+ cd ".\os\win32"
+
+"ApacheCore - Win32 ReleaseCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Release" RECURSE=1
+ cd ".\os\win32"
+
+!ELSEIF "$(CFG)" == "mod_unique_id - Win32 Debug"
+
+"ApacheCore - Win32 Debug" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug"
+ cd ".\os\win32"
+
+"ApacheCore - Win32 DebugCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Debug" RECURSE=1
+ cd ".\os\win32"
+
+!ENDIF
+
+SOURCE=..\..\modules\standard\mod_unique_id.c
+DEP_CPP_MOD_U=\
+ "..\..\include\ap.h"\
+ "..\..\include\ap_alloc.h"\
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_ctype.h"\
+ "..\..\include\ap_ebcdic.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\buff.h"\
+ "..\..\include\hsregex.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_log.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\multithread.h"\
+ "..\..\include\util_uri.h"\
+ ".\os.h"\
+ ".\readdir.h"\
+
+NODEP_CPP_MOD_U=\
+ "..\..\include\ap_config_auto.h"\
+ "..\..\include\sfio.h"\
+
+
+"$(INTDIR)\mod_unique_id.obj" : $(SOURCE) $(DEP_CPP_MOD_U) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp
new file mode 100644
index 00000000000..769306ca5ae
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.dsp
@@ -0,0 +1,95 @@
+# Microsoft Developer Studio Project File - Name="mod_vhost_alias" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=mod_vhost_alias - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "mod_vhost_alias.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_vhost_alias.mak" CFG="mod_vhost_alias - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_vhost_alias - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_vhost_alias - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Release\mod_vhost_alias" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias
+# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /machine:I386 /out:"Release/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fd"Debug\mod_vhost_alias" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias
+# ADD LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"Debug/mod_vhost_alias.so" /base:@"BaseAddr.ref",mod_vhost_alias
+
+!ENDIF
+
+# Begin Target
+
+# Name "mod_vhost_alias - Win32 Release"
+# Name "mod_vhost_alias - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\..\modules\standard\mod_vhost_alias.c
+# End Source File
+# End Target
+# End Project
diff --git a/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak
new file mode 100644
index 00000000000..73f6cd63349
--- /dev/null
+++ b/usr.sbin/httpd/src/os/win32/mod_vhost_alias.mak
@@ -0,0 +1,278 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on mod_vhost_alias.dsp
+!IF "$(CFG)" == ""
+CFG=mod_vhost_alias - Win32 Release
+!MESSAGE No configuration specified. Defaulting to mod_vhost_alias - Win32\
+ Release.
+!ENDIF
+
+!IF "$(CFG)" != "mod_vhost_alias - Win32 Release" && "$(CFG)" !=\
+ "mod_vhost_alias - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mod_vhost_alias.mak" CFG="mod_vhost_alias - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mod_vhost_alias - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "mod_vhost_alias - Win32 Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_vhost_alias.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Release" "$(OUTDIR)\mod_vhost_alias.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 ReleaseCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_vhost_alias.idb"
+ -@erase "$(INTDIR)\mod_vhost_alias.obj"
+ -@erase "$(OUTDIR)\mod_vhost_alias.exp"
+ -@erase "$(OUTDIR)\mod_vhost_alias.lib"
+ -@erase "$(OUTDIR)\mod_vhost_alias.map"
+ -@erase "$(OUTDIR)\mod_vhost_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /O2 /I "..\..\include" /I "..\..\os\win32" /D "NDEBUG"\
+ /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_vhost_alias" /FD /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /map:"$(INTDIR)\mod_vhost_alias.map"\
+ /machine:I386 /out:"$(OUTDIR)\mod_vhost_alias.so"\
+ /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@"BaseAddr.ref",mod_vhost_alias
+LINK32_OBJS= \
+ "$(INTDIR)\mod_vhost_alias.obj" \
+ "..\..\Release\ApacheCore.lib"
+
+"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0"
+
+ALL : "$(OUTDIR)\mod_vhost_alias.so"
+
+!ELSE
+
+ALL : "ApacheCore - Win32 Debug" "$(OUTDIR)\mod_vhost_alias.so"
+
+!ENDIF
+
+!IF "$(RECURSE)" == "1"
+CLEAN :"ApacheCore - Win32 DebugCLEAN"
+!ELSE
+CLEAN :
+!ENDIF
+ -@erase "$(INTDIR)\mod_vhost_alias.idb"
+ -@erase "$(INTDIR)\mod_vhost_alias.obj"
+ -@erase "$(OUTDIR)\mod_vhost_alias.exp"
+ -@erase "$(OUTDIR)\mod_vhost_alias.lib"
+ -@erase "$(OUTDIR)\mod_vhost_alias.map"
+ -@erase "$(OUTDIR)\mod_vhost_alias.pdb"
+ -@erase "$(OUTDIR)\mod_vhost_alias.so"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /GX /Zi /Od /I "..\..\include" /I "..\..\os\win32" /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /Fo"$(INTDIR)\\"\
+ /Fd"$(INTDIR)\mod_vhost_alias" /FD /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.
+
+.c{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_OBJS)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_vhost_alias.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\mod_vhost_alias.pdb" /map:"$(INTDIR)\mod_vhost_alias.map"\
+ /debug /machine:I386 /out:"$(OUTDIR)\mod_vhost_alias.so"\
+ /implib:"$(OUTDIR)\mod_vhost_alias.lib" /base:@"BaseAddr.ref",mod_vhost_alias
+LINK32_OBJS= \
+ "$(INTDIR)\mod_vhost_alias.obj" \
+ "..\..\Debug\ApacheCore.lib"
+
+"$(OUTDIR)\mod_vhost_alias.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release" || "$(CFG)" ==\
+ "mod_vhost_alias - Win32 Debug"
+
+!IF "$(CFG)" == "mod_vhost_alias - Win32 Release"
+
+"ApacheCore - Win32 Release" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Release"\
+
+ cd ".\os\win32"
+
+"ApacheCore - Win32 ReleaseCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Release" RECURSE=1
+ cd ".\os\win32"
+
+!ELSEIF "$(CFG)" == "mod_vhost_alias - Win32 Debug"
+
+"ApacheCore - Win32 Debug" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) /F ".\ApacheCore.mak" CFG="ApacheCore - Win32 Debug"
+ cd ".\os\win32"
+
+"ApacheCore - Win32 DebugCLEAN" :
+ cd "..\../..\src"
+ $(MAKE) /$(MAKEFLAGS) CLEAN /F ".\ApacheCore.mak"\
+ CFG="ApacheCore - Win32 Debug" RECURSE=1
+ cd ".\os\win32"
+
+!ENDIF
+
+SOURCE=..\..\modules\standard\mod_vhost_alias.c
+DEP_CPP_MOD_V=\
+ "..\..\include\ap.h"\
+ "..\..\include\ap_alloc.h"\
+ "..\..\include\ap_config.h"\
+ "..\..\include\ap_ctype.h"\
+ "..\..\include\ap_ebcdic.h"\
+ "..\..\include\ap_mmn.h"\
+ "..\..\include\buff.h"\
+ "..\..\include\hsregex.h"\
+ "..\..\include\http_config.h"\
+ "..\..\include\http_core.h"\
+ "..\..\include\httpd.h"\
+ "..\..\include\util_uri.h"\
+ ".\os.h"\
+ ".\readdir.h"\
+
+NODEP_CPP_MOD_V=\
+ "..\..\include\ap_config_auto.h"\
+ "..\..\include\sfio.h"\
+
+
+"$(INTDIR)\mod_vhost_alias.obj" : $(SOURCE) $(DEP_CPP_MOD_V) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF
+
diff --git a/usr.sbin/httpd/src/support/checkgid.c b/usr.sbin/httpd/src/support/checkgid.c
new file mode 100644
index 00000000000..3f2e7490da6
--- /dev/null
+++ b/usr.sbin/httpd/src/support/checkgid.c
@@ -0,0 +1,136 @@
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+/*
+ * Given one or more group identifers on the command line (e.g.,
+ * "httpd" or "#-1"), figure out whether they'll be valid for
+ * the server to use at run-time.
+ *
+ * If a groupname isn't found, or we can't setgid() to it, return
+ * -1. If all groups are valid, return 0.
+ *
+ * This may need to be run as the superuser for the setgid() to
+ * succeed; running it as any other user may result in a false
+ * negative.
+ */
+
+#include <stdio.h>
+#include "httpd.h"
+#include "http_conf_globals.h"
+
+int main(int argc, char *argv[])
+{
+ int i;
+ int result;
+ gid_t gid;
+ struct group *grent;
+ struct group fake_grent;
+
+ /*
+ * Assume success. :-)
+ */
+ result = 0;
+ for (i = 1; i < argc; ++i) {
+ char *arg;
+ arg = argv[i];
+
+ /*
+ * If it's from a 'Group #-1' statement, get the numeric value
+ * and skip the group lookup stuff.
+ */
+ if (*arg == '#') {
+ gid = atoi(&arg[1]);
+ fake_grent.gr_gid = gid;
+ grent = &fake_grent;
+ }
+ else {
+ grent = getgrnam(arg);
+ }
+
+ /*
+ * A NULL return means no such group was found, so we're done
+ * with this one.
+ */
+ if (grent == NULL) {
+ fprintf(stderr, "%s: group '%s' not found\n", argv[0], arg);
+ result = -1;
+ }
+ else {
+ int check;
+
+ /*
+ * See if we can switch to the numeric GID we have. If so,
+ * all well and good; if not, well..
+ */
+ gid = grent->gr_gid;
+ check = setgid(gid);
+ if (check != 0) {
+ fprintf(stderr, "%s: invalid group '%s'\n", argv[0], arg);
+ perror(argv[0]);
+ result = -1;
+ }
+ }
+ }
+ /*
+ * Worst-case return value.
+ */
+ return result;
+}
+/*
+ * Local Variables:
+ * mode: C
+ * c-file-style: "bsd"
+ * End:
+ */