@@ -0,0 +1,249 @@
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+# PidFile: The file in which the server should record its process
78+# identification number when it starts.
79+# This needs to be set in /etc/apache2/envvars
80+#
81+PidFile ${APACHE_PID_FILE}
82+
83+#
84+# Timeout: The number of seconds before receives and sends time out.
85+#
86+Timeout 300
87+
88+#
89+# KeepAlive: Whether or not to allow persistent connections (more than
90+# one request per connection). Set to "Off" to deactivate.
91+#
92+KeepAlive On
93+
94+#
95+# MaxKeepAliveRequests: The maximum number of requests to allow
96+# during a persistent connection. Set to 0 to allow an unlimited amount.
97+# We recommend you leave this number high, for maximum performance.
98+#
99+MaxKeepAliveRequests 100
100+
101+#
102+# KeepAliveTimeout: Number of seconds to wait for the next request from the
103+# same client on the same connection.
104+#
105+KeepAliveTimeout 5
106+
107+
108+# These need to be set in /etc/apache2/envvars
109+User ${APACHE_RUN_USER}
110+Group ${APACHE_RUN_GROUP}
111+
112+#
113+# HostnameLookups: Log the names of clients or just their IP addresses
114+# e.g., www.apache.org (on) or 204.62.129.132 (off).
115+# The default is off because it'd be overall better for the net if people
116+# had to knowingly turn this feature on, since enabling it means that
117+# each client request will result in AT LEAST one lookup request to the
118+# nameserver.
119+#
120+HostnameLookups Off
121+
122+# ErrorLog: The location of the error log file.
123+# If you do not specify an ErrorLog directive within a <VirtualHost>
124+# container, error messages relating to that virtual host will be
125+# logged here. If you *do* define an error logfile for a <VirtualHost>
126+# container, that host's errors will be logged there and not here.
127+#
128+ErrorLog ${APACHE_LOG_DIR}/error.log
129+
130+#
131+# LogLevel: Control the severity of messages logged to the error_log.
132+# Available values: trace8, ..., trace1, debug, info, notice, warn,
133+# error, crit, alert, emerg.
134+# It is also possible to configure the log level for particular modules, e.g.
135+# "LogLevel info ssl:warn"
136+#
137+LogLevel warn
138+
139+# Include module configuration:
140+IncludeOptional mods-enabled/*.load
141+IncludeOptional mods-enabled/*.conf
142+
143+# Include list of ports to listen on
144+Include ports.conf
145+
146+
147+# Sets the default security model of the Apache2 HTTPD server. It does
148+# not allow access to the root filesystem outside of /usr/share and /var/www.
149+# The former is used by web applications packaged in Debian,
150+# the latter may be used for local directories served by the web server. If
151+# your system is serving content from a sub-directory in /srv you must allow
152+# access here, or in any related virtual host.
153+# <Directory />
154+# Options FollowSymLinks
155+# AllowOverride None
156+# Require all denied
157+# </Directory>
158+
159+# <Directory /usr/share>
160+# AllowOverride None
161+# Require all granted
162+# </Directory>
163+
164+# <Directory /var/www/>
165+# Options Indexes FollowSymLinks
166+# AllowOverride None
167+# Require all granted
168+# </Directory>
169+
170+#<Directory /srv/>
171+# Options Indexes FollowSymLinks
172+# AllowOverride None
173+# Require all granted
174+#</Directory>
175+
176+
177+
178+
179+# AccessFileName: The name of the file to look for in each directory
180+# for additional configuration directives. See also the AllowOverride
181+# directive.
182+#
183+AccessFileName .htaccess
184+
185+#
186+# The following lines prevent .htaccess and .htpasswd files from being
187+# viewed by Web clients.
188+#
189+<FilesMatch "^\.ht">
190+ Require all denied
191+</FilesMatch>
192+
193+
194+#
195+# The following directives define some format nicknames for use with
196+# a CustomLog directive.
197+#
198+# These deviate from the Common Log Format definitions in that they use %O
199+# (the actual bytes sent including headers) instead of %b (the size of the
200+# requested file), because the latter makes it impossible to detect partial
201+# requests.
202+#
203+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
204+# Use mod_remoteip instead.
205+#
206+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
207+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
208+LogFormat "%h %l %u %t \"%r\" %>s %O" common
209+LogFormat "%{Referer}i -> %U" referer
210+LogFormat "%{User-agent}i" agent
211+
212+# Include of directories ignores editors' and dpkg's backup files,
213+# see README.Debian for details.
214+
215+# Include generic snippets of statements
216+# IncludeOptional conf-enabled/*.conf
217+
218+# Include the virtual host configurations:
219+# IncludeOptional sites-enabled/*.conf
220+
221+ServerName example.com
222+
223+<VirtualHost *:80>
224+ DocumentRoot /vagrant/static
225+ # ServerName yourdomain.com
226+ DirectoryIndex index.html
227+ ServerName static-file
228+
229+ AliasMatch ^/(.*)$ /vagrant/static/index.html
230+
231+ <Directory "/vagrant/static">
232+ Require all granted
233+ </Directory>
234+
235+</VirtualHost>
236+
237+<VirtualHost *:80>
238+ DocumentRoot /vagrant/static-2
239+ # ServerName yourdomain.com
240+ DirectoryIndex index.html
241+ ServerName static-file-2
242+
243+ AliasMatch ^/(.*)$ /vagrant/static-2/index.html
244+
245+ <Directory "/vagrant/static-2">
246+ Require all granted
247+ </Directory>
248+
249+</VirtualHost>