| 1 | # |
| 2 | # Based upon the NCSA server configuration files originally by Rob McCool. |
| 3 | # |
| 4 | # This is the main Apache server configuration file. It contains the |
| 5 | # configuration directives that give the server its instructions. |
| 6 | # See http://httpd.apache.org/docs/2.2/ for detailed information about |
| 7 | # the directives. |
| 8 | # |
| 9 | # Do NOT simply read the instructions in here without understanding |
| 10 | # what they do. They're here only as hints or reminders. If you are unsure |
| 11 | # consult the online docs. You have been warned. |
| 12 | # |
| 13 | # The configuration directives are grouped into three basic sections: |
| 14 | # 1. Directives that control the operation of the Apache server process as a |
| 15 | # whole (the 'global environment'). |
| 16 | # 2. Directives that define the parameters of the 'main' or 'default' server, |
| 17 | # which responds to requests that aren't handled by a virtual host. |
| 18 | # These directives also provide default values for the settings |
| 19 | # of all virtual hosts. |
| 20 | # 3. Settings for virtual hosts, which allow Web requests to be sent to |
| 21 | # different IP addresses or hostnames and have them handled by the |
| 22 | # same Apache server process. |
| 23 | # |
| 24 | # Configuration and logfile names: If the filenames you specify for many |
| 25 | # of the server's control files begin with "/" (or "drive:/" for Win32), the |
| 26 | # server will use that explicit path. If the filenames do *not* begin |
| 27 | # with "/", the value of ServerRoot is prepended -- so "/var/log/apache2/foo.log" |
| 28 | # with ServerRoot set to "" will be interpreted by the |
| 29 | # server as "//var/log/apache2/foo.log". |
| 30 | # |
| 31 | |
| 32 | ### Section 1: Global Environment |
| 33 | # |
| 34 | # The directives in this section affect the overall operation of Apache, |
| 35 | # such as the number of concurrent requests it can handle or where it |
| 36 | # can find its configuration files. |
| 37 | # |
| 38 | |
| 39 | # |
| 40 | # ServerRoot: The top of the directory tree under which the server's |
| 41 | # configuration, error, and log files are kept. |
| 42 | # |
| 43 | # NOTE! If you intend to place this on an NFS (or otherwise network) |
| 44 | # mounted filesystem then please read the LockFile documentation (available |
| 45 | # at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>); |
| 46 | # you will save yourself a lot of trouble. |
| 47 | # |
| 48 | # Do NOT add a slash at the end of the directory path. |
| 49 | # |
| 50 | ServerRoot "/etc/apache2" |
| 51 | |
| 52 | # |
| 53 | # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. |
| 54 | # |
| 55 | #<IfModule !mpm_winnt.c> |
| 56 | #<IfModule !mpm_netware.c> |
| 57 | LockFile /var/lock/apache2/accept.lock |
| 58 | #</IfModule> |
| 59 | #</IfModule> |
| 60 | |
| 61 | # |
| 62 | # PidFile: The file in which the server should record its process |
| 63 | # identification number when it starts. |
| 64 | # This needs to be set in /etc/apache2/envvars |
| 65 | # |
| 66 | PidFile ${APACHE_PID_FILE} |
| 67 | |
| 68 | # |
| 69 | # Timeout: The number of seconds before receives and sends time out. |
| 70 | # |
| 71 | Timeout 300 |
| 72 | |
| 73 | # |
| 74 | # KeepAlive: Whether or not to allow persistent connections (more than |
| 75 | # one request per connection). Set to "Off" to deactivate. |
| 76 | # |
| 77 | KeepAlive On |
| 78 | |
| 79 | # |
| 80 | # MaxKeepAliveRequests: The maximum number of requests to allow |
| 81 | # during a persistent connection. Set to 0 to allow an unlimited amount. |
| 82 | # We recommend you leave this number high, for maximum performance. |
| 83 | # |
| 84 | MaxKeepAliveRequests 100 |
| 85 | |
| 86 | # |
| 87 | # KeepAliveTimeout: Number of seconds to wait for the next request from the |
| 88 | # same client on the same connection. |
| 89 | # |
| 90 | KeepAliveTimeout 15 |
| 91 | |
| 92 | ## |
| 93 | ## Server-Pool Size Regulation (MPM specific) |
| 94 | ## |
| 95 | |
| 96 | # prefork MPM |
| 97 | # StartServers: number of server processes to start |
| 98 | # MinSpareServers: minimum number of server processes which are kept spare |
| 99 | # MaxSpareServers: maximum number of server processes which are kept spare |
| 100 | # MaxClients: maximum number of server processes allowed to start |
| 101 | # MaxRequestsPerChild: maximum number of requests a server process serves |
| 102 | <IfModule mpm_prefork_module> |
| 103 | StartServers 5 |
| 104 | MinSpareServers 5 |
| 105 | MaxSpareServers 10 |
| 106 | MaxClients 150 |
| 107 | MaxRequestsPerChild 0 |
| 108 | </IfModule> |
| 109 | |
| 110 | # worker MPM |
| 111 | # StartServers: initial number of server processes to start |
| 112 | # MaxClients: maximum number of simultaneous client connections |
| 113 | # MinSpareThreads: minimum number of worker threads which are kept spare |
| 114 | # MaxSpareThreads: maximum number of worker threads which are kept spare |
| 115 | # ThreadsPerChild: constant number of worker threads in each server process |
| 116 | # MaxRequestsPerChild: maximum number of requests a server process serves |
| 117 | <IfModule mpm_worker_module> |
| 118 | StartServers 2 |
| 119 | MaxClients 150 |
| 120 | MinSpareThreads 25 |
| 121 | MaxSpareThreads 75 |
| 122 | ThreadsPerChild 25 |
| 123 | MaxRequestsPerChild 0 |
| 124 | </IfModule> |
| 125 | |
| 126 | # These need to be set in /etc/apache2/envvars |
| 127 | User ${APACHE_RUN_USER} |
| 128 | Group ${APACHE_RUN_GROUP} |
| 129 | |
| 130 | # |
| 131 | # AccessFileName: The name of the file to look for in each directory |
| 132 | # for additional configuration directives. See also the AllowOverride |
| 133 | # directive. |
| 134 | # |
| 135 | |
| 136 | AccessFileName .htaccess |
| 137 | |
| 138 | # |
| 139 | # The following lines prevent .htaccess and .htpasswd files from being |
| 140 | # viewed by Web clients. |
| 141 | # |
| 142 | <Files ~ "^\.ht"> |
| 143 | Order allow,deny |
| 144 | Deny from all |
| 145 | </Files> |
| 146 | |
| 147 | # |
| 148 | # DefaultType is the default MIME type the server will use for a document |
| 149 | # if it cannot otherwise determine one, such as from filename extensions. |
| 150 | # If your server contains mostly text or HTML documents, "text/plain" is |
| 151 | # a good value. If most of your content is binary, such as applications |
| 152 | # or images, you may want to use "application/octet-stream" instead to |
| 153 | # keep browsers from trying to display binary files as though they are |
| 154 | # text. |
| 155 | # |
| 156 | DefaultType text/plain |
| 157 | |
| 158 | |
| 159 | # |
| 160 | # HostnameLookups: Log the names of clients or just their IP addresses |
| 161 | # e.g., www.apache.org (on) or 204.62.129.132 (off). |
| 162 | # The default is off because it'd be overall better for the net if people |
| 163 | # had to knowingly turn this feature on, since enabling it means that |
| 164 | # each client request will result in AT LEAST one lookup request to the |
| 165 | # nameserver. |
| 166 | # |
| 167 | HostnameLookups Off |
| 168 | |
| 169 | # ErrorLog: The location of the error log file. |
| 170 | # If you do not specify an ErrorLog directive within a <VirtualHost> |
| 171 | # container, error messages relating to that virtual host will be |
| 172 | # logged here. If you *do* define an error logfile for a <VirtualHost> |
| 173 | # container, that host's errors will be logged there and not here. |
| 174 | # |
| 175 | ErrorLog /var/log/apache2/error.log |
| 176 | |
| 177 | # |
| 178 | # LogLevel: Control the number of messages logged to the error_log. |
| 179 | # Possible values include: debug, info, notice, warn, error, crit, |
| 180 | # alert, emerg. |
| 181 | # |
| 182 | LogLevel warn |
| 183 | |
| 184 | # Include module configuration: |
| 185 | Include /etc/apache2/mods-enabled/*.load |
| 186 | Include /etc/apache2/mods-enabled/*.conf |
| 187 | |
| 188 | # Include all the user configurations: |
| 189 | Include /etc/apache2/httpd.conf |
| 190 | |
| 191 | # Include ports listing |
| 192 | Include /etc/apache2/ports.conf |
| 193 | |
| 194 | # |
| 195 | # The following directives define some format nicknames for use with |
| 196 | # a CustomLog directive (see below). |
| 197 | # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i |
| 198 | # |
| 199 | LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined |
| 200 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined |
| 201 | LogFormat "%h %l %u %t \"%r\" %>s %b" common |
| 202 | LogFormat "%{Referer}i -> %U" referer |
| 203 | LogFormat "%{User-agent}i" agent |
| 204 | |
| 205 | # |
| 206 | # Define an access log for VirtualHosts that don't define their own logfile |
| 207 | CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined |
| 208 | |
| 209 | # |
| 210 | # Customizable error responses come in three flavors: |
| 211 | # 1) plain text 2) local redirects 3) external redirects |
| 212 | # |
| 213 | # Some examples: |
| 214 | #ErrorDocument 500 "The server made a boo boo." |
| 215 | #ErrorDocument 404 /missing.html |
| 216 | #ErrorDocument 404 "/cgi-bin/missing_handler.pl" |
| 217 | #ErrorDocument 402 http://www.example.com/subscription_info.html |
| 218 | # |
| 219 | |
| 220 | # |
| 221 | # Putting this all together, we can internationalize error responses. |
| 222 | # |
| 223 | # We use Alias to redirect any /error/HTTP_<error>.html.var response to |
| 224 | # our collection of by-error message multi-language collections. We use |
| 225 | # includes to substitute the appropriate text. |
| 226 | # |
| 227 | # You can modify the messages' appearance without changing any of the |
| 228 | # default HTTP_<error>.html.var files by adding the line: |
| 229 | # |
| 230 | # Alias /error/include/ "/your/include/path/" |
| 231 | # |
| 232 | # which allows you to create your own set of files by starting with the |
| 233 | # /usr/share/apache2/error/include/ files and copying them to /your/include/path/, |
| 234 | # even on a per-VirtualHost basis. The default include files will display |
| 235 | # your Apache version number and your ServerAdmin email address regardless |
| 236 | # of the setting of ServerSignature. |
| 237 | # |
| 238 | # The internationalized error documents require mod_alias, mod_include |
| 239 | # and mod_negotiation. To activate them, uncomment the following 30 lines. |
| 240 | |
| 241 | # Alias /error/ "/usr/share/apache2/error/" |
| 242 | # |
| 243 | # <Directory "/usr/share/apache2/error"> |
| 244 | # AllowOverride None |
| 245 | # Options IncludesNoExec |
| 246 | # AddOutputFilter Includes html |
| 247 | # AddHandler type-map var |
| 248 | # Order allow,deny |
| 249 | # Allow from all |
| 250 | # LanguagePriority en cs de es fr it nl sv pt-br ro |
| 251 | # ForceLanguagePriority Prefer Fallback |
| 252 | # </Directory> |
| 253 | # |
| 254 | # ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var |
| 255 | # ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var |
| 256 | # ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var |
| 257 | # ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var |
| 258 | # ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var |
| 259 | # ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var |
| 260 | # ErrorDocument 410 /error/HTTP_GONE.html.var |
| 261 | # ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var |
| 262 | # ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var |
| 263 | # ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var |
| 264 | # ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var |
| 265 | # ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var |
| 266 | # ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var |
| 267 | # ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var |
| 268 | # ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var |
| 269 | # ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var |
| 270 | # ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var |
| 271 | |
| 272 | |
| 273 | |
| 274 | # Include of directories ignores editors' and dpkg's backup files, |
| 275 | # see README.Debian for details. |
| 276 | |
| 277 | # Include generic snippets of statements |
| 278 | Include /etc/apache2/conf.d/ |
| 279 | |
| 280 | # Include the virtual host configurations: |
| 281 | Include /etc/apache2/sites-enabled/ |