|
| 1 | +# This is the main Apache server configuration file. It contains the |
| 2 | +# configuration directives that give the server its instructions. |
| 3 | +# See http://httpd.apache.org/docs/2.4/ for detailed information about |
| 4 | +# the directives and /usr/share/doc/apache2/README.Debian about Debian specific |
| 5 | +# hints. |
| 6 | +# |
| 7 | +# |
| 8 | +# Summary of how the Apache 2 configuration works in Debian: |
| 9 | +# The Apache 2 web server configuration in Debian is quite different to |
| 10 | +# upstream's suggested way to configure the web server. This is because Debian's |
| 11 | +# default Apache2 installation attempts to make adding and removing modules, |
| 12 | +# virtual hosts, and extra configuration directives as flexible as possible, in |
| 13 | +# order to make automating the changes and administering the server as easy as |
| 14 | +# possible. |
| 15 | + |
| 16 | +# It is split into several files forming the configuration hierarchy outlined |
| 17 | +# below, all located in the /etc/apache2/ directory: |
| 18 | +# |
| 19 | +# /etc/apache2/ |
| 20 | +# |-- apache2.conf |
| 21 | +# | `-- ports.conf |
| 22 | +# |-- mods-enabled |
| 23 | +# | |-- *.load |
| 24 | +# | `-- *.conf |
| 25 | +# |-- conf-enabled |
| 26 | +# | `-- *.conf |
| 27 | +# `-- sites-enabled |
| 28 | +# `-- *.conf |
| 29 | +# |
| 30 | +# |
| 31 | +# * apache2.conf is the main configuration file (this file). It puts the pieces |
| 32 | +# together by including all remaining configuration files when starting up the |
| 33 | +# web server. |
| 34 | +# |
| 35 | +# * ports.conf is always included from the main configuration file. It is |
| 36 | +# supposed to determine listening ports for incoming connections which can be |
| 37 | +# customized anytime. |
| 38 | +# |
| 39 | +# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ |
| 40 | +# directories contain particular configuration snippets which manage modules, |
| 41 | +# global configuration fragments, or virtual host configurations, |
| 42 | +# respectively. |
| 43 | +# |
| 44 | +# They are activated by symlinking available configuration files from their |
| 45 | +# respective *-available/ counterparts. These should be managed by using our |
| 46 | +# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See |
| 47 | +# their respective man pages for detailed information. |
| 48 | +# |
| 49 | +# * The binary is called apache2. Due to the use of environment variables, in |
| 50 | +# the default configuration, apache2 needs to be started/stopped with |
| 51 | +# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not |
| 52 | +# work with the default configuration. |
| 53 | + |
| 54 | + |
| 55 | +# Global configuration |
| 56 | +# |
| 57 | + |
| 58 | +# |
| 59 | +# ServerRoot: The top of the directory tree under which the server's |
| 60 | +# configuration, error, and log files are kept. |
| 61 | +# |
| 62 | +# NOTE! If you intend to place this on an NFS (or otherwise network) |
| 63 | +# mounted filesystem then please read the Mutex documentation (available |
| 64 | +# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>); |
| 65 | +# you will save yourself a lot of trouble. |
| 66 | +# |
| 67 | +# Do NOT add a slash at the end of the directory path. |
| 68 | +# |
| 69 | +#ServerRoot "/etc/apache2" |
| 70 | + |
| 71 | +# |
| 72 | +# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. |
| 73 | +# |
| 74 | +#Mutex file:${APACHE_LOCK_DIR} default |
| 75 | + |
| 76 | +# |
| 77 | +# The directory where shm and other runtime files will be stored. |
| 78 | +# |
| 79 | + |
| 80 | +DefaultRuntimeDir ${APACHE_RUN_DIR} |
| 81 | + |
| 82 | +# |
| 83 | +# PidFile: The file in which the server should record its process |
| 84 | +# identification number when it starts. |
| 85 | +# This needs to be set in /etc/apache2/envvars |
| 86 | +# |
| 87 | +PidFile ${APACHE_PID_FILE} |
| 88 | + |
| 89 | +# |
| 90 | +# Timeout: The number of seconds before receives and sends time out. |
| 91 | +# |
| 92 | +Timeout 300 |
| 93 | + |
| 94 | +# |
| 95 | +# KeepAlive: Whether or not to allow persistent connections (more than |
| 96 | +# one request per connection). Set to "Off" to deactivate. |
| 97 | +# |
| 98 | +KeepAlive On |
| 99 | + |
| 100 | +# |
| 101 | +# MaxKeepAliveRequests: The maximum number of requests to allow |
| 102 | +# during a persistent connection. Set to 0 to allow an unlimited amount. |
| 103 | +# We recommend you leave this number high, for maximum performance. |
| 104 | +# |
| 105 | +MaxKeepAliveRequests 100 |
| 106 | + |
| 107 | +# |
| 108 | +# KeepAliveTimeout: Number of seconds to wait for the next request from the |
| 109 | +# same client on the same connection. |
| 110 | +# |
| 111 | +KeepAliveTimeout 5 |
| 112 | + |
| 113 | + |
| 114 | +# These need to be set in /etc/apache2/envvars |
| 115 | +User ${APACHE_RUN_USER} |
| 116 | +Group ${APACHE_RUN_GROUP} |
| 117 | + |
| 118 | +# |
| 119 | +# HostnameLookups: Log the names of clients or just their IP addresses |
| 120 | +# e.g., www.apache.org (on) or 204.62.129.132 (off). |
| 121 | +# The default is off because it'd be overall better for the net if people |
| 122 | +# had to knowingly turn this feature on, since enabling it means that |
| 123 | +# each client request will result in AT LEAST one lookup request to the |
| 124 | +# nameserver. |
| 125 | +# |
| 126 | +HostnameLookups Off |
| 127 | + |
| 128 | +# ErrorLog: The location of the error log file. |
| 129 | +# If you do not specify an ErrorLog directive within a <VirtualHost> |
| 130 | +# container, error messages relating to that virtual host will be |
| 131 | +# logged here. If you *do* define an error logfile for a <VirtualHost> |
| 132 | +# container, that host's errors will be logged there and not here. |
| 133 | +# |
| 134 | +ErrorLog ${APACHE_LOG_DIR}/error.log |
| 135 | + |
| 136 | +# |
| 137 | +# LogLevel: Control the severity of messages logged to the error_log. |
| 138 | +# Available values: trace8, ..., trace1, debug, info, notice, warn, |
| 139 | +# error, crit, alert, emerg. |
| 140 | +# It is also possible to configure the log level for particular modules, e.g. |
| 141 | +# "LogLevel info ssl:warn" |
| 142 | +# |
| 143 | +LogLevel warn |
| 144 | + |
| 145 | +# Include module configuration: |
| 146 | +IncludeOptional mods-enabled/*.load |
| 147 | +IncludeOptional mods-enabled/*.conf |
| 148 | + |
| 149 | +# Include list of ports to listen on |
| 150 | +Include ports.conf |
| 151 | + |
| 152 | + |
| 153 | +# Sets the default security model of the Apache2 HTTPD server. It does |
| 154 | +# not allow access to the root filesystem outside of /usr/share and /var/www. |
| 155 | +# The former is used by web applications packaged in Debian, |
| 156 | +# the latter may be used for local directories served by the web server. If |
| 157 | +# your system is serving content from a sub-directory in /srv you must allow |
| 158 | +# access here, or in any related virtual host. |
| 159 | +<Directory /> |
| 160 | + Options FollowSymLinks |
| 161 | + AllowOverride None |
| 162 | + Require all denied |
| 163 | +</Directory> |
| 164 | + |
| 165 | +<Directory /usr/share> |
| 166 | + AllowOverride None |
| 167 | + Require all granted |
| 168 | +</Directory> |
| 169 | + |
| 170 | +<Directory /var/www/> |
| 171 | + Options Indexes FollowSymLinks |
| 172 | + AllowOverride None |
| 173 | + Require all granted |
| 174 | +</Directory> |
| 175 | + |
| 176 | + |
| 177 | + |
| 178 | +#<Directory /srv/> |
| 179 | +# Options Indexes FollowSymLinks |
| 180 | +# AllowOverride None |
| 181 | +# Require all granted |
| 182 | +#</Directory> |
| 183 | + |
| 184 | + |
| 185 | + |
| 186 | + |
| 187 | +# AccessFileName: The name of the file to look for in each directory |
| 188 | +# for additional configuration directives. See also the AllowOverride |
| 189 | +# directive. |
| 190 | +# |
| 191 | +AccessFileName .htaccess |
| 192 | + |
| 193 | +# |
| 194 | +# The following lines prevent .htaccess and .htpasswd files from being |
| 195 | +# viewed by Web clients. |
| 196 | +# |
| 197 | +<FilesMatch "^\.ht"> |
| 198 | + Require all denied |
| 199 | +</FilesMatch> |
| 200 | + |
| 201 | + |
| 202 | +# |
| 203 | +# The following directives define some format nicknames for use with |
| 204 | +# a CustomLog directive. |
| 205 | +# |
| 206 | +# These deviate from the Common Log Format definitions in that they use %O |
| 207 | +# (the actual bytes sent including headers) instead of %b (the size of the |
| 208 | +# requested file), because the latter makes it impossible to detect partial |
| 209 | +# requests. |
| 210 | +# |
| 211 | +# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. |
| 212 | +# Use mod_remoteip instead. |
| 213 | +# |
| 214 | +LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined |
| 215 | +LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined |
| 216 | +LogFormat "%h %l %u %t \"%r\" %>s %O" common |
| 217 | +LogFormat "%{Referer}i -> %U" referer |
| 218 | +LogFormat "%{User-agent}i" agent |
| 219 | + |
| 220 | +# Include of directories ignores editors' and dpkg's backup files, |
| 221 | +# see README.Debian for details. |
| 222 | + |
| 223 | +# Include generic snippets of statements |
| 224 | +IncludeOptional conf-enabled/*.conf |
| 225 | + |
| 226 | +# Include the virtual host configurations: |
| 227 | +IncludeOptional sites-enabled/*.conf |
| 228 | + |
| 229 | +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet |
0 commit comments