## httpd.conf -- Apache HTTP server configuration file
##
-#
-# Based upon the NCSA server configuration files originally by Rob McCool.
-#
-# This is the main Apache server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See <URL:http://www.apache.org/docs/> for detailed information about
-# the directives.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# After this file is processed, the server will look for and process
-# /etc/httpd/srm.conf and then /etc/httpd/access.conf
-# unless you have overridden these with ResourceConfig and/or
-# AccessConfig directives here.
-#
-# The configuration directives are grouped into three basic sections:
-# 1. Directives that control the operation of the Apache server process as a
-# whole (the 'global environment').
-# 2. Directives that define the parameters of the 'main' or 'default' server,
-# which responds to requests that aren't handled by a virtual host.
-# These directives also provide default values for the settings
-# of all virtual hosts.
-# 3. Settings for virtual hosts, which allow Web requests to be sent to
-# different IP addresses or hostnames and have them handled by the
-# same Apache server process.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
-# with ServerRoot set to "/usr/local/apache" will be interpreted by the
-# server as "/usr/local/apache/logs/foo.log".
-#
-
-### Section 1: Global Environment
-#
+##### Global Environment
# The directives in this section affect the overall operation of Apache,
-# such as the number of concurrent requests it can handle or where it
-# can find its configuration files.
-#
+# such as the number of concurrent requests it can handle or where it can
+# find its configuration files.
+
+### ServerType
+# is either inetd, or standalone. Inetd mode is only supported on Unix
+# platforms.
-#
-# ServerType is either inetd, or standalone. Inetd mode is only supported on
-# Unix platforms.
-#
ServerType standalone
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
+### PidFile
+# The file in which the server should record its process identification
+# number when it starts.
+
+PidFile /var/run/httpd.pid
+
+### Timeout
+# The number of seconds before receives and sends time out.
+### KeepAliveTimeout
+# Number of seconds to wait for the next request from the same client on the
+# same connection.
+
+Timeout 300
+KeepAliveTimeout 15
+
+### KeepAlive
+# Whether or not to allow persistent connections (more than one request per
+# connection). Set to "Off" to deactivate.
+### MaxKeepAliveRequests
+# The maximum number of requests to allow during a persistent connection.
+# Set to 0 to allow an unlimited amount. We recommend you leave this number
+# high, for maximum performance.
+
+KeepAlive On
+MaxKeepAliveRequests 100
+
+### ServerRoot
+# The top of the directory tree under which the server's configuration,
+# error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
#
ServerRoot "/usr"
-#
+### LockFile
# 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
#
LockFile /var/run/httpd.lock
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-#
-PidFile /var/run/httpd.pid
+### ScoreBoardFile
+# File used to store internal server process information. Not all
+# architectures require this. But if yours does (you'll know because this
+# file will be created when you run Apache) then you *must* ensure that no
+# two invocations of Apache share the same scoreboard file.
-#
-# ScoreBoardFile: File used to store internal server process information.
-# Not all architectures require this. But if yours does (you'll know because
-# this file will be created when you run Apache) then you *must* ensure that
-# no two invocations of Apache share the same scoreboard file.
-#
ScoreBoardFile /var/run/httpd.scoreboard
#
# these files altogether by using "/dev/null" (for Unix) or
# "nul" (for Win32) for the arguments to the directives.
#
-#ResourceConfig /etc/httpd/srm.conf
-AccessConfig /etc/httpd/access.conf
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 300
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive On
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 15
+ResourceConfig /dev/null
+AccessConfig /dev/null
#
# Server-pool size regulation. Rather than making you guess how many
# as to avoid problems after prolonged use when Apache (and maybe the
# libraries it uses) leak memory or other resources. On most systems, this
# isn't really needed, but a few (such as Solaris) do have notable leaks
-# in the libraries.
+# in the libraries. For these platforms, set to something like 10000
+# or so; a setting of 0 means unlimited.
#
+# NOTE: This value does not include keepalive requests after the initial
+# request per connection. For example, if a child process handles
+# an initial request and 10 subsequent "keptalive" requests, it
+# would only count as 1 request towards this limit.
+
MaxRequestsPerChild 30
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, in addition to the default. See also the <VirtualHost>
-# directive.
-#
-#Listen 3000
+### Listen
+# Allows you to bind Apache to specific IP addresses and/or ports, in
+# addition to the default. See also the <VirtualHost> directive.
+
#Listen 12.34.56.78:80
+Listen 80
+
+# Listen can take two arguments.
+# (this is an extension for supporting IPv6 addresses)
+#Listen :: 80
+#Listen 0.0.0.0 80
+
+### BindAddress
+# You can support virtual hosts with this option. This directive is used to
+# tell the server which IP address to listen to. It can either contain "*",
+# an IP address, or a fully qualified Internet domain name. See also the
+# <VirtualHost> and Listen directives.
-#
-# BindAddress: You can support virtual hosts with this option. This directive
-# is used to tell the server which IP address to listen to. It can either
-# contain "*", an IP address, or a fully qualified Internet domain name.
-# See also the <VirtualHost> and Listen directives.
-#
#BindAddress *
-#
-# Dynamic Shared Object (DSO) Support
-#
-# 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.
+### ExtendedStatus
+# controls whether Apache will generate "full" status information
+# (ExtendedStatus On) or just basic information (ExtendedStatus Off) when
+# the "server-status" handler is called. The default is Off.
+
+#ExtendedStatus On
+
+### Section 2: Dynamic Shared Object (DSO) Support
#
# Example:
# LoadModule foo_module libexec/mod_foo.so
ClearModuleList
AddModule mod_so.c
-#
-# ExtendedStatus controls whether Apache will generate "full" status
-# information (ExtendedStatus On) or just basic information (ExtendedStatus
-# Off) when the "server-status" handler is called. The default is Off.
-#
-#ExtendedStatus On
-
-### Section 2: 'Main' server configuration
+### Section 3: 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
-# . On HPUX you may not be able to use shared memory as nobody, and the
-# suggested workaround is to create a user www and use that user.
-# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
-# when the value of (unsigned)Group is above 60000;
-# don't use Group on these systems!
-#
-User http
+User http
Group http
#
# You will have to access it by its address (e.g., http://123.45.67.89/)
# anyway, and this will make redirections work in a sensible way.
#
+# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
+# machine always knows itself by this address. If you use Apache strictly for
+# local testing and development, you may use 127.0.0.1 as the server name.
+#
#ServerName new.host.name
#
# permissions.
#
<Directory />
- Options FollowSymLinks
- AllowOverride None
+ Options FollowSymLinks
+ AllowOverride None
</Directory>
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
- Options Indexes FollowSymLinks
+ Options Indexes FollowSymLinks MultiViews
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
- AllowOverride None
+ AllowOverride None
#
# Controls who can get stuff from this server.
#
- Order allow,deny
- Allow from all
+ Order allow,deny
+ Allow from all
</Directory>
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
-#<Directory /*/public_html>
+#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
-# <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
+# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </Limit>
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
-DirectoryIndex index.html index.htm index.shtml index.cgi
+<IfModule mod_dir.c>
+ DirectoryIndex index.html index.htm index.shtml index.cgi index.php
+</IfModule>
#
# AccessFileName: The name of the file to look for in each directory
# .htaccess files. If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
-<Files .htaccess>
- Order allow,deny
- Deny from all
+# Also, folks tend to use names such as .htpasswd for password
+# files, so this will protect those as well.
+#
+<Files ~ "^\.ht">
+ Order allow,deny
+ Deny from all
</Files>
#
#
HostnameLookups Off
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog /var/log/httpd/error_log
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
+#
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a <VirtualHost>
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a <VirtualHost>
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog /var/log/httpd/error_log
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# logged therein and *not* in this file.
#
CustomLog /var/log/httpd/access_log common
-
-#
-# If you would like to have agent and referer logfiles, uncomment the
-# following directives.
-#
CustomLog /var/log/httpd/referer_log referer
CustomLog /var/log/httpd/agent_log agent
#
-# If you prefer a single logfile with access, agent, and referer information
-# (Combined Logfile Format) you can use the following directive.
+# LogLevel: Control the number of messages logged to the error_log.
+# Possible values include: debug, info, notice, warn, error, crit,
+# alert, emerg.
#
-#CustomLog /var/log/httpd/access_log combined
+LogLevel warn
#
# Optionally add a line containing the server version and virtual host
# 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.
+# If MultiViews are amongst the Options in effect, 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
#
# AddLanguage allows you to specify the language of a document. You can
# then use content negotiation to give a browser a file in a language
-# it can understand. Note that the suffix does not have to be the same
-# as the language keyword --- those with documents in Polish (whose
-# net-standard language code is pl) may wish to use "AddLanguage pl .po"
-# to avoid the ambiguity with the common suffix for perl scripts.
-#
-AddLanguage en .en
-AddLanguage fr .fr
+# it can understand.
+#
+# Note 1: The suffix does not have to be the same as the language
+# keyword --- those with documents in Polish (whose net-standard
+# language code is pl) may wish to use "AddLanguage pl .po" to
+# avoid the ambiguity with the common suffix for perl scripts.
+#
+# Note 2: The example entries below illustrate that in quite
+# some cases the two character 'Language' abbriviation is not
+# identical to the two character 'Country' code for its country,
+# E.g. 'Danmark/dk' versus 'Danish/da'.
+#
+# Note 3: In the case of 'ltz' we violate the RFC by using a three char
+# specifier. But there is 'work in progress' to fix this and get
+# the reference data for rfc1766 cleaned up.
+#
+# Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
+# French (fr) - German (de) - Greek-Modern (el)
+# Italian (it) - Korean (kr) - Norwegian (no)
+# Portugese (pt) - Luxembourgeois* (ltz)
+# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
+# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
+# Russian (ru)
+#
+AddLanguage ca .ca
+AddLanguage cz .cz
+AddLanguage da .dk
AddLanguage de .de
-AddLanguage da .da
+AddLanguage en .en
AddLanguage el .el
+AddLanguage es .es
+AddLanguage et .ee
+AddLanguage fr .fr
+AddLanguage he .he
AddLanguage it .it
+AddLanguage ja .ja
+AddLanguage kr .kr
+AddLanguage ltz .lu
+AddLanguage nl .nl
+AddLanguage no .no
AddLanguage pl .po
+AddLanguage pt .pt
+AddLanguage pt-br .pt-br
+AddLanguage ru .ru
+AddLanguage sv .se
+AddLanguage tw .tw
+
+AddCharset Big5 .Big5 .big5
+AddCharset CP866 .cp866
+AddCharset ISO-8859-2 .iso-pl
+AddCharset ISO-8859-5 .iso-ru
+AddCharset ISO-8859-8 .iso8859-8
+AddCharset ISO-2022-JP .his
+AddCharset ISO-2022-KR .iso-kr
+AddCharset KOI8-R .koi8-r
+AddCharset UCS-2 .ucs2
+AddCharset UCS-4 .ucs4
+AddCharset UTF-8 .utf8
+AddCharset WINDOWS-1251 .cp-1251
+
#
# LanguagePriority allows you to give precedence to some languages
# in case of a tie during content negotiation.
#
LanguagePriority en pl fr de
+#
+# AddType allows you to tweak mime.types without actually editing it, or to
+# make certain files to be certain types.
+#
+# For example, the PHP 3.x module (not part of the Apache distribution - see
+# http://www.php.net) will typically use:
+#
+#AddType application/x-httpd-php3 .php3
+#AddType application/x-httpd-php3-source .phps
+#
+# And for PHP 4.x, use:
+#
+#AddType application/x-httpd-php .php
+#AddType application/x-httpd-php-source .phps
+#
+#AddType application/x-tar .tgz
+
#
# AddHandler allows you to map certain file extensions to "handlers",
# actions unrelated to filetype. These can be either built into the server
# N.B.: Many of the environment variables associated with the original
# request will *not* be available to such a script.
-#
+Alias /errordocs/ "/home/httpd/errordocs/"
+
+<Directory /home/httpd/errordocs/>
+ AllowOverride none
+ Options IncludesNoExec FollowSymLinks
+</Directory>
+
+ErrorDocument 400 /errordocs/400.shtml
+ErrorDocument 401 /errordocs/401.shtml
+ErrorDocument 403 /errordocs/403.shtml
+ErrorDocument 404 /errordocs/404.shtml
+ErrorDocument 405 /errordocs/405.shtml
+ErrorDocument 406 /errordocs/406.shtml
+ErrorDocument 408 /errordocs/408.shtml
+ErrorDocument 410 /errordocs/410.shtml
+ErrorDocument 411 /errordocs/411.shtml
+ErrorDocument 414 /errordocs/414.shtml
+ErrorDocument 500 /errordocs/500.shtml
+ErrorDocument 503 /errordocs/503.shtml
+
# 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.
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
-Alias /errordocs/ "/home/httpd/errordocs/"
-
-ErrorDocument 400 /errordocs/400.shtml
-ErrorDocument 401 /errordocs/401.shtml
-ErrorDocument 403 /errordocs/403.shtml
-ErrorDocument 404 /errordocs/404.shtml
-ErrorDocument 405 /errordocs/405.shtml
-ErrorDocument 406 /errordocs/406.shtml
-ErrorDocument 408 /errordocs/408.shtml
-ErrorDocument 410 /errordocs/410.shtml
-ErrorDocument 411 /errordocs/411.shtml
-ErrorDocument 414 /errordocs/414.shtml
-ErrorDocument 500 /errordocs/500.shtml
-ErrorDocument 503 /errordocs/503.shtml
-
-#
-# Allow server status reports, with the URL of http://servername/server-status
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-status>
-# SetHandler server-status
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
#
# Allow remote server configuration reports, with the URL of
# http://servername/server-info (requires that mod_info.c be loaded).