aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-08-04 15:32:59 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-08-04 15:32:59 +0000
commitd319d97c8808f746072ba95bb10b7e0b97976ecd (patch)
tree460ec7ca5308d976d25ddf6aca6f78778880aaa4
parentbc5d0beacc17d14bc85b8631fa469adeb8d1606d (diff)
downloadalpine_aports-d319d97c8808f746072ba95bb10b7e0b97976ecd.tar.bz2
alpine_aports-d319d97c8808f746072ba95bb10b7e0b97976ecd.tar.xz
alpine_aports-d319d97c8808f746072ba95bb10b7e0b97976ecd.zip
testing/apache2: add default config
ship a default config based on fedora's build optimization, dont build modules for the mpms. remove the gentoo specific parts from /etc/conf.d/apache2
-rw-r--r--testing/apache2/APKBUILD114
-rw-r--r--testing/apache2/apache2.confd34
-rw-r--r--testing/apache2/apache2.logrotate13
-rw-r--r--testing/apache2/httpd.conf1009
4 files changed, 1080 insertions, 90 deletions
diff --git a/testing/apache2/APKBUILD b/testing/apache2/APKBUILD
index 40cf16b035..a072fbab43 100644
--- a/testing/apache2/APKBUILD
+++ b/testing/apache2/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=apache2 2pkgname=apache2
3pkgver=2.2.16 3pkgver=2.2.16
4pkgrel=0 4pkgrel=1
5pkgdesc="A high performance Unix-based HTTP server" 5pkgdesc="A high performance Unix-based HTTP server"
6url="http://httpd.apache.org/" 6url="http://httpd.apache.org/"
7license="APACHE" 7license="APACHE"
@@ -24,16 +24,12 @@ source="http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2
24 apache2.confd 24 apache2.confd
25 apache2.logrotate 25 apache2.logrotate
26 apache2.initd 26 apache2.initd
27 httpd.conf
27 alpine.layout" 28 alpine.layout"
28 29
29prepare() { 30prepare() {
30 cd "$srcdir"/httpd-$pkgver
31 sed -e 's#User daemon#User apache#' \
32 -e 's#Group daemon#Group apache#' \
33 -i docs/conf/httpd.conf.in || return 1
34 cat "$srcdir/alpine.layout" >> config.layout
35
36 cd "$srcdir" 31 cd "$srcdir"
32 cat "$srcdir/alpine.layout" >> httpd-$pkgver/config.layout
37 33
38 # create symlinks to soruces for prefork and worker 34 # create symlinks to soruces for prefork and worker
39 ln -s httpd-$pkgver prefork 35 ln -s httpd-$pkgver prefork
@@ -59,45 +55,55 @@ prepare() {
59 autoconf || return 1 55 autoconf || return 1
60} 56}
61 57
58_buildmpm() {
59 local mpm=$1
60 shift
61 mkdir "$srcdir"/build-${mpm}
62 cd "$srcdir"/build-${mpm}
63 "$srcdir"/$mpm/configure --prefix=/usr \
64 --enable-layout=Alpine \
65 --enable-so \
66 --enable-suexec \
67 --with-suexec-caller=http \
68 --with-suexec-docroot=/var/www/localhost/htdocs \
69 --with-suexec-logfile=/var/log/httpd/suexec.log \
70 --with-suexec-bin=/usr/sbin/suexec \
71 --with-suexec-uidmin=99 \
72 --with-suexec-gidmin=99 \
73 --with-apr=/usr/bin/apr-1-config \
74 --with-apr-util=/usr/bin/apu-1-config \
75 --with-pcre=/usr \
76 --with-mpm=${mpm} \
77 || return 1
78 make || return 1
79}
80
62build () { 81build () {
63 local mpm 82 local mpm
64 for mpm in prefork worker itk; do
65 mkdir "$srcdir"/build-${mpm}
66 cd "$srcdir"/build-${mpm}
67 83
68 "$srcdir"/$mpm/configure --prefix=/usr \ 84 # build prefork with everything
69 --enable-layout=Alpine \ 85 _buildmpm prefork \
70 --enable-modules=all \ 86 --enable-mods-shared=all \
71 --enable-mods-shared=all \ 87 --enable-ssl --with-ssl --enable-distcache \
72 --enable-so \ 88 --enable-proxy \
73 --enable-suexec \ 89 --enable-cache \
74 --with-suexec-caller=http \ 90 --enable-disk-cache \
75 --with-suexec-docroot=/var/www/localhost/htdocs \ 91 --enable-mem-cache \
76 --with-suexec-logfile=/var/log/httpd/suexec.log \ 92 --enable-file-cache \
77 --with-suexec-bin=/usr/sbin/suexec \ 93 --enable-ldap --enable-authnz-ldap \
78 --with-suexec-uidmin=99 \ 94 --enable-cgid \
79 --with-suexec-gidmin=99 \ 95 --enable-authn-anon --enable-authn-alias \
80 --enable-ldap \ 96 --disable-imagemap \
81 --enable-authnz-ldap \ 97 --enable-proxy-connect \
82 --enable-cache \ 98 --enable-proxy-http \
83 --enable-disk-cache \ 99 --enable-proxy-ftp \
84 --enable-mem-cache \ 100 --enable-deflate \
85 --enable-file-cache \ 101 --enable-dbd \
86 --enable-ssl \ 102 || return 1
87 --with-ssl \ 103
88 --enable-deflate \ 104 #build the alternative mpms, but without modules
89 --enable-cgid \ 105 for mpm in worker itk; do
90 --enable-proxy \ 106 _buildmpm $mpm --enable-modules=none
91 --enable-proxy-connect \
92 --enable-proxy-http \
93 --enable-proxy-ftp \
94 --enable-dbd \
95 --with-apr=/usr/bin/apr-1-config \
96 --with-apr-util=/usr/bin/apu-1-config \
97 --with-pcre=/usr \
98 --with-mpm=${mpm} \
99 || return 1
100 make || return 1
101 done 107 done
102} 108}
103 109
@@ -108,7 +114,14 @@ package() {
108 install -m755 "$srcdir"/build-$mpm/httpd \ 114 install -m755 "$srcdir"/build-$mpm/httpd \
109 "$pkgdir/usr/sbin/httpd.${mpm}" || return 1 115 "$pkgdir/usr/sbin/httpd.${mpm}" || return 1
110 done 116 done
117
118 # config
119 rm -r "$pkgdir"/etc/apache2/httpd.conf \
120 "$pkgdir"/etc/apache2/extra
121 install -D -m644 "$srcdir"/httpd.conf "$pkgdir"/etc/apache2/httpd.conf
122 install -d "$pkgdir"/etc/apache2/conf.d
111 123
124 # init scripts and logrotate
112 install -D -m755 "$srcdir/apache2.initd" \ 125 install -D -m755 "$srcdir/apache2.initd" \
113 "$pkgdir/etc/init.d/apache2" || return 1 126 "$pkgdir/etc/init.d/apache2" || return 1
114 install -D -m644 "$srcdir/apache2.logrotate" \ 127 install -D -m644 "$srcdir/apache2.logrotate" \
@@ -119,15 +132,7 @@ package() {
119 install -d "$pkgdir"/var/www 132 install -d "$pkgdir"/var/www
120 ln -fs /var/log/httpd "$pkgdir/var/www/logs" 133 ln -fs /var/log/httpd "$pkgdir/var/www/logs"
121 ln -fs /var/run/httpd "$pkgdir/var/www/run" 134 ln -fs /var/run/httpd "$pkgdir/var/www/run"
122 ln -fs /usr/lib/httpd/modules "$pkgdir/var/www/modules" 135 ln -fs /usr/lib/apache2 "$pkgdir/var/www/modules"
123 sed -e 's#/usr/lib/httpd/modules/#modules/#' \
124 -e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|'\
125 -e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \
126 -e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \
127 -e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \
128 -e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \
129 -e 's|/srv/http|/var/www/localhost|g' \
130 -i "$pkgdir/etc/apache2/httpd.conf" || return 1
131} 136}
132 137
133utils() { 138utils() {
@@ -148,7 +153,8 @@ d33e39350e987721d50e6fb8e164ab6b 07-base-functionality.patch
1489f7a8935f9cabc7b46d0052906634cef 08-max-clients-per-vhost.patch 1539f7a8935f9cabc7b46d0052906634cef 08-max-clients-per-vhost.patch
1491b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch 1541b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch
150d9667fcd2ffecc63e446edd4d6666731 10-nice.patch 155d9667fcd2ffecc63e446edd4d6666731 10-nice.patch
151f3e4f5eed88d97d1bbadd0597562bc28 apache2.confd 156e322b5211e49511cac6e40c86af1b1da apache2.confd
152d91a9a7196b10ef0bc4ab5b98ea9ccd9 apache2.logrotate 15775fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate
1530261136ff734c3ae8dcf878a46ed5830 apache2.initd 1580261136ff734c3ae8dcf878a46ed5830 apache2.initd
159ea8669bd3b913c4d30f16b5a11c82564 httpd.conf
154af943bf52cec8088974084639661ba34 alpine.layout" 160af943bf52cec8088974084639661ba34 alpine.layout"
diff --git a/testing/apache2/apache2.confd b/testing/apache2/apache2.confd
index 0297b57906..faf02fa979 100644
--- a/testing/apache2/apache2.confd
+++ b/testing/apache2/apache2.confd
@@ -9,39 +9,11 @@
9 9
10HTTPD="/usr/sbin/httpd" 10HTTPD="/usr/sbin/httpd"
11 11
12# When you install a module it is easy to activate or deactivate the modules
13# and other features of apache using the HTTPD_OPTS line. Every module should
14# install a configuration in /etc/apache2/modules.d. In that file will have an
15# <IfDefine NNN> directive where NNN is the option to enable that module.
16# 12#
17# Here are the options available in the default configuration: 13# To pass additional options (for instance, -D definitions) to the
14# httpd binary at startup, set HTTPD_OPTS here.
18# 15#
19# AUTH_DIGEST Enables mod_auth_digest 16HTTPD_OPTS=
20# AUTHNZ_LDAP Enables authentication through mod_ldap
21# CACHE Enables mod_cache
22# DAV Enables mod_dav
23# ERRORDOCS Enables default error documents for many languages.
24# INFO Enables mod_info, a useful module for debugging
25# LANGUAGE Enables content-negotiation based on language and charset.
26# LDAP Enables mod_ldap
27# MANUAL Enables /manual/ to be the apache manual (needs apache-doc)
28# MEM_CACHE Enables default configuration mod_mem_cache
29# PROXY Enables mod_proxy
30# SSL Enables SSL
31# SUEXEC Enables running CGI scripts (in USERDIR) through suexec.
32# USERDIR Enables /~username mapping to /home/username/public_html
33#
34#
35# The following two options provide the default virtual host for the HTTP and
36# HTTPS protocol. YOU NEED TO ENABLE AT LEAST ONE OF THEM, otherwise apache
37# will not listen for incomming connections on the approriate port.
38#
39# DEFAULT_VHOST Enables name-based virtual hosts, with the default
40# virtual host being in /var/www/localhost/htdocs
41# SSL_DEFAULT_VHOST Enables default vhost for SSL (you should enable this
42# when you enable SSL)
43#
44HTTPD_OPTS="-D DEFAULT_VHOST -D LANGUAGE -D INFO"
45 17
46# Extended options for advanced uses of Apache ONLY 18# Extended options for advanced uses of Apache ONLY
47# You don't need to edit these unless you are doing crazy Apache stuff 19# You don't need to edit these unless you are doing crazy Apache stuff
diff --git a/testing/apache2/apache2.logrotate b/testing/apache2/apache2.logrotate
index 1264341468..fe19a4381f 100644
--- a/testing/apache2/apache2.logrotate
+++ b/testing/apache2/apache2.logrotate
@@ -1,7 +1,10 @@
1/var/log/apache2/*log { 1/var/log/apache2/*log {
2 postrotate 2 missingok
3 if /etc/init.d/apache2 status; then 3 notifempty
4 /etc/init.d/apache2 reload --quiet || true 4 sharedscripts
5 fi 5 delaycompress
6 endscript 6 postrotate
7 /sbin/rc-service --quiet apache2 reload > /dev/null 2>/dev/null || true
8 endscript
7} 9}
10
diff --git a/testing/apache2/httpd.conf b/testing/apache2/httpd.conf
new file mode 100644
index 0000000000..5e0adee65e
--- /dev/null
+++ b/testing/apache2/httpd.conf
@@ -0,0 +1,1009 @@
1#
2# This is the main Apache server configuration file. It contains the
3# configuration directives that give the server its instructions.
4# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
5# In particular, see
6# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
7# for a discussion of each configuration directive.
8#
9#
10# Do NOT simply read the instructions in here without understanding
11# what they do. They're here only as hints or reminders. If you are unsure
12# consult the online docs. You have been warned.
13#
14# The configuration directives are grouped into three basic sections:
15# 1. Directives that control the operation of the Apache server process as a
16# whole (the 'global environment').
17# 2. Directives that define the parameters of the 'main' or 'default' server,
18# which responds to requests that aren't handled by a virtual host.
19# These directives also provide default values for the settings
20# of all virtual hosts.
21# 3. Settings for virtual hosts, which allow Web requests to be sent to
22# different IP addresses or hostnames and have them handled by the
23# same Apache server process.
24#
25# Configuration and logfile names: If the filenames you specify for many
26# of the server's control files begin with "/" (or "drive:/" for Win32), the
27# server will use that explicit path. If the filenames do *not* begin
28# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
29# with ServerRoot set to "/etc/httpd" will be interpreted by the
30# server as "/etc/httpd/logs/foo.log".
31#
32
33### Section 1: Global Environment
34#
35# The directives in this section affect the overall operation of Apache,
36# such as the number of concurrent requests it can handle or where it
37# can find its configuration files.
38#
39
40#
41# Don't give away too much information about all the subcomponents
42# we are running. Comment out this line if you don't mind remote sites
43# finding out what major optional modules you are running
44ServerTokens OS
45
46#
47# ServerRoot: The top of the directory tree under which the server's
48# configuration, error, and log files are kept.
49#
50# NOTE! If you intend to place this on an NFS (or otherwise network)
51# mounted filesystem then please read the LockFile documentation
52# (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>);
53# you will save yourself a lot of trouble.
54#
55# Do NOT add a slash at the end of the directory path.
56#
57ServerRoot "/var/www"
58
59#
60# PidFile: The file in which the server should record its process
61# identification number when it starts. Note the PIDFILE variable in
62# /etc/conf.d/apache2 must be set appropriately if this location is
63# changed.
64#
65PidFile run/httpd.pid
66
67#
68# Timeout: The number of seconds before receives and sends time out.
69#
70Timeout 60
71
72#
73# KeepAlive: Whether or not to allow persistent connections (more than
74# one request per connection). Set to "Off" to deactivate.
75#
76KeepAlive Off
77
78#
79# MaxKeepAliveRequests: The maximum number of requests to allow
80# during a persistent connection. Set to 0 to allow an unlimited amount.
81# We recommend you leave this number high, for maximum performance.
82#
83MaxKeepAliveRequests 100
84
85#
86# KeepAliveTimeout: Number of seconds to wait for the next request from the
87# same client on the same connection.
88#
89KeepAliveTimeout 5
90
91##
92## Server-Pool Size Regulation (MPM specific)
93##
94
95# prefork MPM
96# StartServers: number of server processes to start
97# MinSpareServers: minimum number of server processes which are kept spare
98# MaxSpareServers: maximum number of server processes which are kept spare
99# ServerLimit: maximum value for MaxClients for the lifetime of the server
100# MaxClients: maximum number of server processes allowed to start
101# MaxRequestsPerChild: maximum number of requests a server process serves
102<IfModule prefork.c>
103StartServers 8
104MinSpareServers 5
105MaxSpareServers 20
106ServerLimit 256
107MaxClients 256
108MaxRequestsPerChild 4000
109</IfModule>
110
111# worker MPM
112# StartServers: initial number of server processes to start
113# MaxClients: maximum number of simultaneous client connections
114# MinSpareThreads: minimum number of worker threads which are kept spare
115# MaxSpareThreads: maximum number of worker threads which are kept spare
116# ThreadsPerChild: constant number of worker threads in each server process
117# MaxRequestsPerChild: maximum number of requests a server process serves
118<IfModule worker.c>
119StartServers 4
120MaxClients 300
121MinSpareThreads 25
122MaxSpareThreads 75
123ThreadsPerChild 25
124MaxRequestsPerChild 0
125</IfModule>
126
127#
128# Listen: Allows you to bind Apache to specific IP addresses and/or
129# ports, in addition to the default. See also the <VirtualHost>
130# directive.
131#
132# Change this to Listen on specific IP addresses as shown below to
133# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
134#
135#Listen 12.34.56.78:80
136Listen 80
137
138#
139# Dynamic Shared Object (DSO) Support
140#
141# To be able to use the functionality of a module which was built as a DSO you
142# have to place corresponding `LoadModule' lines at this location so the
143# directives contained in it are actually available _before_ they are used.
144# Statically compiled modules (those listed by `httpd -l') do not need
145# to be loaded here.
146#
147# Example:
148# LoadModule foo_module modules/mod_foo.so
149#
150LoadModule auth_basic_module modules/mod_auth_basic.so
151LoadModule auth_digest_module modules/mod_auth_digest.so
152LoadModule authn_file_module modules/mod_authn_file.so
153LoadModule authn_alias_module modules/mod_authn_alias.so
154LoadModule authn_anon_module modules/mod_authn_anon.so
155LoadModule authn_dbm_module modules/mod_authn_dbm.so
156LoadModule authn_default_module modules/mod_authn_default.so
157LoadModule authz_host_module modules/mod_authz_host.so
158LoadModule authz_user_module modules/mod_authz_user.so
159LoadModule authz_owner_module modules/mod_authz_owner.so
160LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
161LoadModule authz_dbm_module modules/mod_authz_dbm.so
162LoadModule authz_default_module modules/mod_authz_default.so
163LoadModule ldap_module modules/mod_ldap.so
164LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
165LoadModule include_module modules/mod_include.so
166LoadModule log_config_module modules/mod_log_config.so
167LoadModule logio_module modules/mod_logio.so
168LoadModule env_module modules/mod_env.so
169LoadModule ext_filter_module modules/mod_ext_filter.so
170LoadModule mime_magic_module modules/mod_mime_magic.so
171LoadModule expires_module modules/mod_expires.so
172LoadModule deflate_module modules/mod_deflate.so
173LoadModule headers_module modules/mod_headers.so
174LoadModule usertrack_module modules/mod_usertrack.so
175LoadModule setenvif_module modules/mod_setenvif.so
176LoadModule mime_module modules/mod_mime.so
177LoadModule dav_module modules/mod_dav.so
178LoadModule status_module modules/mod_status.so
179LoadModule autoindex_module modules/mod_autoindex.so
180LoadModule info_module modules/mod_info.so
181LoadModule dav_fs_module modules/mod_dav_fs.so
182LoadModule vhost_alias_module modules/mod_vhost_alias.so
183LoadModule negotiation_module modules/mod_negotiation.so
184LoadModule dir_module modules/mod_dir.so
185LoadModule actions_module modules/mod_actions.so
186LoadModule speling_module modules/mod_speling.so
187LoadModule userdir_module modules/mod_userdir.so
188LoadModule alias_module modules/mod_alias.so
189LoadModule substitute_module modules/mod_substitute.so
190LoadModule rewrite_module modules/mod_rewrite.so
191LoadModule proxy_module modules/mod_proxy.so
192LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
193LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
194LoadModule proxy_http_module modules/mod_proxy_http.so
195LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
196LoadModule proxy_connect_module modules/mod_proxy_connect.so
197LoadModule cache_module modules/mod_cache.so
198LoadModule suexec_module modules/mod_suexec.so
199LoadModule disk_cache_module modules/mod_disk_cache.so
200LoadModule cgi_module modules/mod_cgi.so
201LoadModule version_module modules/mod_version.so
202
203#
204# The following modules are not loaded by default:
205#
206#LoadModule asis_module modules/mod_asis.so
207#LoadModule authn_dbd_module modules/mod_authn_dbd.so
208#LoadModule cern_meta_module modules/mod_cern_meta.so
209#LoadModule cgid_module modules/mod_cgid.so
210#LoadModule dbd_module modules/mod_dbd.so
211#LoadModule dumpio_module modules/mod_dumpio.so
212#LoadModule filter_module modules/mod_filter.so
213#LoadModule ident_module modules/mod_ident.so
214#LoadModule log_forensic_module modules/mod_log_forensic.so
215#LoadModule unique_id_module modules/mod_unique_id.so
216#
217
218#
219# Load config files from the config directory "/etc/httpd/conf.d".
220#
221Include conf.d/*.conf
222
223#
224# ExtendedStatus controls whether Apache will generate "full" status
225# information (ExtendedStatus On) or just basic information (ExtendedStatus
226# Off) when the "server-status" handler is called. The default is Off.
227#
228#ExtendedStatus On
229
230#
231# If you wish httpd to run as a different user or group, you must run
232# httpd as root initially and it will switch.
233#
234# User/Group: The name (or #number) of the user/group to run httpd as.
235# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
236# . On HPUX you may not be able to use shared memory as nobody, and the
237# suggested workaround is to create a user www and use that user.
238# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
239# when the value of (unsigned)Group is above 60000;
240# don't use Group #-1 on these systems!
241#
242User apache
243Group apache
244
245### Section 2: 'Main' server configuration
246#
247# The directives in this section set up the values used by the 'main'
248# server, which responds to any requests that aren't handled by a
249# <VirtualHost> definition. These values also provide defaults for
250# any <VirtualHost> containers you may define later in the file.
251#
252# All of these directives may appear inside <VirtualHost> containers,
253# in which case these default settings will be overridden for the
254# virtual host being defined.
255#
256
257#
258# ServerAdmin: Your address, where problems with the server should be
259# e-mailed. This address appears on some server-generated pages, such
260# as error documents. e.g. admin@your-domain.com
261#
262ServerAdmin root@localhost
263
264#
265# ServerName gives the name and port that the server uses to identify itself.
266# This can often be determined automatically, but we recommend you specify
267# it explicitly to prevent problems during startup.
268#
269# If this is not set to valid DNS name for your host, server-generated
270# redirections will not work. See also the UseCanonicalName directive.
271#
272# If your host doesn't have a registered DNS name, enter its IP address here.
273# You will have to access it by its address anyway, and this will make
274# redirections work in a sensible way.
275#
276#ServerName www.example.com:80
277
278#
279# UseCanonicalName: Determines how Apache constructs self-referencing
280# URLs and the SERVER_NAME and SERVER_PORT variables.
281# When set "Off", Apache will use the Hostname and Port supplied
282# by the client. When set "On", Apache will use the value of the
283# ServerName directive.
284#
285UseCanonicalName Off
286
287#
288# DocumentRoot: The directory out of which you will serve your
289# documents. By default, all requests are taken from this directory, but
290# symbolic links and aliases may be used to point to other locations.
291#
292DocumentRoot "/var/www/localhost/htdocs"
293
294#
295# Each directory to which Apache has access can be configured with respect
296# to which services and features are allowed and/or disabled in that
297# directory (and its subdirectories).
298#
299# First, we configure the "default" to be a very restrictive set of
300# features.
301#
302<Directory />
303 Options FollowSymLinks
304 AllowOverride None
305</Directory>
306
307#
308# Note that from this point forward you must specifically allow
309# particular features to be enabled - so if something's not working as
310# you might expect, make sure that you have specifically enabled it
311# below.
312#
313
314#
315# This should be changed to whatever you set DocumentRoot to.
316#
317<Directory "/var/www/localhost/htdocs">
318
319#
320# Possible values for the Options directive are "None", "All",
321# or any combination of:
322# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
323#
324# Note that "MultiViews" must be named *explicitly* --- "Options All"
325# doesn't give it to you.
326#
327# The Options directive is both complicated and important. Please see
328# http://httpd.apache.org/docs/2.2/mod/core.html#options
329# for more information.
330#
331 Options Indexes FollowSymLinks
332
333#
334# AllowOverride controls what directives may be placed in .htaccess files.
335# It can be "All", "None", or any combination of the keywords:
336# Options FileInfo AuthConfig Limit
337#
338 AllowOverride None
339
340#
341# Controls who can get stuff from this server.
342#
343 Order allow,deny
344 Allow from all
345
346</Directory>
347
348#
349# UserDir: The name of the directory that is appended onto a user's home
350# directory if a ~user request is received.
351#
352# The path to the end user account 'public_html' directory must be
353# accessible to the webserver userid. This usually means that ~userid
354# must have permissions of 711, ~userid/public_html must have permissions
355# of 755, and documents contained therein must be world-readable.
356# Otherwise, the client will only receive a "403 Forbidden" message.
357#
358# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden
359#
360<IfModule mod_userdir.c>
361 #
362 # UserDir is disabled by default since it can confirm the presence
363 # of a username on the system (depending on home directory
364 # permissions).
365 #
366 UserDir disabled
367
368 #
369 # To enable requests to /~user/ to serve the user's public_html
370 # directory, remove the "UserDir disabled" line above, and uncomment
371 # the following line instead:
372 #
373 #UserDir public_html
374
375</IfModule>
376
377#
378# Control access to UserDir directories. The following is an example
379# for a site where these directories are restricted to read-only.
380#
381#<Directory /home/*/public_html>
382# AllowOverride FileInfo AuthConfig Limit
383# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
384# <Limit GET POST OPTIONS>
385# Order allow,deny
386# Allow from all
387# </Limit>
388# <LimitExcept GET POST OPTIONS>
389# Order deny,allow
390# Deny from all
391# </LimitExcept>
392#</Directory>
393
394#
395# DirectoryIndex: sets the file that Apache will serve if a directory
396# is requested.
397#
398# The index.html.var file (a type-map) is used to deliver content-
399# negotiated documents. The MultiViews Option can be used for the
400# same purpose, but it is much slower.
401#
402DirectoryIndex index.html index.html.var
403
404#
405# AccessFileName: The name of the file to look for in each directory
406# for additional configuration directives. See also the AllowOverride
407# directive.
408#
409AccessFileName .htaccess
410
411#
412# The following lines prevent .htaccess and .htpasswd files from being
413# viewed by Web clients.
414#
415<Files ~ "^\.ht">
416 Order allow,deny
417 Deny from all
418 Satisfy All
419</Files>
420
421#
422# TypesConfig describes where the mime.types file (or equivalent) is
423# to be found.
424#
425TypesConfig /etc/apache2/mime.types
426
427#
428# DefaultType is the default MIME type the server will use for a document
429# if it cannot otherwise determine one, such as from filename extensions.
430# If your server contains mostly text or HTML documents, "text/plain" is
431# a good value. If most of your content is binary, such as applications
432# or images, you may want to use "application/octet-stream" instead to
433# keep browsers from trying to display binary files as though they are
434# text.
435#
436DefaultType text/plain
437
438#
439# The mod_mime_magic module allows the server to use various hints from the
440# contents of the file itself to determine its type. The MIMEMagicFile
441# directive tells the module where the hint definitions are located.
442#
443<IfModule mod_mime_magic.c>
444# MIMEMagicFile /usr/share/magic.mime
445 MIMEMagicFile conf/magic
446</IfModule>
447
448#
449# HostnameLookups: Log the names of clients or just their IP addresses
450# e.g., www.apache.org (on) or 204.62.129.132 (off).
451# The default is off because it'd be overall better for the net if people
452# had to knowingly turn this feature on, since enabling it means that
453# each client request will result in AT LEAST one lookup request to the
454# nameserver.
455#
456HostnameLookups Off
457
458#
459# EnableMMAP: Control whether memory-mapping is used to deliver
460# files (assuming that the underlying OS supports it).
461# The default is on; turn this off if you serve from NFS-mounted
462# filesystems. On some systems, turning it off (regardless of
463# filesystem) can improve performance; for details, please see
464# http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap
465#
466#EnableMMAP off
467
468#
469# EnableSendfile: Control whether the sendfile kernel support is
470# used to deliver files (assuming that the OS supports it).
471# The default is on; turn this off if you serve from NFS-mounted
472# filesystems. Please see
473# http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile
474#
475#EnableSendfile off
476
477#
478# ErrorLog: The location of the error log file.
479# If you do not specify an ErrorLog directive within a <VirtualHost>
480# container, error messages relating to that virtual host will be
481# logged here. If you *do* define an error logfile for a <VirtualHost>
482# container, that host's errors will be logged there and not here.
483#
484ErrorLog logs/error.log
485
486#
487# LogLevel: Control the number of messages logged to the error.log.
488# Possible values include: debug, info, notice, warn, error, crit,
489# alert, emerg.
490#
491LogLevel warn
492
493#
494# The following directives define some format nicknames for use with
495# a CustomLog directive (see below).
496#
497LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
498LogFormat "%h %l %u %t \"%r\" %>s %b" common
499LogFormat "%{Referer}i -> %U" referer
500LogFormat "%{User-agent}i" agent
501
502# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this
503# requires the mod_logio module to be loaded.
504#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
505
506#
507# The location and format of the access logfile (Common Logfile Format).
508# If you do not define any access logfiles within a <VirtualHost>
509# container, they will be logged here. Contrariwise, if you *do*
510# define per-<VirtualHost> access logfiles, transactions will be
511# logged therein and *not* in this file.
512#
513#CustomLog logs/access.log common
514
515#
516# If you would like to have separate agent and referer logfiles, uncomment
517# the following directives.
518#
519#CustomLog logs/referer.log referer
520#CustomLog logs/agent.log agent
521
522#
523# For a single logfile with access, agent, and referer information
524# (Combined Logfile Format), use the following directive:
525#
526CustomLog logs/access.log combined
527
528#
529# Optionally add a line containing the server version and virtual host
530# name to server-generated pages (internal error documents, FTP directory
531# listings, mod_status and mod_info output etc., but not CGI generated
532# documents or custom error documents).
533# Set to "EMail" to also include a mailto: link to the ServerAdmin.
534# Set to one of: On | Off | EMail
535#
536ServerSignature On
537
538#
539# Aliases: Add here as many aliases as you need (with no limit). The format is
540# Alias fakename realname
541#
542# Note that if you include a trailing / on fakename then the server will
543# require it to be present in the URL. So "/icons" isn't aliased in this
544# example, only "/icons/". If the fakename is slash-terminated, then the
545# realname must also be slash terminated, and if the fakename omits the
546# trailing slash, the realname must also omit it.
547#
548# We include the /icons/ alias for FancyIndexed directory listings. If you
549# do not use FancyIndexing, you may comment this out.
550#
551Alias /icons/ "/usr/share/apache2/icons/"
552
553<Directory "/usr/share/apache2/icons">
554 Options Indexes MultiViews FollowSymLinks
555 AllowOverride None
556 Order allow,deny
557 Allow from all
558</Directory>
559
560#
561# WebDAV module configuration section.
562#
563<IfModule mod_dav_fs.c>
564 # Location of the WebDAV lock database.
565 DAVLockDB /var/lib/dav/lockdb
566</IfModule>
567
568#
569# ScriptAlias: This controls which directories contain server scripts.
570# ScriptAliases are essentially the same as Aliases, except that
571# documents in the realname directory are treated as applications and
572# run by the server when requested rather than as documents sent to the client.
573# The same rules about trailing "/" apply to ScriptAlias directives as to
574# Alias.
575#
576ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
577
578#
579# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
580# CGI directory exists, if you have that configured.
581#
582<Directory "/var/www/cgi-bin">
583 AllowOverride None
584 Options None
585 Order allow,deny
586 Allow from all
587</Directory>
588
589#
590# Redirect allows you to tell clients about documents which used to exist in
591# your server's namespace, but do not anymore. This allows you to tell the
592# clients where to look for the relocated document.
593# Example:
594# Redirect permanent /foo http://www.example.com/bar
595
596#
597# Directives controlling the display of server-generated directory listings.
598#
599
600#
601# IndexOptions: Controls the appearance of server-generated directory
602# listings.
603#
604IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
605
606#
607# AddIcon* directives tell the server which icon to show for different
608# files or filename extensions. These are only displayed for
609# FancyIndexed directories.
610#
611AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
612
613AddIconByType (TXT,/icons/text.gif) text/*
614AddIconByType (IMG,/icons/image2.gif) image/*
615AddIconByType (SND,/icons/sound2.gif) audio/*
616AddIconByType (VID,/icons/movie.gif) video/*
617
618AddIcon /icons/binary.gif .bin .exe
619AddIcon /icons/binhex.gif .hqx
620AddIcon /icons/tar.gif .tar
621AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
622AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
623AddIcon /icons/a.gif .ps .ai .eps
624AddIcon /icons/layout.gif .html .shtml .htm .pdf
625AddIcon /icons/text.gif .txt
626AddIcon /icons/c.gif .c
627AddIcon /icons/p.gif .pl .py
628AddIcon /icons/f.gif .for
629AddIcon /icons/dvi.gif .dvi
630AddIcon /icons/uuencoded.gif .uu
631AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
632AddIcon /icons/tex.gif .tex
633AddIcon /icons/bomb.gif core
634
635AddIcon /icons/back.gif ..
636AddIcon /icons/hand.right.gif README
637AddIcon /icons/folder.gif ^^DIRECTORY^^
638AddIcon /icons/blank.gif ^^BLANKICON^^
639
640#
641# DefaultIcon is which icon to show for files which do not have an icon
642# explicitly set.
643#
644DefaultIcon /icons/unknown.gif
645
646#
647# AddDescription allows you to place a short description after a file in
648# server-generated indexes. These are only displayed for FancyIndexed
649# directories.
650# Format: AddDescription "description" filename
651#
652#AddDescription "GZIP compressed document" .gz
653#AddDescription "tar archive" .tar
654#AddDescription "GZIP compressed tar archive" .tgz
655
656#
657# ReadmeName is the name of the README file the server will look for by
658# default, and append to directory listings.
659#
660# HeaderName is the name of a file which should be prepended to
661# directory indexes.
662ReadmeName README.html
663HeaderName HEADER.html
664
665#
666# IndexIgnore is a set of filenames which directory indexing should ignore
667# and not include in the listing. Shell-style wildcarding is permitted.
668#
669IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
670
671#
672# DefaultLanguage and AddLanguage allows you to specify the language of
673# a document. You can then use content negotiation to give a browser a
674# file in a language the user can understand.
675#
676# Specify a default language. This means that all data
677# going out without a specific language tag (see below) will
678# be marked with this one. You probably do NOT want to set
679# this unless you are sure it is correct for all cases.
680#
681# * It is generally better to not mark a page as
682# * being a certain language than marking it with the wrong
683# * language!
684#
685# DefaultLanguage nl
686#
687# Note 1: The suffix does not have to be the same as the language
688# keyword --- those with documents in Polish (whose net-standard
689# language code is pl) may wish to use "AddLanguage pl .po" to
690# avoid the ambiguity with the common suffix for perl scripts.
691#
692# Note 2: The example entries below illustrate that in some cases
693# the two character 'Language' abbreviation is not identical to
694# the two character 'Country' code for its country,
695# E.g. 'Danmark/dk' versus 'Danish/da'.
696#
697# Note 3: In the case of 'ltz' we violate the RFC by using a three char
698# specifier. There is 'work in progress' to fix this and get
699# the reference data for rfc1766 cleaned up.
700#
701# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)
702# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de)
703# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja)
704# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
705# Norwegian (no) - Polish (pl) - Portugese (pt)
706# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
707# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
708#
709AddLanguage ca .ca
710AddLanguage cs .cz .cs
711AddLanguage da .dk
712AddLanguage de .de
713AddLanguage el .el
714AddLanguage en .en
715AddLanguage eo .eo
716AddLanguage es .es
717AddLanguage et .et
718AddLanguage fr .fr
719AddLanguage he .he
720AddLanguage hr .hr
721AddLanguage it .it
722AddLanguage ja .ja
723AddLanguage ko .ko
724AddLanguage ltz .ltz
725AddLanguage nl .nl
726AddLanguage nn .nn
727AddLanguage no .no
728AddLanguage pl .po
729AddLanguage pt .pt
730AddLanguage pt-BR .pt-br
731AddLanguage ru .ru
732AddLanguage sv .sv
733AddLanguage zh-CN .zh-cn
734AddLanguage zh-TW .zh-tw
735
736#
737# LanguagePriority allows you to give precedence to some languages
738# in case of a tie during content negotiation.
739#
740# Just list the languages in decreasing order of preference. We have
741# more or less alphabetized them here. You probably want to change this.
742#
743LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
744
745#
746# ForceLanguagePriority allows you to serve a result page rather than
747# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
748# [in case no accepted languages matched the available variants]
749#
750ForceLanguagePriority Prefer Fallback
751
752#
753# Specify a default charset for all content served; this enables
754# interpretation of all content as UTF-8 by default. To use the
755# default browser choice (ISO-8859-1), or to allow the META tags
756# in HTML content to override this choice, comment out this
757# directive:
758#
759AddDefaultCharset UTF-8
760
761#
762# AddType allows you to add to or override the MIME configuration
763# file mime.types for specific file types.
764#
765#AddType application/x-tar .tgz
766
767#
768# AddEncoding allows you to have certain browsers uncompress
769# information on the fly. Note: Not all browsers support this.
770# Despite the name similarity, the following Add* directives have nothing
771# to do with the FancyIndexing customization directives above.
772#
773#AddEncoding x-compress .Z
774#AddEncoding x-gzip .gz .tgz
775
776# If the AddEncoding directives above are commented-out, then you
777# probably should define those extensions to indicate media types:
778#
779AddType application/x-compress .Z
780AddType application/x-gzip .gz .tgz
781
782#
783# MIME-types for downloading Certificates and CRLs
784#
785AddType application/x-x509-ca-cert .crt
786AddType application/x-pkcs7-crl .crl
787
788#
789# AddHandler allows you to map certain file extensions to "handlers":
790# actions unrelated to filetype. These can be either built into the server
791# or added with the Action directive (see below)
792#
793# To use CGI scripts outside of ScriptAliased directories:
794# (You will also need to add "ExecCGI" to the "Options" directive.)
795#
796#AddHandler cgi-script .cgi
797
798#
799# For files that include their own HTTP headers:
800#
801#AddHandler send-as-is asis
802
803#
804# For type maps (negotiated resources):
805# (This is enabled by default to allow the Apache "It Worked" page
806# to be distributed in multiple languages.)
807#
808AddHandler type-map var
809
810#
811# Filters allow you to process content before it is sent to the client.
812#
813# To parse .shtml files for server-side includes (SSI):
814# (You will also need to add "Includes" to the "Options" directive.)
815#
816AddType text/html .shtml
817AddOutputFilter INCLUDES .shtml
818
819#
820# Action lets you define media types that will execute a script whenever
821# a matching file is called. This eliminates the need for repeated URL
822# pathnames for oft-used CGI file processors.
823# Format: Action media/type /cgi-script/location
824# Format: Action handler-name /cgi-script/location
825#
826
827#
828# Customizable error responses come in three flavors:
829# 1) plain text 2) local redirects 3) external redirects
830#
831# Some examples:
832#ErrorDocument 500 "The server made a boo boo."
833#ErrorDocument 404 /missing.html
834#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
835#ErrorDocument 402 http://www.example.com/subscription_info.html
836#
837
838#
839# Putting this all together, we can internationalize error responses.
840#
841# We use Alias to redirect any /error/HTTP_<error>.html.var response to
842# our collection of by-error message multi-language collections. We use
843# includes to substitute the appropriate text.
844#
845# You can modify the messages' appearance without changing any of the
846# default HTTP_<error>.html.var files by adding the line:
847#
848# Alias /error/include/ "/your/include/path/"
849#
850# which allows you to create your own set of files by starting with the
851# /var/www/error/include/ files and
852# copying them to /your/include/path/, even on a per-VirtualHost basis.
853#
854
855Alias /error/ "/usr/share/apache2/error/"
856
857<IfModule mod_negotiation.c>
858<IfModule mod_include.c>
859 <Directory "/usr/share/apache2/error">
860 AllowOverride None
861 Options IncludesNoExec
862 AddOutputFilter Includes html
863 AddHandler type-map var
864 Order allow,deny
865 Allow from all
866 LanguagePriority en es de fr
867 ForceLanguagePriority Prefer Fallback
868 </Directory>
869
870# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
871# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
872# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
873# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
874# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
875# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
876# ErrorDocument 410 /error/HTTP_GONE.html.var
877# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
878# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
879# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
880# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
881# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
882# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
883# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
884# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
885# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
886# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
887
888</IfModule>
889</IfModule>
890
891#
892# The following directives modify normal HTTP response behavior to
893# handle known problems with browser implementations.
894#
895BrowserMatch "Mozilla/2" nokeepalive
896BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
897BrowserMatch "RealPlayer 4\.0" force-response-1.0
898BrowserMatch "Java/1\.0" force-response-1.0
899BrowserMatch "JDK/1\.0" force-response-1.0
900
901#
902# The following directive disables redirects on non-GET requests for
903# a directory that does not include the trailing slash. This fixes a
904# problem with Microsoft WebFolders which does not appropriately handle
905# redirects for folders with DAV methods.
906# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
907#
908BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
909BrowserMatch "MS FrontPage" redirect-carefully
910BrowserMatch "^WebDrive" redirect-carefully
911BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
912BrowserMatch "^gnome-vfs/1.0" redirect-carefully
913BrowserMatch "^XML Spy" redirect-carefully
914BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
915
916#
917# Allow server status reports generated by mod_status,
918# with the URL of http://servername/server-status
919# Change the ".example.com" to match your domain to enable.
920#
921#<Location /server-status>
922# SetHandler server-status
923# Order deny,allow
924# Deny from all
925# Allow from .example.com
926#</Location>
927
928#
929# Allow remote server configuration reports, with the URL of
930# http://servername/server-info (requires that mod_info.c be loaded).
931# Change the ".example.com" to match your domain to enable.
932#
933#<Location /server-info>
934# SetHandler server-info
935# Order deny,allow
936# Deny from all
937# Allow from .example.com
938#</Location>
939
940#
941# Proxy Server directives. Uncomment the following lines to
942# enable the proxy server:
943#
944#<IfModule mod_proxy.c>
945#ProxyRequests On
946#
947#<Proxy *>
948# Order deny,allow
949# Deny from all
950# Allow from .example.com
951#</Proxy>
952
953#
954# Enable/disable the handling of HTTP/1.1 "Via:" headers.
955# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
956# Set to one of: Off | On | Full | Block
957#
958#ProxyVia On
959
960#
961# To enable a cache of proxied content, uncomment the following lines.
962# See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details.
963#
964#<IfModule mod_disk_cache.c>
965# CacheEnable disk /
966# CacheRoot "/var/cache/mod_proxy"
967#</IfModule>
968#
969
970#</IfModule>
971# End of proxy directives.
972
973### Section 3: Virtual Hosts
974#
975# VirtualHost: If you want to maintain multiple domains/hostnames on your
976# machine you can setup VirtualHost containers for them. Most configurations
977# use only name-based virtual hosts so the server doesn't need to worry about
978# IP addresses. This is indicated by the asterisks in the directives below.
979#
980# Please see the documentation at
981# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
982# for further details before you try to setup virtual hosts.
983#
984# You may use the command line option '-S' to verify your virtual host
985# configuration.
986
987#
988# Use name-based virtual hosting.
989#
990#NameVirtualHost *:80
991#
992# NOTE: NameVirtualHost cannot be used without a port specifier
993# (e.g. :80) if mod_ssl is being used, due to the nature of the
994# SSL protocol.
995#
996
997#
998# VirtualHost example:
999# Almost any Apache directive may go into a VirtualHost container.
1000# The first VirtualHost section is used for requests without a known
1001# server name.
1002#
1003#<VirtualHost *:80>
1004# ServerAdmin webmaster@dummy-host.example.com
1005# DocumentRoot /var/www/dummy-host.example.com/htdocs
1006# ServerName dummy-host.example.com
1007# ErrorLog logs/dummy-host.example.com-error.log
1008# CustomLog logs/dummy-host.example.com-access.log common
1009#</VirtualHost>