Commit b9ab526e authored by Joshua Slive's avatar Joshua Slive
Browse files

Lots of small config file changes including:

- Beat everything down to less than 80 character lines.

- Revise the comments for the DSO section to eliminate mention
of ordering problems.

- Add LoadModule lines for all extension modules, commented out.
Note that it is very difficult in the current ./configure
system to make the base modules DSOs, so I didn't include those.

- Remove ServerType comments.

- Add "deny from all" to the root directory container.  The comments
indicate that it should be there.

- Delete a little (in my opinion) excess verbosity in the
description of the .htacess download blocker.

- Remove the CacheNegotiatedDocs directive.  It was wrong,
and is obscure enough that people should probably just look
it up in the docs.

- Make the example for Redirect a little more explicit

- Change the examples and descriptions for READMENAME/HEADERNAME
since, if multiviews are off, they haven't worked as described
since 1.3.something.

- Remove the phf trap example.  This is very old and probably
worthless.

- Remove MetDir/MetSuffix.  These are rarely used.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90142 13f79535-47bb-0310-9956-ffa450edef68
parent 2a42b05f
Loading
Loading
Loading
Loading
+67 −116
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/> for detailed information about
# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
# the directives.
#
# Do NOT simply read the instructions in here without understanding
@@ -42,7 +42,7 @@
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://httpd.apache.org/docs/mod/core.html#lockfile>);
# (available at <URL:http://httpd.apache.org/docs-2.0/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
@@ -50,13 +50,7 @@
ServerRoot "@@ServerRoot@@"

#
# 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 logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename. 
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#LockFile logs/accept.lock

@@ -107,11 +101,11 @@ KeepAliveTimeout 15
## 

# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers         5
MinSpareServers      5
@@ -120,29 +114,29 @@ MaxClients 150
MaxRequestsPerChild  0
</IfModule>

# pthread MPM
# StartServers ......... initial  number of server processes to start
# MaxClients ........... maximum  number of server processes allowed to start
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# ThreadsPerChild ...... constant number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of requests a server process serves
# threaded MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of server processes allowed to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule threaded.c>
StartServers         3
MaxClients           8
MinSpareThreads      5
MaxSpareThreads    150 
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial  number of worker threads in each server process
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum  number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of connections per server process (then it dies)
# NumServers: constant number of server processes
# StartThreads: initial number of worker threads in each server process
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# MaxThreadsPerChild: maximum number of worker threads in each server process
# MaxRequestsPerChild: maximum number of connections per server process
<IfModule perchild.c>
NumServers           5
StartThreads         5
@@ -153,8 +147,8 @@ MaxRequestsPerChild 0
</IfModule>

# Windows MPM
# ThreadsPerChild ...... constant number of worker threads in the server process
# MaxRequestsPerChild .. maximum  number of requests a server process serves
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum  number of requests a server process serves
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild  0
@@ -174,16 +168,29 @@ MaxRequestsPerChild 0
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Please read the file README.DSO in the Apache 1.3 distribution for more
# details about the DSO mechanism and run `httpd -l' for the list of already
# built-in (statically linked and thus always available) modules in your httpd
# binary.
#
# Note: The order is which modules are loaded is important.  Don't change
# the order below without expert advice.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_db_module modules/mod_auth_db.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule info_module modules/mod_info.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule suexec_module modules/mod_suexec.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#
# ExtendedStatus controls whether Apache will generate "full" status
@@ -204,13 +211,6 @@ MaxRequestsPerChild 0
# virtual host being defined.
#

#
# If your ServerType directive (set earlier in the 'Global Environment'
# section) is set to "inetd", the next few directives don't have any
# effect since their settings are defined by the inetd configuration.
# Skip ahead to the ServerAdmin directive.
#

#
# Port: The port to which the standalone server listens. For
# ports < 1023, you will need httpd to be run as root initially.
@@ -266,7 +266,7 @@ DocumentRoot "@@ServerRoot@@/htdocs"
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# permissions.  
# features.  
#
<Directory />
    Options FollowSymLinks
@@ -344,15 +344,8 @@ DirectoryIndex index.html
AccessFileName .htaccess

#
# The following lines prevent .htaccess files from being viewed by
# Web clients.  Since .htaccess files often contain authorization
# information, access is disallowed for security reasons.  Comment
# these lines out if you want Web visitors to see the contents of
# .htaccess files.  If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
# Also, folks tend to use names such as .htpasswd for password
# files, so this will protect those as well.
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
    Order allow,deny
@@ -360,20 +353,12 @@ AccessFileName .htaccess
</Files>

#
# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
# document that was negotiated on the basis of content. This asks proxy
# servers not to cache the document. Uncommenting the following line disables
# this behavior, and proxies will be allowed to cache the documents.
#
#CacheNegotiatedDocs

#
# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
# Apache needs to construct a self-referencing URL (a URL that refers back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name.  With this setting off, Apache will
# use the hostname:port that the client supplied, when possible.  This
# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
# UseCanonicalName:  With this setting turned on, whenever Apache needs 
# to construct a self-referencing URL (a URL that refers back to the 
# server the response is coming from) it will use ServerName and Port 
# to form a "canonical" name.  With this setting off, Apache will use 
# the hostname:port that the client supplied, when possible.  This also 
# affects SERVER_NAME and SERVER_PORT in CGI scripts.
#
UseCanonicalName On

@@ -398,12 +383,6 @@ DefaultType text/plain
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type.  The MIMEMagicFile
# directive tells the module where the hint definitions are located.
# mod_mime_magic is not part of the default server (you have to add
# it yourself with a LoadModule [see the DSO paragraph in the 'Global
# Environment' section], or recompile the server and include mod_mime_magic
# as part of the configuration), so it's enclosed in an <IfModule> container.
# This means that the MIMEMagicFile directive will only be processed if the
# module is part of the server.
#
<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
@@ -482,8 +461,8 @@ ServerSignature On
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL.  So "/icons" isn't aliased in this
# example, only "/icons/".  If the fakename is slash-terminated, then the 
# realname must also be slash terminated, and if the fakename omits the trailing 
# slash, the realname must also omit it.
# realname must also be slash terminated, and if the fakename omits the 
# trailing slash, the realname must also omit it.
#
Alias /icons/ "@@ServerRoot@@/icons/"

@@ -527,8 +506,8 @@ ScriptAlias /cgi-bin/ "@@ServerRoot@@/cgi-bin/"
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect old-URI new-URL
#
# Example:
# Redirect permanent /foo http://www.example.com/bar

#
# Directives controlling the display of server-generated directory listings.
@@ -598,13 +577,8 @@ DefaultIcon /icons/unknown.gif
#
# HeaderName is the name of a file which should be prepended to
# directory indexes. 
#
# The server will first look for name.html and include it if found.
# If name.html doesn't exist, the server will then look for name.txt
# and include it as plaintext if found.
#
ReadmeName README
HeaderName HEADER
ReadmeName README.html
HeaderName HEADER.html

#
# IndexIgnore is a set of filenames which directory indexing should ignore
@@ -804,19 +778,6 @@ AddType application/x-tar .tgz
# Format: Action handler-name /cgi-script/location
#

#
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
#
#MetaDir .web

#
# MetaSuffix: specifies the file name suffix for the file containing the
# meta information.
#
#MetaSuffix .meta

#
# Customizable error response (Apache style)
#  these come in three flavors
@@ -833,14 +794,15 @@ AddType application/x-tar .tgz
#  N.B.: You can redirect to a script or a document using server-side-includes.
#
#    3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
#ErrorDocument 402 http://www.example.com/subscription_info.html
#    i.e. any string whichis a valid  URL.
#  N.B.: Many of the environment variables associated with the original
#  request will *not* be available to such a script.
#
#    4) borderline case
#ErrorDocument 402 "http://some.other_server.com/info.html is the place to look"
#ErrorDocument 402 "http://www.example.com/info.html is the place to look"
#    treated as case '1' as it has spaces and thus is not a valid URL

#
# The following directives modify normal HTTP response behavior.
# The first directive disables keepalive for Netscape 2.x and browsers that
@@ -884,18 +846,6 @@ BrowserMatch "JDK/1\.0" force-response-1.0
#    Allow from .your_domain.com
#</Location>

#
# There have been reports of people trying to abuse an old bug from pre-1.1
# days.  This bug involved a CGI script distributed as a part of Apache.
# By uncommenting these lines you can redirect these attacks to a logging 
# script on phf.apache.org.  Or, you can record them yourself, using the script
# support/phf_abuse_log.cgi.
#
#<Location /cgi-bin/phf*>
#    Deny from all
#    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>

#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
@@ -938,7 +888,8 @@ BrowserMatch "JDK/1\.0" force-response-1.0
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at <URL:http://httpd.apache.org/docs/vhosts/>
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
+23 −84
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/> for detailed information about
# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
# the directives.
#
# Do NOT simply read the instructions in here without understanding
@@ -107,13 +107,8 @@ MaxRequestsPerChild 0
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Please read the file README.DSO in the Apache 1.3 distribution for more
# details about the DSO mechanism and run `apache -l' for the list of already
# built-in (statically linked and thus always available) modules in your Apache
# binary.
#
# Note: The order in which modules are loaded is important.  Don't change
# the order below without expert advice.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
@@ -150,13 +145,6 @@ MaxRequestsPerChild 0
# virtual host being defined.
#

#
# If your ServerType directive (set earlier in the 'Global Environment'
# section) is set to "inetd", the next few directives don't have any
# effect since their settings are defined by the inetd configuration.
# Skip ahead to the ServerAdmin directive.
#

#
# Port: The port to which the standalone server listens.
#
@@ -200,7 +188,7 @@ DocumentRoot "@@ServerRoot@@/htdocs"
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# permissions.  
# features.  
#
<Directory />
    Options FollowSymLinks
@@ -283,15 +271,8 @@ DirectoryIndex index.html
AccessFileName .htaccess

#
# The following lines prevent .htaccess files from being viewed by
# Web clients.  Since .htaccess files often contain authorization
# information, access is disallowed for security reasons.  Comment
# these lines out if you want Web visitors to see the contents of
# .htaccess files.  If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
# Also, folks tend to use names such as .htpasswd for password
# files, so this will protect those as well.
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
    Order allow,deny
@@ -299,20 +280,12 @@ AccessFileName .htaccess
</Files>

#
# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
# document that was negotiated on the basis of content. This asks proxy
# servers not to cache the document. Uncommenting the following line disables
# this behavior, and proxies will be allowed to cache the documents.
#
#CacheNegotiatedDocs

#
# UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
# Apache needs to construct a self-referencing URL (a URL that refers back
# to the server the response is coming from) it will use ServerName and
# Port to form a "canonical" name.  With this setting off, Apache will
# use the hostname:port that the client supplied, when possible.  This
# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
# UseCanonicalName:  With this setting turned on, whenever Apache needs 
# to construct a self-referencing URL (a URL that refers back to the 
# server the response is coming from) it will use ServerName and Port 
# to form a "canonical" name.  With this setting off, Apache will use 
# the hostname:port that the client supplied, when possible.  This also 
# affects SERVER_NAME and SERVER_PORT in CGI scripts.
#
UseCanonicalName On

@@ -337,12 +310,6 @@ DefaultType text/plain
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type.  The MIMEMagicFile
# directive tells the module where the hint definitions are located.
# mod_mime_magic is not part of the default server (you have to add
# it yourself with a LoadModule [see the DSO paragraph in the 'Global
# Environment' section], or recompile the server and include mod_mime_magic
# as part of the configuration), so it's enclosed in an <IfModule> container.
# This means that the MIMEMagicFile directive will only be processed if the
# module is part of the server.
#
<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
@@ -421,8 +388,8 @@ ServerSignature On
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL.  So "/icons" isn't aliased in this
# example, only "/icons/".  If the fakename is slash-terminated, then the 
# realname must also be slash terminated, and if the fakename omits the trailing 
# slash, the realname must also omit it.
# realname must also be slash terminated, and if the fakename omits the 
# trailing slash, the realname must also omit it.
#
Alias /icons/ "@@ServerRoot@@/icons/"

@@ -458,8 +425,8 @@ ScriptAlias /cgi-bin/ "@@ServerRoot@@/cgi-bin/"
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Format: Redirect old-URI new-URL
#
# Example:
# Redirect permanent /foo http://www.example.com/bar

#
# Directives controlling the display of server-generated directory listings.
@@ -529,13 +496,8 @@ DefaultIcon /icons/unknown.gif
#
# HeaderName is the name of a file which should be prepended to
# directory indexes. 
#
# The server will first look for name.html and include it if found.
# If name.html doesn't exist, the server will then look for name.txt
# and include it as plaintext if found.
#
ReadmeName README
HeaderName HEADER
ReadmeName README.html
HeaderName HEADER.html

#
# IndexIgnore is a set of filenames which directory indexing should ignore
@@ -735,19 +697,6 @@ AddType application/x-tar .tgz
# Format: Action handler-name /cgi-script/location
#

#
# MetaDir: specifies the name of the directory in which Apache can find
# meta information files. These files contain additional HTTP headers
# to include when sending the document
#
#MetaDir .web

#
# MetaSuffix: specifies the file name suffix for the file containing the
# meta information.
#
#MetaSuffix .meta

#
# Customizable error response (Apache style)
#  these come in three flavors
@@ -764,14 +713,15 @@ AddType application/x-tar .tgz
#  N.B.: You can redirect to a script or a document using server-side-includes.
#
#    3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
#ErrorDocument 402 http://www.example.com/subscription_info.html
#    i.e. any string whichis a valid  URL.
#  N.B.: Many of the environment variables associated with the original
#  request will *not* be available to such a script.
#
#    4) borderline case
#ErrorDocument 402 "http://some.other_server.com/info.html is the place to look"
#ErrorDocument 402 "http://www.example.com/info.html is the place to look"
#    treated as case '1' as it has spaces and thus is not a valid URL

#
# The following directives modify normal HTTP response behavior.
# The first directive disables keepalive for Netscape 2.x and browsers that
@@ -815,18 +765,6 @@ BrowserMatch "JDK/1\.0" force-response-1.0
#    Allow from .@@DomainName@@
#</Location>

#
# There have been reports of people trying to abuse an old bug from pre-1.1
# days.  This bug involved a CGI script distributed as a part of Apache.
# By uncommenting these lines you can redirect these attacks to a logging 
# script on phf.apache.org.  Or, you can record them yourself, using the script
# support/phf_abuse_log.cgi.
#
#<Location /cgi-bin/phf*>
#    Deny from all
#    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>

#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
@@ -869,7 +807,8 @@ BrowserMatch "JDK/1\.0" force-response-1.0
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at <URL:http://httpd.apache.org/docs/vhosts/>
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host