diff options
Diffstat (limited to 'usr.sbin/httpd/htdocs/manual/server-wide.html.html')
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/server-wide.html.html | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/server-wide.html.html b/usr.sbin/httpd/htdocs/manual/server-wide.html.html new file mode 100644 index 00000000000..72b81b11187 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/server-wide.html.html @@ -0,0 +1,218 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Server-Wide Configuration</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-Wide Configuration</h1> + +<p>This document explains some of the directives provided by the +<a href="mod/core.html">core</A> server which are used to configure +the basic operations of the server.</p> + +<ul> +<li><a href="#identification">Server Identification</a></li> +<li><a href="#locations">File Locations</a></li> +<li><a href="#process">Process Creation</a></li> +<li><a href="#network">Network Configuration</a></li> +<li><a href="#resource">Limiting Resource Usage</a></li> +</ul> + +<hr> + +<h2><a name="identification">Server Identification</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<A HREF="mod/core.html#servername">ServerName</A><br> +<A HREF="mod/core.html#serveradmin">ServerAdmin</A><br> +<A HREF="mod/core.html#serversignature">ServerSignature</A><br> +<A HREF="mod/core.html#servertokens">ServerTokens</A><br> +<A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A><br> +</td></tr></table> + +<p>The <code>ServerAdmin</code> and <code>ServerTokens</code> +directives control what information about the server will be presented +in server-generated documents such as error messages. +The <code>ServerTokens</code> directive sets the value of the +Server HTTP response header field.</p> + +<p>The <code>ServerName</code> and <code>UseCanonicalName</code> +directives are used by the server to determine how to construct +self-referential URLs. For example, when a client requests a +directory, but does not include the trailing slash in the directory +name, Apache must redirect the client to the full name including the +trailing slash so that the client will correctly resolve relative +references in the document.</p> + +<hr> + +<h2><a name="locations">File Locations</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#coredumpdirectory">CoreDumpDirectory</a><br> +<a href="mod/core.html#documentroot">DocumentRoot</a><br> +<a href="mod/core.html#errorlog">ErrorLog</a><br> +<a href="mod/core.html#lockfile">Lockfile</a><br> +<a href="mod/core.html#pidfile">PidFile</a><br> +<a href="mod/core.html#scoreboardfile">ScoreBoardFile</a><br> +<a href="mod/core.html#serverroot">ServerRoot</a><br> +</td></tr></table> + +<p>These directives control the locations of the various files that +Apache needs for proper operation. When the pathname used does not +begin with a slash "/", the files are located relative to the +<code>ServerRoot</code>. Be careful about locating files in paths +which are writable by non-root users. See the <a +href="misc/security_tips.html">security tips</a> documentation for +more details.</p> + +<hr> + +<h2><a name="process">Process Creation</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bs2000account">BS2000Account</a><br> +<a href="mod/core.html#group">Group</a><br> +<a href="mod/core.html#maxclients">MaxClients</a><br> +<a href="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</a><br> +<a href="mod/core.html#maxspareservers">MaxSpareServers</a><br> +<a href="mod/core.html#minspareservers">MinSpareServers</a><br> +<a href="mod/core.html#servertype">ServerType</a><br> +<a href="mod/core.html#startservers">StartServers</a><br> +<a href="mod/core.html#threadsperchild">ThreadsPerChild</a><br> +<a href="mod/core.html#user">User</a><br> +</td></tr></table> + +<p>When <code>ServerType</code> is set to its recommended value of +<code>Standalone</code>, Apache 1.3 for Unix is a pre-forking web +server. A single control process is responsible for launching child +processes which listen for connections and serve them when they +arrive. Apache always tries to maintain several <em>spare</em> or +idle server processes, which stand ready to serve incoming requests. +In this way, clients do not need to wait for a new child processes to +be forked before their requests can be served.</p> + +<p>The <code>StartServers</code>, <code>MinSpareServers</code>, +<code>MaxSpareServers</code>, and <code>MaxServers</code> regulate how +the parent process creates children to serve requests. In general, +Apache is very self-regulating, so most sites do not need to adjust +these directives from their default values. Sites which need to serve +more than 256 simultaneous requests may need to increase +<code>MaxClients</code>, while sites with limited memory may need to +decrease <code>MaxClients</code> to keep the server from thrashing +(swapping memory to disk and back). More information about tuning +process creation is provided in the <a +href="misc/perf-tuning.html">performance hints</a> documentation.</p> + +<p>While the parent process is usually started as root under Unix +in order to bind to port 80, the child processes are launched +by Apache as a less-privileged user. The <code>User</code> and +<code>Group</code> directives are used to set the privileges +of the Apache child processes. The child processes must +be able to read all the content that will be served, but +should have as few privileges beyond that as possible. +In addition, unless <a href="suexec.html">suexec</a> is used, +these directives also set the privileges which will be inherited +by CGI scripts.</p> + +<p><code>MaxRequestsPerChild</code> controls how frequently the server +recycles processes by killing old ones and launching new ones.</p> + +<p>Under Windows, Apache launches one control process and one +child process. The child process creates multiple threads to +serve requests. The number of threads is controlled by the +<code>ThreadsPerChild</code> directive.</p> + +<hr> + +<h2><a name="network">Network Configuration</a></h2> + +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#bindaddress">BindAddress</a><br> +<a href="mod/core.html#keepalive">KeepAlive</a><br> +<a href="mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br> +<a href="mod/core.html#listen">Listen</a><br> +<a href="mod/core.html#listenbacklog">ListenBackLog</a><br> +<a href="mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a><br> +<a href="mod/core.html#port">Port</a><br> +<a href="mod/core.html#sendbuffersize">SendBufferSize</a><br> +<a href="mod/core.html#timeout">TimeOut</a><br> +</td></tr></table> + +<p>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 +<code>Port</code> directive in the server configuration. However, it +can be told to listen to more than one port, to listen to only +selected addresses, or a combination. This is often combined with the +<a href="vhosts/">Virtual Host</a> feature which determines how Apache +responds to different IP addresses, hostnames and ports.</p> + +<p>There are two directives used to restrict or specify which addresses +and ports Apache listens to. The <code>BindAddress</code> directive +is used to restrict the server to listening to a single IP address. +The <code>Listen</code> directive can be used to specify multiple +IP addresses and/or Ports to which Apache will listen.</p> + +<p>The <code>ListenBackLog</code>, <code>SendBufferSize</code>, and +<code>TimeOut</code> directives are used to adjust how Apache +interacts with the network.</p> + +<p>The <code>KeepAlive</code>, <code>KeepAliveTimeout</code>, +and <code>MaxKeepAliveRequests</code> directives are used to +configure how Apache handles persistent connections.</p> + +<hr> +<h2><a name="resource">Limiting Resource Usage</a></h2> +<table border="1"> +<tr><td valign="top"> +<strong>Related Directives</strong><br><br> + +<a href="mod/core.html#limitrequestbody">LimitRequestBody</a><br> +<a href="mod/core.html#limitrequestfields">LimitRequestFields</a><br> +<a href="mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a><br> +<a href="mod/core.html#limitrequestline">LimitRequestLine</a><br> +<a href="mod/core.html#rlimitcpu">RLimitCPU</a><br> +<a href="mod/core.html#rlimitmem">RLimitMEM</a><br> +<a href="mod/core.html#rlimitnproc">RLimitNPROC</a><br> +<a href="mod/core.html#threadstacksize">ThreadStackSize</a><br> +</td></tr></table> + +<p>The <code>LimitRequest</code>* directives are used to place limits +on the amount of resources Apache will use in reading requests +from clients. By limiting these values, some kinds of denial +of service attacks can be mitigated.</p> + +<p>The <code>RLimit</code>* directives are used to limit the amount +of resources which can be used by processes forked off from +the Apache children. In particular, this will control +resources used by CGI scripts and SSI exec commands.</p> + +<p>The <code>ThreadStackSize</code> directive is used only +on Netware to control the stack size.</p> + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> + |