Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37501219
en ru br
ALT Linux repositórios
S:2.4.57-alt2
D:2.2.9-alt11
5.0: 2.2.24-alt2.M50.1
4.1: 2.2.8-alt1
4.0: 2.2.6-alt4
+updates:2.2.6-alt2
3.0: 2.0.55-alt1
+backports:2.0.59-alt0.M30.1

Outros repositórios
Upstream:2.2.8

Group :: Sistema/Servidores
RPM: apache2

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: apache2-2.4.28-alt-all-0.3.patch
Download


diff --git httpd/Makefile.in httpd/Makefile.in
index e822b045f..5fad74bb2 100644
--- httpd/Makefile.in
+++ httpd/Makefile.in
@@ -21,8 +21,11 @@ INSTALL_TARGETS = install-conf install-htdocs install-error install-icons \
 DISTCLEAN_TARGETS  = include/ap_config_auto.h include/ap_config_layout.h \
 	include/apache_probes.h \
 	modules.c config.cache config.log config.status build/config_vars.mk \
-	build/rules.mk docs/conf/httpd.conf docs/conf/extra/*.conf shlibtool \
-	build/pkg/pkginfo build/config_vars.sh
+	build/rules.mk docs/conf/httpd.conf docs/conf/extra-available/*.conf \
+	docs/conf/ports-available/*.conf docs/conf/sites-available/*.conf \
+	docs/conf/mods-available/*.conf docs/conf/mods-available/*.load \
+	docs/conf/include/*.conf \
+	shlibtool build/pkg/pkginfo build/config_vars.sh
 EXTRACLEAN_TARGETS = configure include/ap_config_auto.h.in generated_lists \
 	httpd.spec
 
@@ -33,93 +36,86 @@ install-conf:
 	@echo Installing configuration files
 	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfdir)/extra
 	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra
-	@cd $(top_srcdir)/docs/conf; \
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/include
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/extra-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/extra-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/extra-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/ports-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/ports-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/ports-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/sites-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/sites-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/sites-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/mods-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/mods-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/mods-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/include
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/ports-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/ports-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/ports-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/sites-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/sites-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/sites-start.d
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/mods-available
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/mods-enabled
+	@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/mods-start.d
+	( cd $(top_srcdir)/docs/conf; \
 	for i in mime.types magic; do \
 	    if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \
 	        $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \
 	    fi; \
+	done;)
+	cd docs/conf; \
+	for j in $(DSO_MODULES) "^EOL^"; do \
+		if test $$j != "^EOL^"; then \
+			f_name_load=$$(printf "%s.load" $${j}); \
+			if test -f mods-available/$$f_name_load; then \
+				cat mods-available/$$f_name_load; \
+			else \
+				echo "LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
+			fi | \
+				sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+					-e 's#@@Port@@#$(PORT)#g' \
+					-e 's#@@SSLPort@@#$(SSLPORT)#g' \
+					-e '/@@LoadModule@@/d' \
+				> $(DESTDIR)$(sysconfdir)/original/mods-available/$$f_name_load; \
+			chmod 0644 $(DESTDIR)$(sysconfdir)/original/mods-available/$$f_name_load; \
+			f_name_conf=$$(printf "%s.conf" $${j}); \
+			if test -f mods-available/$$f_name_conf; then \
+				cat mods-available/$$f_name_conf | \
+					sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+						-e 's#@@Port@@#$(PORT)#g' \
+						-e 's#@@SSLPort@@#$(SSLPORT)#g' \
+						-e '/@@LoadModule@@/d' \
+					> $(DESTDIR)$(sysconfdir)/original/mods-available/$$f_name_conf; \
+				chmod 0644 $(DESTDIR)$(sysconfdir)/original/mods-available/$$f_name_conf; \
+			fi; \
+		fi; \
+	done; \
+	for i in include/*.conf extra-available/*.conf ports-available/*.conf sites-available/*.conf; do \
+		cat $$i | \
+			sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+				-e 's#@@Port@@#$(PORT)#g' \
+				-e 's#@@SSLPort@@#$(SSLPORT)#g' \
+				-e '/@@LoadModule@@/d' \
+			> $(DESTDIR)$(sysconfdir)/original/$$i; \
+		chmod 0644 $(DESTDIR)$(sysconfdir)/original/$$i; \
+	done; \
+	cat httpd.conf | \
+		sed -e 's#@@ServerRoot@@#$(prefix)#g' \
+			-e 's#@@Port@@#$(PORT)#g' \
+			-e 's#@@SSLPort@@#$(SSLPORT)#g' \
+			-e '/@@LoadModule@@/d' \
+		> $(DESTDIR)$(sysconfdir)/original/$(PROGRAM_NAME).conf; \
+	chmod 0644 $(DESTDIR)$(sysconfdir)/original/$(PROGRAM_NAME).conf; \
+	for i in $$(cd $(DESTDIR)$(sysconfdir)/original/ && \
+			ls $(PROGRAM_NAME).conf include/*.conf mods-available/*.conf mods-available/*.load extra-available/*.conf ports-available/*.conf sites-available/*.conf); do \
+		$(INSTALL_DATA) $(DESTDIR)$(sysconfdir)/original/$$i $(DESTDIR)$(sysconfdir)/$$i; \
 	done; \
-	for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \
-	    cd $$j ; \
-	    for i in httpd.conf extra/*.conf; do \
-	    	if [ -f $$i ] ; then \
-	    	( \
-	    		n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \
-	    		if test $$n_lm -eq 0 -o "x$(MPM_MODULES)$(DSO_MODULES)" = "x"; then \
-	    			sed -e 's#@@ServerRoot@@#$(prefix)#g' \
-	    				-e 's#@@Port@@#$(PORT)#g' \
-	    				-e 's#@@SSLPort@@#$(SSLPORT)#g' \
-	    				-e '/@@LoadModule@@/d' \
-	    				< $$i; \
-	    		else \
-	    			sed -n -e '/@@LoadModule@@/q' \
-	    				-e 's#@@ServerRoot@@#$(prefix)#g' \
-	    				-e 's#@@Port@@#$(PORT)#g' \
-	    				-e 's#@@SSLPort@@#$(SSLPORT)#g' \
-	    				-e 'p' \
-	    				< $$i; \
-	    			if echo " $(DSO_MODULES) "|$(EGREP) " cgi " > /dev/null ; then \
-	    				have_cgi="1"; \
-	    			else \
-	    				have_cgi="0"; \
-	    			fi; \
-	    			if echo " $(DSO_MODULES) "|$(EGREP) " cgid " > /dev/null ; then \
-	    				have_cgid="1"; \
-	    			else \
-	    				have_cgid="0"; \
-	    			fi; \
-	    			for j in $(MPM_MODULES) "^EOL^"; do \
-	    				if test $$j != "^EOL^"; then \
-	    					if echo ",$(ENABLED_MPM_MODULE),"|$(EGREP) ",$$j," > /dev/null ; then \
-	    						loading_disabled=""; \
-	    					else \
-	    						loading_disabled="#"; \
-	    					fi; \
-						echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
-					fi; \
-	    			done; \
-	    			for j in $(DSO_MODULES) "^EOL^"; do \
-	    				if test $$j != "^EOL^"; then \
-	    					if echo ",$(ENABLED_DSO_MODULES),"|$(EGREP) ",$$j," > /dev/null ; then \
-	    						loading_disabled=""; \
-	    					else \
-	    						loading_disabled="#"; \
-		    					if test "$(LOAD_ALL_MODULES)" = "yes"; then \
-		    						loading_disabled=""; \
-	    						fi; \
-	    					fi; \
-						if test $$j = "cgid" -a "$$have_cgi" = "1"; then \
-							echo "<IfModule !mpm_prefork_module>"; \
-							echo "	$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
-							echo "</IfModule>"; \
-						elif test $$j = "cgi" -a "$$have_cgid" = "1"; then \
-							echo "<IfModule mpm_prefork_module>"; \
-							echo "	$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
-							echo "</IfModule>"; \
-						else \
-							echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
-						fi; \
-					fi; \
-	    			done; \
-	    			sed -e '1,/@@LoadModule@@/d' \
-	    				-e '/@@LoadModule@@/d' \
-	    				-e 's#@@ServerRoot@@#$(prefix)#g' \
-	    				-e 's#@@Port@@#$(PORT)#g' \
-	    				-e 's#@@SSLPort@@#$(SSLPORT)#g' \
-	    				< $$i; \
-	    		fi \
-	    	) > $(DESTDIR)$(sysconfdir)/original/$$i; \
-	    	chmod 0644 $(DESTDIR)$(sysconfdir)/original/$$i; \
-	    	file=$$i; \
-	    	if [ "$$i" = "httpd.conf" ]; then \
-	    		file=`echo $$i|sed s/.*.conf/$(PROGRAM_NAME).conf/`; \
-	    	fi; \
-	    	if test ! -f $(DESTDIR)$(sysconfdir)/$$file; then \
-	    		$(INSTALL_DATA) $(DESTDIR)$(sysconfdir)/original/$$i $(DESTDIR)$(sysconfdir)/$$file; \
-	    	fi; \
-	    	fi; \
-	    done ; \
-	done ; \
 	if test -f "$(builddir)/envvars-std"; then \
 	    cp -p envvars-std $(DESTDIR)$(sbindir); \
 	    if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
diff --git httpd/acinclude.m4 httpd/acinclude.m4
index 51cf130c9..43653f9b1 100644
--- httpd/acinclude.m4
+++ httpd/acinclude.m4
@@ -121,6 +121,12 @@ AC_DEFUN([APACHE_GEN_MAKEFILES],[
   $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
 ])
 
+dnl APACHE_OUTPUT_CONFIGFILES
+dnl ## adds config files to the list of files generated by AC_OUTPUT
+AC_DEFUN([APACHE_OUTPUT_CONFIGFILES],[
+  APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES `find $srcdir/docs/conf -name '*.in'|sed -e "s@$srcdir/\([[^[:space:]]]\+\)\.in@\1@"`"
+])
+
 dnl
 dnl APACHE_TYPE_RLIM_T
 dnl
diff --git httpd/configure.in httpd/configure.in
index 62ed7b0e0..ec5080bda 100644
--- httpd/configure.in
+++ httpd/configure.in
@@ -937,7 +937,8 @@ AC_SUBST(ap_make_delimiter)
 dnl Ensure that docs/conf is created.
 test -d docs/conf||$mkdir_p docs/conf
 
-AC_CONFIG_FILES(docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf docs/conf/extra/proxy-html.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh)
+APACHE_OUTPUT_CONFIGFILES
+AC_CONFIG_FILES(support/a2chkconfig support/a2chkconfig_list support/a2disextra support/a2dismod support/a2disport support/a2dissite support/a2enextra support/a2enmod support/a2enport support/a2ensite support/check_forensic support/modhandler.py  include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh $ac_config_files $APACHE_OUTPUT_FILES)
 AC_CONFIG_COMMANDS([default], [true], [APACHE_GEN_MAKEFILES])
 AC_OUTPUT
 AC_MSG_NOTICE([summary of build options:
diff --git httpd/docs/cgi-examples/printenv httpd/docs/cgi-examples/printenv
index 5b5035e26..bceb4e558 100644
--- httpd/docs/cgi-examples/printenv
+++ httpd/docs/cgi-examples/printenv
@@ -1,4 +1,4 @@
-#
+#!/usr/bin/perl
 
 # To permit this cgi, replace # on the first line above with the
 # appropriate #!/path/to/perl shebang, and on Unix / Linux also
diff --git httpd/docs/conf/extra-available/httpd-autoindex.conf.in httpd/docs/conf/extra-available/httpd-autoindex.conf.in
new file mode 100644
index 000000000..7dec5f109
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-autoindex.conf.in
@@ -0,0 +1,90 @@
+#
+# Summary: Directives controlling the display of server-generated directory listings.
+# Provides: Extra
+#
+
+#
+# Directives controlling the display of server-generated directory listings.
+#
+# Required modules: mod_autoindex, mod_alias
+#
+# To see the listing of a directory, the Options directive for the
+# directory must include "Indexes", and the directory must not contain
+# a file matching those listed in the DirectoryIndex directive.
+#
+
+<IfModule autoindex_module>
+	#
+	# IndexOptions: Controls the appearance of server-generated directory
+	# listings.
+	#
+	IndexOptions FancyIndexing HTMLTable VersionSort
+
+	<IfModule alias_module>
+		#
+		# AddIcon* directives tell the server which icon to show for different
+		# files or filename extensions.  These are only displayed for
+		# FancyIndexed directories.
+		#
+		AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
+
+		AddIconByType (TXT,/icons/text.gif) text/*
+		AddIconByType (IMG,/icons/image2.gif) image/*
+		AddIconByType (SND,/icons/sound2.gif) audio/*
+		AddIconByType (VID,/icons/movie.gif) video/*
+
+		AddIcon /icons/binary.gif .bin .exe
+		AddIcon /icons/binhex.gif .hqx
+		AddIcon /icons/tar.gif .tar
+		AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
+		AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
+		AddIcon /icons/a.gif .ps .ai .eps
+		AddIcon /icons/layout.gif .html .shtml .htm .pdf
+		AddIcon /icons/text.gif .txt
+		AddIcon /icons/c.gif .c
+		AddIcon /icons/p.gif .pl .py
+		AddIcon /icons/f.gif .for
+		AddIcon /icons/dvi.gif .dvi
+		AddIcon /icons/uuencoded.gif .uu
+		AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
+		AddIcon /icons/tex.gif .tex
+		AddIcon /icons/bomb.gif core
+
+		AddIcon /icons/back.gif ..
+		AddIcon /icons/hand.right.gif README
+		AddIcon /icons/folder.gif ^^DIRECTORY^^
+		AddIcon /icons/blank.gif ^^BLANKICON^^
+
+		#
+		# DefaultIcon is which icon to show for files which do not have an icon
+		# explicitly set.
+		#
+		DefaultIcon /icons/unknown.gif
+	</IfModule>
+
+	#
+	# AddDescription allows you to place a short description after a file in
+	# server-generated indexes.  These are only displayed for FancyIndexed
+	# directories.
+	# Format: AddDescription "description" filename
+	#
+	#AddDescription "GZIP compressed document" .gz
+	#AddDescription "tar archive" .tar
+	#AddDescription "GZIP compressed tar archive" .tgz
+
+	#
+	# ReadmeName is the name of the README file the server will look for by
+	# default, and append to directory listings.
+	#
+	# HeaderName is the name of a file which should be prepended to
+	# directory indexes.
+	ReadmeName README.html
+	HeaderName HEADER.html
+
+	#
+	# IndexIgnore is a set of filenames which directory indexing should ignore
+	# and not include in the listing.  Shell-style wildcarding is permitted.
+	#
+	IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+</IfModule>
+
diff --git httpd/docs/conf/extra-available/httpd-dav.conf.in httpd/docs/conf/extra-available/httpd-dav.conf.in
new file mode 100644
index 000000000..8f81ea22b
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-dav.conf.in
@@ -0,0 +1,47 @@
+#
+# Summary: Distributed authoring and versioning (WebDAV)
+# Provides: Extra
+#
+
+#
+# Distributed authoring and versioning (WebDAV)
+#
+# Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias
+#                   mod_auth_digest, mod_authn_file
+#
+
+# The following example gives DAV write access to a directory called
+# "uploads" under the ServerRoot directory.
+#
+# The User/Group specified in httpd.conf needs to have write permissions
+# on the directory where the DavLockDB is placed and on any directory where
+# "Dav On" is specified.
+
+<IfModule alias_module>
+	Alias /uploads "@@ServerRoot@@/uploads"
+</IfModule>
+
+<IfModule dav_module>
+	<Directory "@@ServerRoot@@/uploads">
+		Dav On
+
+		Require all granted
+
+		AuthType Digest
+		AuthName DAV-upload
+
+		<IfModule authn_file_module>
+			# You can use the htdigest program to create the password database:
+			#   htdigest -c "@@ServerRoot@@/user.passwd" DAV-upload admin
+			AuthUserFile "@@ServerRoot@@/user.passwd"
+			AuthDigestProvider file
+		</IfModule>
+
+		# Allow universal read-access, but writes are restricted
+		# to the admin user.
+		<LimitExcept GET OPTIONS>
+			require user admin
+		</LimitExcept>
+	</Directory>
+</IfModule>
+
diff --git httpd/docs/conf/extra-available/httpd-default.conf.in httpd/docs/conf/extra-available/httpd-default.conf.in
new file mode 100644
index 000000000..aab527d1a
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-default.conf.in
@@ -0,0 +1,80 @@
+#
+# Summary: This configuration file reflects default settings for Apache HTTP Server.
+# Provides: Extra
+#
+
+#
+# This configuration file reflects default settings for Apache HTTP Server.
+#
+# You may change these, but chances are that you may not need to.
+#
+
+#
+# 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 5
+
+#
+# UseCanonicalName: Determines how Apache constructs self-referencing
+# URLs and the SERVER_NAME and SERVER_PORT variables.
+# When set "Off", Apache will use the Hostname and Port supplied
+# by the client.  When set "On", Apache will use the value of the
+# ServerName directive.
+#
+UseCanonicalName Off
+
+#
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives.  See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# ServerTokens
+# This directive configures what you return as the Server HTTP response
+# Header. The default is 'Full' which sends information about the OS-Type
+# and compiled in modules.
+# Set to one of:  Full | OS | Minor | Minimal | Major | Prod
+# where Full conveys the most information, and Prod the least.
+#
+ServerTokens Full
+
+#
+# Optionally add a line containing the server version and virtual host
+# name to server-generated pages (internal error documents, FTP directory
+# listings, mod_status and mod_info output etc., but not CGI generated
+# documents or custom error documents).
+# Set to "EMail" to also include a mailto: link to the ServerAdmin.
+# Set to one of:  On | Off | EMail
+#
+ServerSignature On
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
diff --git httpd/docs/conf/extra-available/httpd-icons.conf.in httpd/docs/conf/extra-available/httpd-icons.conf.in
new file mode 100644
index 000000000..36fcce852
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-icons.conf.in
@@ -0,0 +1,21 @@
+#
+# Summary: Icons for server-generated directory listings.
+# Provides: Extra
+#
+
+#
+# Required modules: mod_alias
+#
+
+<IfModule alias_module>
+	# We include the /icons/ alias for FancyIndexed directory listings.  If
+	# you do not use FancyIndexing, you may comment this out.
+	#
+	Alias /icons/ "@exp_iconsdir@/"
+</IfModule>
+
+<Directory "@exp_iconsdir@">
+	Options Indexes MultiViews
+	AllowOverride None
+	Require all granted
+</Directory>
diff --git httpd/docs/conf/extra-available/httpd-info.conf.in httpd/docs/conf/extra-available/httpd-info.conf.in
new file mode 100644
index 000000000..43c097d65
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-info.conf.in
@@ -0,0 +1,42 @@
+#
+# Summary: Get information about the requests being processed by the server and the configuration of the server.
+# Provides: Extra
+#
+
+#
+# Get information about the requests being processed by the server
+# and the configuration of the server.
+#
+# Required modules: mod_status (for the server-status handler),
+#                   mod_info (for the server-info handler)
+
+<IfModule status_module>
+	#
+	# Allow server status reports generated by mod_status,
+	# with the URL of http://servername/server-status
+	# Change the ".example.com" to match your domain to enable.
+
+	<Location /server-status>
+		SetHandler server-status
+		Require host .example.com
+	</Location>
+
+	#
+	# 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
+</IfModule>
+
+<IfModule info_module>
+	#
+	# Allow remote server configuration reports, with the URL of
+	#  http://servername/server-info (requires that mod_info.c be loaded).
+	# Change the ".example.com" to match your domain to enable.
+	#
+	<Location /server-info>
+		SetHandler server-info
+		Require host .example.com
+	</Location>
+</IfModule>
diff --git httpd/docs/conf/extra-available/httpd-languages.conf.in httpd/docs/conf/extra-available/httpd-languages.conf.in
new file mode 100644
index 000000000..28b4a4142
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-languages.conf.in
@@ -0,0 +1,152 @@
+#
+# Summary: Settings for hosting different languages.
+# Provides: Extra
+#
+
+#
+# Settings for hosting different languages.
+#
+# Required modules: mod_mime, mod_negotiation
+
+<IfModule mime_module>
+	# DefaultLanguage and 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 the user can understand.
+	#
+	# Specify a default language. This means that all data
+	# going out without a specific language tag (see below) will
+	# be marked with this one. You probably do NOT want to set
+	# this unless you are sure it is correct for all cases.
+	#
+	# * It is generally better to not mark a page as
+	# * being a certain language than marking it with the wrong
+	# * language!
+	#
+	# DefaultLanguage nl
+	#
+	# 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 some cases
+	# the two character 'Language' abbreviation 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. There is 'work in progress' to fix this and get
+	# the reference data for rfc1766 cleaned up.
+	#
+	# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)
+	# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de)
+	# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja)
+	# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
+	# Norwegian (no) - Polish (pl) - Portugese (pt)
+	# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
+	# Turkish (tr) - Simplified Chinese (zh-CN) - Spanish (es)
+	# Traditional Chinese (zh-TW)
+	#
+	AddLanguage ca .ca
+	AddLanguage cs .cz .cs
+	AddLanguage da .dk
+	AddLanguage de .de
+	AddLanguage el .el
+	AddLanguage en .en
+	AddLanguage eo .eo
+	AddLanguage es .es
+	AddLanguage et .et
+	AddLanguage fr .fr
+	AddLanguage he .he
+	AddLanguage hr .hr
+	AddLanguage it .it
+	AddLanguage ja .ja
+	AddLanguage ko .ko
+	AddLanguage ltz .ltz
+	AddLanguage nl .nl
+	AddLanguage nn .nn
+	AddLanguage no .no
+	AddLanguage pl .po
+	AddLanguage pt .pt
+	AddLanguage pt-BR .pt-br
+	AddLanguage ru .ru
+	AddLanguage sv .sv
+	AddLanguage tr .tr
+	AddLanguage zh-CN .zh-cn
+	AddLanguage zh-TW .zh-tw
+</IfModule>
+
+<IfModule negotiation_module>
+	# LanguagePriority allows you to give precedence to some languages
+	# in case of a tie during content negotiation.
+	#
+	# Just list the languages in decreasing order of preference. We have
+	# more or less alphabetized them here. You probably want to change this.
+	#
+	LanguagePriority 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 tr zh-CN zh-TW
+
+	#
+	# ForceLanguagePriority allows you to serve a result page rather than
+	# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
+	# [in case no accepted languages matched the available variants]
+	#
+	ForceLanguagePriority Prefer Fallback
+</IfModule>
+
+<IfModule mime_module>
+	#
+	# Commonly used filename extensions to character sets. You probably
+	# want to avoid clashes with the language extensions, unless you
+	# are good at carefully testing your setup after each change.
+	# See http://www.iana.org/assignments/character-sets for the
+	# official list of charset names and their respective RFCs.
+	#
+	AddCharset us-ascii    .ascii .us-ascii
+	AddCharset ISO-8859-1  .iso8859-1  .latin1
+	AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
+	AddCharset ISO-8859-3  .iso8859-3  .latin3
+	AddCharset ISO-8859-4  .iso8859-4  .latin4
+	AddCharset ISO-8859-5  .iso8859-5  .cyr .iso-ru
+	AddCharset ISO-8859-6  .iso8859-6  .arb .arabic
+	AddCharset ISO-8859-7  .iso8859-7  .grk .greek
+	AddCharset ISO-8859-8  .iso8859-8  .heb .hebrew
+	AddCharset ISO-8859-9  .iso8859-9  .latin5 .trk
+	AddCharset ISO-8859-10  .iso8859-10  .latin6
+	AddCharset ISO-8859-13  .iso8859-13
+	AddCharset ISO-8859-14  .iso8859-14  .latin8
+	AddCharset ISO-8859-15  .iso8859-15  .latin9
+	AddCharset ISO-8859-16  .iso8859-16  .latin10
+	AddCharset ISO-2022-JP .iso2022-jp .jis
+	AddCharset ISO-2022-KR .iso2022-kr .kis
+	AddCharset ISO-2022-CN .iso2022-cn .cis
+	AddCharset Big5.Big5   .big5 .b5
+	AddCharset cn-Big5 .cn-big5
+	# For russian, more than one charset is used (depends on client, mostly):
+	AddCharset WINDOWS-1251 .cp-1251   .win-1251
+	AddCharset CP866   .cp866
+	AddCharset KOI8  .koi8
+	AddCharset KOI8-E  .koi8-e
+	AddCharset KOI8-r  .koi8-r .koi8-ru
+	AddCharset KOI8-U  .koi8-u
+	AddCharset KOI8-ru .koi8-uk .ua
+	AddCharset ISO-10646-UCS-2 .ucs2
+	AddCharset ISO-10646-UCS-4 .ucs4
+	AddCharset UTF-7   .utf7
+	AddCharset UTF-8   .utf8
+	AddCharset UTF-16  .utf16
+	AddCharset UTF-16BE .utf16be
+	AddCharset UTF-16LE .utf16le
+	AddCharset UTF-32  .utf32
+	AddCharset UTF-32BE .utf32be
+	AddCharset UTF-32LE .utf32le
+	AddCharset euc-cn  .euc-cn
+	AddCharset euc-gb  .euc-gb
+	AddCharset euc-jp  .euc-jp
+	AddCharset euc-kr  .euc-kr
+	#Not sure how euc-tw got in - IANA doesn't list it???
+	AddCharset EUC-TW  .euc-tw
+	AddCharset gb2312  .gb2312 .gb
+	AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2
+	AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4
+	AddCharset shift_jis   .shift_jis .sjis
+</IfModule>
diff --git httpd/docs/conf/extra-available/httpd-manual.conf.in httpd/docs/conf/extra-available/httpd-manual.conf.in
new file mode 100644
index 000000000..4b9f18735
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-manual.conf.in
@@ -0,0 +1,43 @@
+#
+# Summary: Provide access to the documentation on your server
+# Provides: Extra
+#
+
+#
+# Provide access to the documentation on your server as
+#  http://yourserver.example.com/manual/
+# The documentation is always available at
+#  http://httpd.apache.org/docs/2.2/
+#
+# Required modules: mod_alias, mod_setenvif, mod_negotiation
+#
+
+<IfModule alias_module>
+	AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru|tr))?(/.*)?$ "@exp_manualdir@$1"
+</IfModule>
+
+<Directory "@exp_manualdir@">
+	Options Indexes
+	AllowOverride None
+	Require all granted
+
+	<Files *.html>
+		SetHandler type-map
+	</Files>
+	# .tr is text/troff in mime.types!
+	<Files *.html.tr.utf8>
+		ForceType text/html
+	</Files>
+
+	<IfModule setenvif_module>
+		SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru|tr)/ prefer-language=$1
+	</IfModule>
+	<IfModule alias_module>
+		RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|pt-br|ru|tr)){2,}(/.*)?$ /manual/$1$2
+	</IfModule>
+
+	<IfModule negotiation_module>
+		LanguagePriority en de es fr ja ko pt-br ru tr
+		ForceLanguagePriority Prefer Fallback
+	</IfModule>
+</Directory>
diff --git httpd/docs/conf/extra-available/httpd-mime.conf.in httpd/docs/conf/extra-available/httpd-mime.conf.in
new file mode 100644
index 000000000..04c565e50
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-mime.conf.in
@@ -0,0 +1,48 @@
+#
+# Summary: Configure the list of mappings from filename extension to MIME-type.
+# Provides: Extra
+#
+
+<IfModule mime_module>
+	#
+	# AddType allows you to add to or override the MIME configuration
+	# file specified in TypesConfig for specific file types.
+	#
+	#AddType application/x-gzip .tgz
+	#
+	# AddEncoding allows you to have certain browsers uncompress
+	# information on the fly. Note: Not all browsers support this.
+	#
+	#AddEncoding x-compress .Z
+	#AddEncoding x-gzip .gz .tgz
+	#
+	# If the AddEncoding directives above are commented-out, then you
+	# probably should define those extensions to indicate media types:
+	#
+	AddType application/x-compress .Z
+	AddType application/x-gzip .gz .tgz
+
+	#
+	# AddHandler allows you to map certain file extensions to "handlers":
+	# actions unrelated to filetype. These can be either built into the server
+	# or added with the Action directive (see below)
+	#
+	# To use CGI scripts outside of ScriptAliased directories:
+	# (You will also need to add "ExecCGI" to the "Options" directive.)
+	#
+	#AddHandler cgi-script .cgi
+
+	# For type maps (negotiated resources):
+	#AddHandler type-map var
+
+	#
+	# Filters allow you to process content before it is sent to the client.
+	#
+	# To parse .shtml files for server-side includes (SSI):
+	# (You will also need to add "Includes" to the "Options" directive.)
+	#
+	AddType text/html .shtml
+	<IfModule include_module>
+		AddOutputFilter INCLUDES .shtml
+	</IfModule>
+</IfModule>
diff --git httpd/docs/conf/extra-available/httpd-mpm.conf.in httpd/docs/conf/extra-available/httpd-mpm.conf.in
new file mode 100644
index 000000000..b3e83e3b1
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-mpm.conf.in
@@ -0,0 +1,110 @@
+#
+# Server-Pool Management (MPM specific)
+#
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+#
+# Note that this is the default PidFile for most MPMs.
+#
+<IfModule !mpm_netware_module>
+	PidFile "@rel_runtimedir@/httpd.pid"
+</IfModule>
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+<IfModule !mpm_winnt_module>
+	<IfModule !mpm_netware_module>
+              #LockFile "@rel_logfiledir@/accept.lock"
+              Mutex sem
+	</IfModule>
+</IfModule>
+
+#
+# Only one of the below sections will be relevant on your
+# installed httpd.  Use "apachectl -l" to find out the
+# active mpm.
+#
+
+# prefork MPM
+# StartServers: number of server processes to start
+# MinSpareServers: minimum number of server processes which are kept spare
+# MaxSpareServers: maximum number of server processes which are kept spare
+# MaxClients: maximum number of server processes allowed to start
+# MaxRequestsPerChild: maximum number of requests a server process serves
+<IfModule mpm_prefork_module>
+	StartServers          5
+	MinSpareServers       5
+	MaxSpareServers      10
+	MaxClients          150
+	MaxRequestsPerChild   0
+</IfModule>
+
+# worker MPM
+# StartServers: initial number of server processes to start
+# MaxClients: maximum number of simultaneous client connections
+# MinSpareThreads: minimum number of worker threads which are kept spare
+# MaxSpareThreads: maximum number of worker threads which are kept spare
+# ThreadsPerChild: constant number of worker threads in each server process
+# MaxRequestsPerChild: maximum number of requests a server process serves
+<IfModule mpm_worker_module>
+	StartServers          2
+	MaxClients          150
+	MinSpareThreads      25
+	MaxSpareThreads      75
+	ThreadsPerChild      25
+	MaxRequestsPerChild   0
+</IfModule>
+
+# BeOS MPM
+# StartThreads: how many threads do we initially spawn?
+# MaxClients:   max number of threads we can have (1 thread == 1 client)
+# MaxRequestsPerThread: maximum number of requests each thread will process
+<IfModule mpm_beos_module>
+	StartThreads            10
+	MaxClients              50
+	MaxRequestsPerThread 10000
+</IfModule>
+
+# NetWare MPM
+# ThreadStackSize: Stack size allocated for each worker thread
+# StartThreads: Number of worker threads launched at server startup
+# MinSpareThreads: Minimum number of idle threads, to handle request spikes
+# MaxSpareThreads: Maximum number of idle threads
+# MaxThreads: Maximum number of worker threads alive at the same time
+# MaxRequestsPerChild: Maximum  number of requests a thread serves. It is
+#                      recommended that the default value of 0 be set for this
+#                      directive on NetWare.  This will allow the thread to
+#                      continue to service requests indefinitely.
+<IfModule mpm_netware_module>
+	ThreadStackSize      65536
+	StartThreads           250
+	MinSpareThreads         25
+	MaxSpareThreads        250
+	MaxThreads            1000
+	MaxRequestsPerChild      0
+	MaxMemFree             100
+</IfModule>
+
+# OS/2 MPM
+# StartServers: Number of server processes to maintain
+# MinSpareThreads: Minimum number of idle threads per process,
+#                  to handle request spikes
+# MaxSpareThreads: Maximum number of idle threads per process
+# MaxRequestsPerChild: Maximum number of connections per server process
+<IfModule mpm_mpmt_os2_module>
+	StartServers           2
+	MinSpareThreads        5
+	MaxSpareThreads       10
+	MaxRequestsPerChild    0
+</IfModule>
+
+# WinNT MPM
+# ThreadsPerChild: constant number of worker threads in the server process
+# MaxRequestsPerChild: maximum  number of requests a server process serves
+<IfModule mpm_winnt_module>
+    ThreadsPerChild      150
+    MaxRequestsPerChild    0
+</IfModule>
diff --git httpd/docs/conf/extra-available/httpd-multilang-errordoc.conf.in httpd/docs/conf/extra-available/httpd-multilang-errordoc.conf.in
new file mode 100644
index 000000000..991c03ee1
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-multilang-errordoc.conf.in
@@ -0,0 +1,62 @@
+#
+# Summary: The configuration below implements multi-language error documents through content-negotiation
+# Provides: Extra
+#
+
+#
+# The configuration below implements multi-language error documents through
+# content-negotiation.
+#
+# Required modules: mod_alias, mod_include, mod_negotiation
+#
+# We use Alias to redirect any /error/HTTP_<error>.html.var response to
+# our collection of by-error message multi-language collections.  We use
+# includes to substitute the appropriate text.
+#
+# You can modify the messages' appearance without changing any of the
+# default HTTP_<error>.html.var files by adding the line:
+#
+#   Alias /error/include/ "/your/include/path/"
+#
+# which allows you to create your own set of files by starting with the
+# @exp_errordir@/include/ files and copying them to /your/include/path/,
+# even on a per-VirtualHost basis.  The default include files will display
+# your Apache version number and your ServerAdmin email address regardless
+# of the setting of ServerSignature.
+
+<IfModule alias_module>
+	Alias /error/ "@exp_errordir@/"
+</IfModule>
+
+<Directory "@exp_errordir@">
+	AllowOverride None
+	Options IncludesNoExec
+	<IfModule mime_module>
+		AddOutputFilter Includes html
+		AddHandler type-map var
+	</IfModule>
+	Require all granted
+	<IfModule negotiation_module>
+		LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr
+		ForceLanguagePriority Prefer Fallback
+	</IfModule>
+</Directory>
+
+ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
+ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
+ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
+ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
+ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
+ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
+ErrorDocument 410 /error/HTTP_GONE.html.var
+ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
+ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
+ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
+ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
+ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
+ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
+ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
+ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
+ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
+ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
+
diff --git httpd/docs/conf/extra-available/httpd-proxy.conf.in httpd/docs/conf/extra-available/httpd-proxy.conf.in
new file mode 100644
index 000000000..73fb5d70e
--- /dev/null
+++ httpd/docs/conf/extra-available/httpd-proxy.conf.in
@@ -0,0 +1,18 @@
+#
+# Summary: proxy_module configure
+# Provides: Extra
+#
+
+<IfModule proxy_module>
+	<Proxy *>
+		AddDefaultCharset off
+		Require all denied
+		#Require host .example.com
+	</Proxy>
+
+	# Enable/disable the handling of HTTP/1.1 "Via:" headers.
+	# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
+	# Set to one of: Off | On | Full | Block
+
+	ProxyVia On
+</IfModule>
diff --git httpd/docs/conf/include/Directory_cgibin_default.conf.in httpd/docs/conf/include/Directory_cgibin_default.conf.in
new file mode 100644
index 000000000..29fb7f057
--- /dev/null
+++ httpd/docs/conf/include/Directory_cgibin_default.conf.in
@@ -0,0 +1,12 @@
+#
+# Summary: Default config for CGI directory
+# Provides: Directory
+# Provides: Directory-cgi
+#
+
+#
+# "@exp_cgidir@" should be changed to whatever your ScriptAliased
+# CGI directory exists, if you have that configured.
+#
+Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+Require all granted
diff --git httpd/docs/conf/include/Directory_html_default.conf.in httpd/docs/conf/include/Directory_html_default.conf.in
new file mode 100644
index 000000000..53e32f114
--- /dev/null
+++ httpd/docs/conf/include/Directory_html_default.conf.in
@@ -0,0 +1,31 @@
+#
+# Summary: Default config for html documents
+# Provides: Directory
+# Provides: Directory-html
+#
+
+#
+# Possible values for the Options directive are "None", "All",
+# or any combination of:
+#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
+#
+# Note that "MultiViews" must be named *explicitly* --- "Options All"
+# doesn't give it to you.
+#
+# The Options directive is both complicated and important.  Please see
+# http://httpd.apache.org/docs/2.2/mod/core.html#options
+# for more information.
+#
+Options Includes FollowSymLinks MultiViews
+
+#
+# AllowOverride controls what directives may be placed in .htaccess files.
+# It can be "All", "None", or any combination of the keywords:
+#   Options FileInfo AuthConfig Limit
+#
+AllowOverride None
+
+#
+# Controls who can get stuff from this server.
+#
+Require all granted
diff --git httpd/docs/conf/include/Directory_root_default.conf.in httpd/docs/conf/include/Directory_root_default.conf.in
new file mode 100644
index 000000000..bcb8066bc
--- /dev/null
+++ httpd/docs/conf/include/Directory_root_default.conf.in
@@ -0,0 +1,8 @@
+#
+# Summary: Default config for all dirs
+# Provides: Directory
+# Provides: Directory-root
+#
+Options +FollowSymLinks -Indexes
+AllowOverride None
+Require all denied
diff --git httpd/docs/conf/mods-available/actions.load.in httpd/docs/conf/mods-available/actions.load.in
new file mode 100644
index 000000000..ceb36fcb7
--- /dev/null
+++ httpd/docs/conf/mods-available/actions.load.in
@@ -0,0 +1 @@
+LoadModule actions_module @rel_libexecdir@/mod_actions.so
diff --git httpd/docs/conf/mods-available/alias.load.in httpd/docs/conf/mods-available/alias.load.in
new file mode 100644
index 000000000..26a732cf2
--- /dev/null
+++ httpd/docs/conf/mods-available/alias.load.in
@@ -0,0 +1 @@
+LoadModule alias_module @rel_libexecdir@/mod_alias.so
diff --git httpd/docs/conf/mods-available/asis.load.in httpd/docs/conf/mods-available/asis.load.in
new file mode 100644
index 000000000..800b90154
--- /dev/null
+++ httpd/docs/conf/mods-available/asis.load.in
@@ -0,0 +1 @@
+LoadModule asis_module @rel_libexecdir@/mod_asis.so
diff --git httpd/docs/conf/mods-available/auth_basic.load.in httpd/docs/conf/mods-available/auth_basic.load.in
new file mode 100644
index 000000000..cfb2e09bd
--- /dev/null
+++ httpd/docs/conf/mods-available/auth_basic.load.in
@@ -0,0 +1 @@
+LoadModule auth_basic_module @rel_libexecdir@/mod_auth_basic.so
diff --git httpd/docs/conf/mods-available/auth_digest.load.in httpd/docs/conf/mods-available/auth_digest.load.in
new file mode 100644
index 000000000..6260c33cc
--- /dev/null
+++ httpd/docs/conf/mods-available/auth_digest.load.in
@@ -0,0 +1 @@
+LoadModule auth_digest_module @rel_libexecdir@/mod_auth_digest.so
diff --git httpd/docs/conf/mods-available/authn_alias.load.in httpd/docs/conf/mods-available/authn_alias.load.in
new file mode 100644
index 000000000..2fde1b913
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_alias.load.in
@@ -0,0 +1 @@
+LoadModule authn_alias_module @rel_libexecdir@/mod_authn_alias.so
diff --git httpd/docs/conf/mods-available/authn_anon.load.in httpd/docs/conf/mods-available/authn_anon.load.in
new file mode 100644
index 000000000..8a08754a4
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_anon.load.in
@@ -0,0 +1 @@
+LoadModule authn_anon_module @rel_libexecdir@/mod_authn_anon.so
diff --git httpd/docs/conf/mods-available/authn_dbd.load.in httpd/docs/conf/mods-available/authn_dbd.load.in
new file mode 100644
index 000000000..c5dbf067c
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_dbd.load.in
@@ -0,0 +1 @@
+LoadModule authn_dbd_module @rel_libexecdir@/mod_authn_dbd.so
diff --git httpd/docs/conf/mods-available/authn_dbm.load.in httpd/docs/conf/mods-available/authn_dbm.load.in
new file mode 100644
index 000000000..627e6461a
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_dbm.load.in
@@ -0,0 +1 @@
+LoadModule authn_dbm_module @rel_libexecdir@/mod_authn_dbm.so
diff --git httpd/docs/conf/mods-available/authn_default.load.in httpd/docs/conf/mods-available/authn_default.load.in
new file mode 100644
index 000000000..297a282c5
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_default.load.in
@@ -0,0 +1 @@
+LoadModule authn_default_module @rel_libexecdir@/mod_authn_default.so
diff --git httpd/docs/conf/mods-available/authn_file.load.in httpd/docs/conf/mods-available/authn_file.load.in
new file mode 100644
index 000000000..23b67c824
--- /dev/null
+++ httpd/docs/conf/mods-available/authn_file.load.in
@@ -0,0 +1 @@
+LoadModule authn_file_module @rel_libexecdir@/mod_authn_file.so
diff --git httpd/docs/conf/mods-available/authnz_ldap.load.in httpd/docs/conf/mods-available/authnz_ldap.load.in
new file mode 100644
index 000000000..8fde48e24
--- /dev/null
+++ httpd/docs/conf/mods-available/authnz_ldap.load.in
@@ -0,0 +1,2 @@
+# Depends: ldap
+LoadModule authnz_ldap_module @rel_libexecdir@/mod_authnz_ldap.so
diff --git httpd/docs/conf/mods-available/authz_dbm.load.in httpd/docs/conf/mods-available/authz_dbm.load.in
new file mode 100644
index 000000000..901c6e43b
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_dbm.load.in
@@ -0,0 +1 @@
+LoadModule authz_dbm_module @rel_libexecdir@/mod_authz_dbm.so
diff --git httpd/docs/conf/mods-available/authz_default.load.in httpd/docs/conf/mods-available/authz_default.load.in
new file mode 100644
index 000000000..38dcad58c
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_default.load.in
@@ -0,0 +1 @@
+LoadModule authz_default_module @rel_libexecdir@/mod_authz_default.so
diff --git httpd/docs/conf/mods-available/authz_groupfile.load.in httpd/docs/conf/mods-available/authz_groupfile.load.in
new file mode 100644
index 000000000..9d2931978
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_groupfile.load.in
@@ -0,0 +1 @@
+LoadModule authz_groupfile_module @rel_libexecdir@/mod_authz_groupfile.so
diff --git httpd/docs/conf/mods-available/authz_host.load.in httpd/docs/conf/mods-available/authz_host.load.in
new file mode 100644
index 000000000..1f0ef4bd1
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_host.load.in
@@ -0,0 +1 @@
+LoadModule authz_host_module @rel_libexecdir@/mod_authz_host.so
diff --git httpd/docs/conf/mods-available/authz_owner.load.in httpd/docs/conf/mods-available/authz_owner.load.in
new file mode 100644
index 000000000..c49fa0882
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_owner.load.in
@@ -0,0 +1 @@
+LoadModule authz_owner_module @rel_libexecdir@/mod_authz_owner.so
diff --git httpd/docs/conf/mods-available/authz_user.load.in httpd/docs/conf/mods-available/authz_user.load.in
new file mode 100644
index 000000000..74db051cc
--- /dev/null
+++ httpd/docs/conf/mods-available/authz_user.load.in
@@ -0,0 +1 @@
+LoadModule authz_user_module @rel_libexecdir@/mod_authz_user.so
diff --git httpd/docs/conf/mods-available/autoindex.load.in httpd/docs/conf/mods-available/autoindex.load.in
new file mode 100644
index 000000000..c12ca80b1
--- /dev/null
+++ httpd/docs/conf/mods-available/autoindex.load.in
@@ -0,0 +1 @@
+LoadModule autoindex_module @rel_libexecdir@/mod_autoindex.so
diff --git httpd/docs/conf/mods-available/cache.load.in httpd/docs/conf/mods-available/cache.load.in
new file mode 100644
index 000000000..abe2734c8
--- /dev/null
+++ httpd/docs/conf/mods-available/cache.load.in
@@ -0,0 +1 @@
+LoadModule cache_module @rel_libexecdir@/mod_cache.so
diff --git httpd/docs/conf/mods-available/cgi.load.in httpd/docs/conf/mods-available/cgi.load.in
new file mode 100644
index 000000000..dd8738fb3
--- /dev/null
+++ httpd/docs/conf/mods-available/cgi.load.in
@@ -0,0 +1 @@
+LoadModule cgi_module @rel_libexecdir@/mod_cgi.so
diff --git httpd/docs/conf/mods-available/cgid.conf.in httpd/docs/conf/mods-available/cgid.conf.in
new file mode 100644
index 000000000..944879fd8
--- /dev/null
+++ httpd/docs/conf/mods-available/cgid.conf.in
@@ -0,0 +1,8 @@
+# Socket for cgid communication
+<IfModule cgid_module>
+	#
+	# ScriptSock: On threaded servers, designate the path to the UNIX
+	# socket used to communicate with the CGI daemon of mod_cgid.
+	#
+	Scriptsock @rel_runtimedir@/cgisock
+</IfModule>
diff --git httpd/docs/conf/mods-available/cgid.load.in httpd/docs/conf/mods-available/cgid.load.in
new file mode 100644
index 000000000..5f0442e68
--- /dev/null
+++ httpd/docs/conf/mods-available/cgid.load.in
@@ -0,0 +1 @@
+LoadModule cgid_module @rel_libexecdir@/mod_cgid.so
diff --git httpd/docs/conf/mods-available/charset_lite.load.in httpd/docs/conf/mods-available/charset_lite.load.in
new file mode 100644
index 000000000..71a9cc9fb
--- /dev/null
+++ httpd/docs/conf/mods-available/charset_lite.load.in
@@ -0,0 +1 @@
+LoadModule charset_lite_module @rel_libexecdir@/mod_charset_lite.so
diff --git httpd/docs/conf/mods-available/dav.conf.in httpd/docs/conf/mods-available/dav.conf.in
new file mode 100644
index 000000000..f11dd52dc
--- /dev/null
+++ httpd/docs/conf/mods-available/dav.conf.in
@@ -0,0 +1,22 @@
+#
+# Distributed authoring and versioning (WebDAV)
+#
+# Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias
+#                   mod_auth_digest, mod_authn_file
+#
+
+<IfModule setenvif_module>
+	#
+	# The following directives disable redirects on non-GET requests for
+	# a directory that does not include the trailing slash.  This fixes a
+	# problem with several clients that do not appropriately handle
+	# redirects for folders with DAV methods.
+	#
+	BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
+	BrowserMatch "MS FrontPage" redirect-carefully
+	BrowserMatch "^WebDrive" redirect-carefully
+	BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
+	BrowserMatch "^gnome-vfs/1.0" redirect-carefully
+	BrowserMatch "^XML Spy" redirect-carefully
+	BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
+</IfModule>
diff --git httpd/docs/conf/mods-available/dav.load.in httpd/docs/conf/mods-available/dav.load.in
new file mode 100644
index 000000000..0de3741ef
--- /dev/null
+++ httpd/docs/conf/mods-available/dav.load.in
@@ -0,0 +1 @@
+LoadModule dav_module @rel_libexecdir@/mod_dav.so
diff --git httpd/docs/conf/mods-available/dav_fs.conf.in httpd/docs/conf/mods-available/dav_fs.conf.in
new file mode 100644
index 000000000..ba6f0f0fe
--- /dev/null
+++ httpd/docs/conf/mods-available/dav_fs.conf.in
@@ -0,0 +1,8 @@
+<IfModule dav_fs_module>
+	#
+	# The User/Group specified in httpd.conf needs to have write permissions
+	# on the directory where the DavLockDB is placed and on any directory where
+	# "Dav On" is specified.
+
+	DavLockDB "@@ServerRoot@@/lock/DavLock"
+</IfModule>
diff --git httpd/docs/conf/mods-available/dav_fs.load.in httpd/docs/conf/mods-available/dav_fs.load.in
new file mode 100644
index 000000000..12d551152
--- /dev/null
+++ httpd/docs/conf/mods-available/dav_fs.load.in
@@ -0,0 +1,2 @@
+# Depends: dav
+LoadModule dav_fs_module @rel_libexecdir@/mod_dav_fs.so
diff --git httpd/docs/conf/mods-available/dav_lock.load.in httpd/docs/conf/mods-available/dav_lock.load.in
new file mode 100644
index 000000000..0c0c31964
--- /dev/null
+++ httpd/docs/conf/mods-available/dav_lock.load.in
@@ -0,0 +1 @@
+LoadModule dav_lock_module @rel_libexecdir@/mod_dav_lock.so
diff --git httpd/docs/conf/mods-available/dbd.load.in httpd/docs/conf/mods-available/dbd.load.in
new file mode 100644
index 000000000..cb85a802e
--- /dev/null
+++ httpd/docs/conf/mods-available/dbd.load.in
@@ -0,0 +1 @@
+LoadModule dbd_module @rel_libexecdir@/mod_dbd.so
diff --git httpd/docs/conf/mods-available/deflate.conf.in httpd/docs/conf/mods-available/deflate.conf.in
new file mode 100644
index 000000000..a58609bac
--- /dev/null
+++ httpd/docs/conf/mods-available/deflate.conf.in
@@ -0,0 +1,3 @@
+<IfModule deflate_module>
+	AddOutputFilterByType DEFLATE text/html text/plain text/xml
+</IfModule>
diff --git httpd/docs/conf/mods-available/deflate.load.in httpd/docs/conf/mods-available/deflate.load.in
new file mode 100644
index 000000000..7822a41ce
--- /dev/null
+++ httpd/docs/conf/mods-available/deflate.load.in
@@ -0,0 +1 @@
+LoadModule deflate_module @rel_libexecdir@/mod_deflate.so
diff --git httpd/docs/conf/mods-available/dir.conf.in httpd/docs/conf/mods-available/dir.conf.in
new file mode 100644
index 000000000..a5c7c14ab
--- /dev/null
+++ httpd/docs/conf/mods-available/dir.conf.in
@@ -0,0 +1,7 @@
+<IfModule dir_module>
+	#
+	# DirectoryIndex: sets the file that Apache will serve if a directory
+	# is requested.
+	#
+	DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.shtml
+</IfModule>
diff --git httpd/docs/conf/mods-available/dir.load.in httpd/docs/conf/mods-available/dir.load.in
new file mode 100644
index 000000000..2927ac9c8
--- /dev/null
+++ httpd/docs/conf/mods-available/dir.load.in
@@ -0,0 +1 @@
+LoadModule dir_module @rel_libexecdir@/mod_dir.so
diff --git httpd/docs/conf/mods-available/disk_cache.conf.in httpd/docs/conf/mods-available/disk_cache.conf.in
new file mode 100644
index 000000000..d89a41dad
--- /dev/null
+++ httpd/docs/conf/mods-available/disk_cache.conf.in
@@ -0,0 +1,6 @@
+<IfModule disk_cache_module>
+	CacheRoot @htcacheclean_cachepath@
+	CacheEnable disk /
+	CacheDirLevels 5
+	CacheDirLength 3
+</IfModule>
diff --git httpd/docs/conf/mods-available/disk_cache.load.in httpd/docs/conf/mods-available/disk_cache.load.in
new file mode 100644
index 000000000..27fcdf4e9
--- /dev/null
+++ httpd/docs/conf/mods-available/disk_cache.load.in
@@ -0,0 +1,2 @@
+# Depends: cache
+LoadModule disk_cache_module @rel_libexecdir@/mod_disk_cache.so
diff --git httpd/docs/conf/mods-available/env.load.in httpd/docs/conf/mods-available/env.load.in
new file mode 100644
index 000000000..65146d095
--- /dev/null
+++ httpd/docs/conf/mods-available/env.load.in
@@ -0,0 +1 @@
+LoadModule env_module @rel_libexecdir@/mod_env.so
diff --git httpd/docs/conf/mods-available/expires.load.in httpd/docs/conf/mods-available/expires.load.in
new file mode 100644
index 000000000..5d58196bb
--- /dev/null
+++ httpd/docs/conf/mods-available/expires.load.in
@@ -0,0 +1 @@
+LoadModule expires_module @rel_libexecdir@/mod_expires.so
diff --git httpd/docs/conf/mods-available/file_cache.load.in httpd/docs/conf/mods-available/file_cache.load.in
new file mode 100644
index 000000000..ce4a749b0
--- /dev/null
+++ httpd/docs/conf/mods-available/file_cache.load.in
@@ -0,0 +1,2 @@
+# Depends: cache
+LoadModule file_cache_module @rel_libexecdir@/mod_file_cache.so
diff --git httpd/docs/conf/mods-available/filter.load.in httpd/docs/conf/mods-available/filter.load.in
new file mode 100644
index 000000000..bfd22b188
--- /dev/null
+++ httpd/docs/conf/mods-available/filter.load.in
@@ -0,0 +1 @@
+LoadModule filter_module @rel_libexecdir@/mod_filter.so
diff --git httpd/docs/conf/mods-available/headers.load.in httpd/docs/conf/mods-available/headers.load.in
new file mode 100644
index 000000000..af8c20b57
--- /dev/null
+++ httpd/docs/conf/mods-available/headers.load.in
@@ -0,0 +1 @@
+LoadModule headers_module @rel_libexecdir@/mod_headers.so
diff --git httpd/docs/conf/mods-available/ident.load.in httpd/docs/conf/mods-available/ident.load.in
new file mode 100644
index 000000000..1657015a9
--- /dev/null
+++ httpd/docs/conf/mods-available/ident.load.in
@@ -0,0 +1 @@
+LoadModule ident_module @rel_libexecdir@/mod_ident.so
diff --git httpd/docs/conf/mods-available/imagemap.load.in httpd/docs/conf/mods-available/imagemap.load.in
new file mode 100644
index 000000000..e0aafe283
--- /dev/null
+++ httpd/docs/conf/mods-available/imagemap.load.in
@@ -0,0 +1 @@
+LoadModule imagemap_module @rel_libexecdir@/mod_imagemap.so
diff --git httpd/docs/conf/mods-available/include.load.in httpd/docs/conf/mods-available/include.load.in
new file mode 100644
index 000000000..5808241f6
--- /dev/null
+++ httpd/docs/conf/mods-available/include.load.in
@@ -0,0 +1 @@
+LoadModule include_module @rel_libexecdir@/mod_include.so
diff --git httpd/docs/conf/mods-available/info.load.in httpd/docs/conf/mods-available/info.load.in
new file mode 100644
index 000000000..6651ffeb3
--- /dev/null
+++ httpd/docs/conf/mods-available/info.load.in
@@ -0,0 +1 @@
+LoadModule info_module @rel_libexecdir@/mod_info.so
diff --git httpd/docs/conf/mods-available/ldap.load.in httpd/docs/conf/mods-available/ldap.load.in
new file mode 100644
index 000000000..c37d993f5
--- /dev/null
+++ httpd/docs/conf/mods-available/ldap.load.in
@@ -0,0 +1 @@
+LoadModule ldap_module @rel_libexecdir@/mod_ldap.so
diff --git httpd/docs/conf/mods-available/log_config.conf.in httpd/docs/conf/mods-available/log_config.conf.in
new file mode 100644
index 000000000..c17dd0cfb
--- /dev/null
+++ httpd/docs/conf/mods-available/log_config.conf.in
@@ -0,0 +1,33 @@
+#
+# Summary: Loging configure
+# Provides: Extra
+#
+
+<IfModule log_config_module>
+	#
+	# The following directives define some format nicknames for use with
+	# a CustomLog directive (see below).
+	#
+	LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+	LogFormat "%a %l %u %t \"%r\" %>s %b" common
+
+	<IfModule logio_module>
+		# You need to enable mod_logio.c to use %I and %O
+		LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
+	</IfModule>
+
+	#
+	# The location and format of the access logfile (Common Logfile Format).
+	# If you do not define any access logfiles within a <VirtualHost>
+	# container, they will be logged here.  Contrariwise, if you *do*
+	# define per-<VirtualHost> access logfiles, transactions will be
+	# logged therein and *not* in this file.
+	#
+	CustomLog @rel_logfiledir@/access_log common
+
+	#
+	# If you prefer a logfile with access, agent, and referer information
+	# (Combined Logfile Format) you can use the following directive.
+	#
+	#CustomLog @rel_logfiledir@/access_log combined
+</IfModule>
diff --git httpd/docs/conf/mods-available/log_config.load.in httpd/docs/conf/mods-available/log_config.load.in
new file mode 100644
index 000000000..b6e0bfd8a
--- /dev/null
+++ httpd/docs/conf/mods-available/log_config.load.in
@@ -0,0 +1 @@
+LoadModule log_config_module @rel_libexecdir@/mod_log_config.so
diff --git httpd/docs/conf/mods-available/log_forensic.load.in httpd/docs/conf/mods-available/log_forensic.load.in
new file mode 100644
index 000000000..d945e0cfc
--- /dev/null
+++ httpd/docs/conf/mods-available/log_forensic.load.in
@@ -0,0 +1 @@
+LoadModule log_forensic_module @rel_libexecdir@/mod_log_forensic.so
diff --git httpd/docs/conf/mods-available/mem_cache.conf.in httpd/docs/conf/mods-available/mem_cache.conf.in
new file mode 100644
index 000000000..6c3a849f8
--- /dev/null
+++ httpd/docs/conf/mods-available/mem_cache.conf.in
@@ -0,0 +1,12 @@
+#
+# Summary: Default configs for mem_cache_module
+# Provides: Extra
+#
+
+<IfModule mem_cache_module>
+	CacheEnable mem /
+	MCacheSize 4096
+	MCacheMaxObjectCount 100
+	MCacheMinObjectSize 1
+	MCacheMaxObjectSize 2048
+</IfModule>
diff --git httpd/docs/conf/mods-available/mem_cache.load.in httpd/docs/conf/mods-available/mem_cache.load.in
new file mode 100644
index 000000000..d938cf23d
--- /dev/null
+++ httpd/docs/conf/mods-available/mem_cache.load.in
@@ -0,0 +1,2 @@
+# Depends: cache
+LoadModule mem_cache_module @rel_libexecdir@/mod_mem_cache.so
diff --git httpd/docs/conf/mods-available/mime.conf.in httpd/docs/conf/mods-available/mime.conf.in
new file mode 100644
index 000000000..6415b4ec2
--- /dev/null
+++ httpd/docs/conf/mods-available/mime.conf.in
@@ -0,0 +1,7 @@
+<IfModule mime_module>
+	#
+	# TypesConfig points to the file containing the list of mappings from
+	# filename extension to MIME-type.
+	#
+	TypesConfig @rel_sysconfdir@/mime.types
+</IfModule>
diff --git httpd/docs/conf/mods-available/mime.load.in httpd/docs/conf/mods-available/mime.load.in
new file mode 100644
index 000000000..4cb8b9780
--- /dev/null
+++ httpd/docs/conf/mods-available/mime.load.in
@@ -0,0 +1 @@
+LoadModule mime_module @rel_libexecdir@/mod_mime.so
diff --git httpd/docs/conf/mods-available/mime_magic.conf.in httpd/docs/conf/mods-available/mime_magic.conf.in
new file mode 100644
index 000000000..6dac1bc63
--- /dev/null
+++ httpd/docs/conf/mods-available/mime_magic.conf.in
@@ -0,0 +1,13 @@
+#
+# Summary: Default configs for mime_magic_module
+# Provides: Extra
+#
+
+<IfModule mime_magic_module>
+	#
+	# The mod_mime_magic module allows the server to use various hints from the
+	# contents of the file itself to determine its type.  The MIMEMagicFile
+	# directive tells the module where the hint definitions are located.
+	#
+	MIMEMagicFile @rel_sysconfdir@/magic
+</IfModule>
diff --git httpd/docs/conf/mods-available/mime_magic.load.in httpd/docs/conf/mods-available/mime_magic.load.in
new file mode 100644
index 000000000..ca8a9e49c
--- /dev/null
+++ httpd/docs/conf/mods-available/mime_magic.load.in
@@ -0,0 +1 @@
+LoadModule mime_magic_module @rel_libexecdir@/mod_mime_magic.so
diff --git httpd/docs/conf/mods-available/negotiation.load.in httpd/docs/conf/mods-available/negotiation.load.in
new file mode 100644
index 000000000..f481d7768
--- /dev/null
+++ httpd/docs/conf/mods-available/negotiation.load.in
@@ -0,0 +1 @@
+LoadModule negotiation_module @rel_libexecdir@/mod_negotiation.so
diff --git httpd/docs/conf/mods-available/proxy.conf.in httpd/docs/conf/mods-available/proxy.conf.in
new file mode 100644
index 000000000..87a3a0b92
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy.conf.in
@@ -0,0 +1,7 @@
+<IfModule proxy_module>
+	#turning ProxyRequests on and allowing proxying from all may allow
+	#spammers to use your proxy to send email.
+
+	ProxyRequests Off
+
+</IfModule>
diff --git httpd/docs/conf/mods-available/proxy.load.in httpd/docs/conf/mods-available/proxy.load.in
new file mode 100644
index 000000000..da5ec8de0
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy.load.in
@@ -0,0 +1 @@
+LoadModule proxy_module @rel_libexecdir@/mod_proxy.so
diff --git httpd/docs/conf/mods-available/proxy_ajp.load.in httpd/docs/conf/mods-available/proxy_ajp.load.in
new file mode 100644
index 000000000..49dc6b182
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy_ajp.load.in
@@ -0,0 +1,2 @@
+# Depends: proxy
+LoadModule proxy_ajp_module @rel_libexecdir@/mod_proxy_ajp.so
diff --git httpd/docs/conf/mods-available/proxy_balancer.load.in httpd/docs/conf/mods-available/proxy_balancer.load.in
new file mode 100644
index 000000000..cd99e0fec
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy_balancer.load.in
@@ -0,0 +1,2 @@
+# Depends: proxy cache
+LoadModule proxy_balancer_module @rel_libexecdir@/mod_proxy_balancer.so
diff --git httpd/docs/conf/mods-available/proxy_connect.load.in httpd/docs/conf/mods-available/proxy_connect.load.in
new file mode 100644
index 000000000..14b6f1dd2
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy_connect.load.in
@@ -0,0 +1,2 @@
+# Depends: proxy
+LoadModule proxy_connect_module @rel_libexecdir@/mod_proxy_connect.so
diff --git httpd/docs/conf/mods-available/proxy_ftp.load.in httpd/docs/conf/mods-available/proxy_ftp.load.in
new file mode 100644
index 000000000..23127b8ad
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy_ftp.load.in
@@ -0,0 +1,2 @@
+# Depends: proxy
+LoadModule proxy_ftp_module @rel_libexecdir@/mod_proxy_ftp.so
diff --git httpd/docs/conf/mods-available/proxy_http.load.in httpd/docs/conf/mods-available/proxy_http.load.in
new file mode 100644
index 000000000..7b3905174
--- /dev/null
+++ httpd/docs/conf/mods-available/proxy_http.load.in
@@ -0,0 +1,2 @@
+# Depends: proxy
+LoadModule proxy_http_module @rel_libexecdir@/mod_proxy_http.so
diff --git httpd/docs/conf/mods-available/rewrite.load.in httpd/docs/conf/mods-available/rewrite.load.in
new file mode 100644
index 000000000..f5ae2b722
--- /dev/null
+++ httpd/docs/conf/mods-available/rewrite.load.in
@@ -0,0 +1 @@
+LoadModule rewrite_module @rel_libexecdir@/mod_rewrite.so
diff --git httpd/docs/conf/mods-available/setenvif.conf.in httpd/docs/conf/mods-available/setenvif.conf.in
new file mode 100644
index 000000000..6aebc87a2
--- /dev/null
+++ httpd/docs/conf/mods-available/setenvif.conf.in
@@ -0,0 +1,11 @@
+<IfModule setenvif_module>
+	#
+	# The following directives modify normal HTTP response behavior to
+	# handle known problems with browser implementations.
+	#
+	BrowserMatch "Mozilla/2" nokeepalive
+	BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+	BrowserMatch "RealPlayer 4\.0" force-response-1.0
+	BrowserMatch "Java/1\.0" force-response-1.0
+	BrowserMatch "JDK/1\.0" force-response-1.0
+</IfModule>
diff --git httpd/docs/conf/mods-available/setenvif.load.in httpd/docs/conf/mods-available/setenvif.load.in
new file mode 100644
index 000000000..4b670abcc
--- /dev/null
+++ httpd/docs/conf/mods-available/setenvif.load.in
@@ -0,0 +1 @@
+LoadModule setenvif_module @rel_libexecdir@/mod_setenvif.so
diff --git httpd/docs/conf/mods-available/sick-hack-to-update-modules.in httpd/docs/conf/mods-available/sick-hack-to-update-modules.in
new file mode 100644
index 000000000..7169d987a
--- /dev/null
+++ httpd/docs/conf/mods-available/sick-hack-to-update-modules.in
@@ -0,0 +1,8 @@
+#!/bin/bash
+for path in @rel_libexecdir@/*.so; do
+        module=$(echo $path|sed -e 's/.*mod_\(.*\).so/\1/');
+        if [ ! -e ${module}.load ]; then
+                module_name=${module}_module;
+                echo "LoadModule $module_name $path" > ${module}.load;
+        fi;
+done
diff --git httpd/docs/conf/mods-available/speling.load.in httpd/docs/conf/mods-available/speling.load.in
new file mode 100644
index 000000000..8dde7d956
--- /dev/null
+++ httpd/docs/conf/mods-available/speling.load.in
@@ -0,0 +1 @@
+LoadModule speling_module @rel_libexecdir@/mod_speling.so
diff --git httpd/docs/conf/mods-available/ssl.conf.in httpd/docs/conf/mods-available/ssl.conf.in
new file mode 100644
index 000000000..3990f5aa2
--- /dev/null
+++ httpd/docs/conf/mods-available/ssl.conf.in
@@ -0,0 +1,64 @@
+#
+# This is the Apache server configuration file providing SSL support.
+# It contains the configuration directives to instruct the server how to
+# serve pages over an https connection. For detailing information about these
+# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
+#
+# 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.
+#
+
+<IfModule ssl_module>
+	#
+	# Pseudo Random Number Generator (PRNG):
+	# Configure one or more sources to seed the PRNG of the SSL library.
+	# The seed data should be of good random quality.
+	# WARNING! On some platforms /dev/random blocks if not enough entropy
+	# is available. This means you then cannot use the /dev/random device
+	# because it would lead to very long connection times (as long as
+	# it requires to make more entropy available). But usually those
+	# platforms additionally provide a /dev/urandom device which doesn't
+	# block. So, if available, use this one instead. Read the mod_ssl User
+	# Manual for more details.
+	#
+	#SSLRandomSeed startup file:/dev/random  512
+	#SSLRandomSeed startup file:/dev/urandom 512
+	#SSLRandomSeed connect file:/dev/random  512
+	#SSLRandomSeed connect file:/dev/urandom 512
+</IfModule>
+
+##
+##  SSL Global Context
+##
+##  All SSL configuration in this context applies both to
+##  the main server and all SSL-enabled virtual hosts.
+##
+
+<IfModule mime_module>
+	#
+	#   Some MIME-types for downloading Certificates and CRLs
+	#
+	AddType application/x-x509-ca-cert .crt
+	AddType application/x-pkcs7-crl    .crl
+</IfModule>
+
+<IfModule ssl_module>
+	#   Pass Phrase Dialog:
+	#   Configure the pass phrase gathering process.
+	#   The filtering dialog program (`builtin' is a internal
+	#   terminal dialog) has to provide the pass phrase on stdout.
+	SSLPassPhraseDialog  builtin
+
+	#   Inter-Process Session Cache:
+	#   Configure the SSL Session Cache: First the mechanism
+	#   to use and second the expiring timeout (in seconds).
+	#SSLSessionCache         "dbm:@exp_runtimedir@/ssl_scache"
+	SSLSessionCache        "shmcb:@exp_runtimedir@/ssl_scache(512000)"
+	SSLSessionCacheTimeout  300
+
+	#   Semaphore:
+	#   Configure the path to the mutual exclusion semaphore the
+	#   SSL engine uses internally for inter-process synchronization.
+	#SSLMutex  "file:@exp_runtimedir@/ssl_mutex"
+	Mutex default ssl-cache
diff --git httpd/docs/conf/mods-available/ssl.load.in httpd/docs/conf/mods-available/ssl.load.in
new file mode 100644
index 000000000..a698a3d57
--- /dev/null
+++ httpd/docs/conf/mods-available/ssl.load.in
@@ -0,0 +1 @@
+LoadModule ssl_module @rel_libexecdir@/mod_ssl.so
diff --git httpd/docs/conf/mods-available/status.load.in httpd/docs/conf/mods-available/status.load.in
new file mode 100644
index 000000000..4ebf8441e
--- /dev/null
+++ httpd/docs/conf/mods-available/status.load.in
@@ -0,0 +1 @@
+LoadModule status_module @rel_libexecdir@/mod_status.so
diff --git httpd/docs/conf/mods-available/suexec.load.in httpd/docs/conf/mods-available/suexec.load.in
new file mode 100644
index 000000000..f5ddf3a05
--- /dev/null
+++ httpd/docs/conf/mods-available/suexec.load.in
@@ -0,0 +1 @@
+LoadModule suexec_module @rel_libexecdir@/mod_suexec.so
diff --git httpd/docs/conf/mods-available/unique_id.load.in httpd/docs/conf/mods-available/unique_id.load.in
new file mode 100644
index 000000000..ae944104d
--- /dev/null
+++ httpd/docs/conf/mods-available/unique_id.load.in
@@ -0,0 +1 @@
+LoadModule unique_id_module @rel_libexecdir@/mod_unique_id.so
diff --git httpd/docs/conf/mods-available/userdir.conf.in httpd/docs/conf/mods-available/userdir.conf.in
new file mode 100644
index 000000000..c1aa81d28
--- /dev/null
+++ httpd/docs/conf/mods-available/userdir.conf.in
@@ -0,0 +1,28 @@
+# Settings for user home directories
+#
+# Required module: mod_userdir
+
+<IfModule userdir_module>
+	#
+	# UserDir: The name of the directory that is appended onto a user's home
+	# directory if a ~user request is received.  Note that you must also set
+	# the default access control for these directories, as in the example below.
+	#
+	UserDir public_html
+	UserDir disabled root
+
+	#
+	# Control access to UserDir directories.  The following is an example
+	# for a site where these directories are restricted to read-only.
+	#
+	<Directory "/home/*/public_html">
+		AllowOverride FileInfo AuthConfig Limit Indexes
+		Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+		<Limit GET POST OPTIONS>
+			Require all granted
+		</Limit>
+		<LimitExcept GET POST OPTIONS>
+			Require all denied
+		</LimitExcept>
+	</Directory>
+</IfModule>
diff --git httpd/docs/conf/mods-available/userdir.load.in httpd/docs/conf/mods-available/userdir.load.in
new file mode 100644
index 000000000..53dc724e7
--- /dev/null
+++ httpd/docs/conf/mods-available/userdir.load.in
@@ -0,0 +1 @@
+LoadModule userdir_module @rel_libexecdir@/mod_userdir.so
diff --git httpd/docs/conf/mods-available/usertrack.load.in httpd/docs/conf/mods-available/usertrack.load.in
new file mode 100644
index 000000000..b57cee452
--- /dev/null
+++ httpd/docs/conf/mods-available/usertrack.load.in
@@ -0,0 +1 @@
+LoadModule usertrack_module @rel_libexecdir@/mod_usertrack.so
diff --git httpd/docs/conf/mods-available/version.load.in httpd/docs/conf/mods-available/version.load.in
new file mode 100644
index 000000000..33d66e5d9
--- /dev/null
+++ httpd/docs/conf/mods-available/version.load.in
@@ -0,0 +1 @@
+LoadModule version_module @rel_libexecdir@/mod_version.so
diff --git httpd/docs/conf/mods-available/vhost_alias.load.in httpd/docs/conf/mods-available/vhost_alias.load.in
new file mode 100644
index 000000000..a0960167a
--- /dev/null
+++ httpd/docs/conf/mods-available/vhost_alias.load.in
@@ -0,0 +1 @@
+LoadModule vhost_alias_module @rel_libexecdir@/mod_vhost_alias.so
diff --git httpd/docs/conf/ports-available/http.conf.in httpd/docs/conf/ports-available/http.conf.in
new file mode 100644
index 000000000..b91c07e1b
--- /dev/null
+++ httpd/docs/conf/ports-available/http.conf.in
@@ -0,0 +1,16 @@
+#
+# Summary: Set @@Port@@ port listen
+# Provides: Listen
+# Provides: Listen-default
+#
+
+#
+# Listen: Allows you to bind Apache to specific IP addresses and/or
+# ports, instead of the default. See also the <VirtualHost>
+# directive.
+#
+# Change this to Listen on specific IP addresses as shown below to
+# prevent Apache from glomming onto all bound IP addresses.
+#
+#Listen 12.34.56.78:80
+Listen @@Port@@
diff --git httpd/docs/conf/ports-available/https.conf.in httpd/docs/conf/ports-available/https.conf.in
new file mode 100644
index 000000000..72fa3e08a
--- /dev/null
+++ httpd/docs/conf/ports-available/https.conf.in
@@ -0,0 +1,17 @@
+#
+# Summary: Set 443 port for https listen
+# Provides: Listen
+# Provides: Listen-https
+# Provides: Listen-https-default
+#
+
+<IfModule ssl_module>
+	#
+	# When we also provide SSL we have to listen to the
+	# standard HTTP port (see above) and to the HTTPS port
+	#
+	# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
+	#       Listen directives: "Listen [::]:@@SSLPort@@" and "Listen 0.0.0.0:@@SSLPort@@"
+	#
+	Listen @@SSLPort@@
+</IfModule>
diff --git httpd/docs/conf/sites-available/default.conf.in httpd/docs/conf/sites-available/default.conf.in
new file mode 100644
index 000000000..9016aad69
--- /dev/null
+++ httpd/docs/conf/sites-available/default.conf.in
@@ -0,0 +1,147 @@
+#
+# Summary: Main server configuration (for default virtual host)
+# Provides: VirtualHost
+# Provides: VirtualHost-default
+#
+
+#
+# '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
+# <VirtualHost> definition.  These values also provide defaults for
+# any <VirtualHost> containers you may define later in the file.
+#
+# All of these directives may appear inside <VirtualHost> containers,
+# in which case these default settings will be overridden for the
+# virtual host being defined.
+#
+
+<VirtualHost *>
+	#
+	# ServerAdmin: Your address, where problems with the server should be
+	# e-mailed.  This address appears on some server-generated pages, such
+	# as error documents.  e.g. admin@your-domain.com
+	#
+	ServerAdmin your@localhost
+
+	#
+	# ServerName gives the name and port that the server uses to identify itself.
+	# This can often be determined automatically, but we recommend you specify
+	# it explicitly to prevent problems during startup.
+	#
+	# If your host doesn't have a registered DNS name, enter its IP address here.
+	#
+	#ServerName www.example.com:80
+
+	#
+	# DocumentRoot: The directory out of which you will serve your
+	# documents. By default, all requests are taken from this directory, but
+	# symbolic links and aliases may be used to point to other locations.
+	#
+	DocumentRoot "@exp_htdocsdir@"
+
+	#
+	# Each directory to which Apache has access can be configured with respect
+	# to which services and features are allowed and/or disabled in that
+	# directory (and its subdirectories).
+	#
+	# First, we configure the "default" to be a very restrictive set of
+	# features.
+	#
+	<Directory />
+		# Summary: Configure for all dirs by default
+		# Requires: Directory-root
+		Include @rel_sysconfdir@/include/Directory_root_default.conf
+	</Directory>
+
+	#
+	# Note that from this point forward you must specifically allow
+	# particular features to be enabled - so if something's not working as
+	# you might expect, make sure that you have specifically enabled it
+	# below.
+	#
+
+	#
+	# This should be changed to whatever you set DocumentRoot to.
+	#
+	<Directory "@exp_htdocsdir@">
+		# Summary: Configure for html documents in DocumentRoot
+		# Requires: Directory-html
+		Include @rel_sysconfdir@/include/Directory_html_default.conf
+	</Directory>
+
+	#
+	# 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 @rel_logfiledir@/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
+
+	<IfModule log_config_module>
+		#
+		# The location and format of the access logfile (Common Logfile Format).
+		# If you do not define any access logfiles within a <VirtualHost>
+		# container, they will be logged here.  Contrariwise, if you *do*
+		# define per-<VirtualHost> access logfiles, transactions will be
+		# logged therein and *not* in this file.
+		#
+		CustomLog @rel_logfiledir@/access_log common
+
+		#
+		# If you prefer a logfile with access, agent, and referer information
+		# (Combined Logfile Format) you can use the following directive.
+		#
+		#CustomLog @rel_logfiledir@/access_log combined
+	</IfModule>
+
+	<IfModule alias_module>
+		#
+		# Redirect: Allows you to tell clients about documents that used to
+		# exist in your server's namespace, but do not anymore. The client
+		# will make a new request for the document at its new location.
+		# Example:
+		# Redirect permanent /foo http://www.example.com/bar
+
+		#
+		# Alias: Maps web paths into filesystem paths and is used to
+		# access content that does not live under the DocumentRoot.
+		# Example:
+		# Alias /webpath /full/filesystem/path
+		#
+		# If you include a trailing / on /webpath then the server will
+		# require it to be present in the URL.  You will also likely
+		# need to provide a <Directory> section to allow access to
+		# the filesystem path.
+
+		#
+		# ScriptAlias: This controls which directories contain server scripts.
+		# ScriptAliases are essentially the same as Aliases, except that
+		# documents in the target directory are treated as applications and
+		# run by the server when requested rather than as documents sent to the
+		# client.  The same rules about trailing "/" apply to ScriptAlias
+		# directives as to Alias.
+		#
+		ScriptAlias /cgi-bin/ "@exp_cgidir@/"
+
+	</IfModule>
+
+	#
+	# "@exp_cgidir@" should be changed to whatever your ScriptAliased
+	# CGI directory exists, if you have that configured.
+	#
+	<Directory "@exp_cgidir@">
+		# Summary: Configure for default CGI directory
+		# Requires: Directory-cgi
+		Include @rel_sysconfdir@/include/Directory_cgibin_default.conf
+	</Directory>
+</VirtualHost>
diff --git httpd/docs/conf/sites-available/default_https.conf.in httpd/docs/conf/sites-available/default_https.conf.in
new file mode 100644
index 000000000..256afae70
--- /dev/null
+++ httpd/docs/conf/sites-available/default_https.conf.in
@@ -0,0 +1,203 @@
+#
+# Summary: Default server configuration for https
+# Provides: VirtualHost
+# Provides: VirtualHost-https
+# Provides: VirtualHost-https-default
+#
+
+#
+# This is the Apache server configuration file providing SSL support.
+# It contains the configuration directives to instruct the server how to
+# serve pages over an https connection. For detailing information about these
+# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
+#
+# 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.
+#
+
+<IfModule ssl_module>
+	##
+	## SSL Virtual Host Context
+	##
+
+	<VirtualHost _default_:@@SSLPort@@>
+
+		#   General setup for the virtual host
+		DocumentRoot "@exp_htdocsdir@"
+		ServerName www.example.com:@@SSLPort@@
+		ServerAdmin you@example.com
+		ErrorLog "@exp_logfiledir@/error_log"
+		TransferLog "@exp_logfiledir@/access_log"
+
+		#   SSL Engine Switch:
+		#   Enable/Disable SSL for this virtual host.
+		SSLEngine on
+
+		#   SSL Protocol support:
+		#   List the protocol versions which clients are allowed to
+		#   connect with. Disable SSLv2 by default (cf. RFC 6176).
+		SSLProtocol all -SSLv2
+
+		#   SSL Cipher Suite:
+		#   List the ciphers that the client is permitted to negotiate.
+		#   See the mod_ssl documentation for a complete list.
+		SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
+
+		#   Speed-optimized SSL Cipher configuration:
+		#   If speed is your main concern (on busy HTTPS servers e.g.),
+		#   you might want to force clients to specific, performance
+		#   optimized ciphers. In this case, prepend those ciphers
+		#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
+		#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
+		#   (as in the example below), most connections will no longer
+		#   have perfect forward secrecy - if the server's key is
+		#   compromised, captures of past or future traffic must be
+		#   considered compromised, too.
+		#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
+		#SSLHonorCipherOrder on
+
+		#   Server Certificate:
+		#   Point SSLCertificateFile at a PEM encoded certificate.  If
+		#   the certificate is encrypted, then you will be prompted for a
+		#   pass phrase.  Note that a kill -HUP will prompt again.  Keep
+		#   in mind that if you have both an RSA and a DSA certificate you
+		#   can configure both in parallel (to also allow the use of DSA
+		#   ciphers, etc.)
+		SSLCertificateFile "@@SSLCertificateFile@@"
+		#SSLCertificateFile "@@SSLCertificateFile-dsa@@"
+
+		#   Server Private Key:
+		#   If the key is not combined with the certificate, use this
+		#   directive to point at the key file.  Keep in mind that if
+		#   you've both a RSA and a DSA private key you can configure
+		#   both in parallel (to also allow the use of DSA ciphers, etc.)
+		SSLCertificateKeyFile "@@SSLCertificateKeyFile@@"
+		#SSLCertificateKeyFile "@@SSLCertificateKeyFile-dsa@@"
+
+		#   Server Certificate Chain:
+		#   Point SSLCertificateChainFile at a file containing the
+		#   concatenation of PEM encoded CA certificates which form the
+		#   certificate chain for the server certificate. Alternatively
+		#   the referenced file can be the same as SSLCertificateFile
+		#   when the CA certificates are directly appended to the server
+		#   certificate for convinience.
+		#SSLCertificateChainFile "@@SSLCertificateChainFile@@"
+
+		#   Certificate Authority (CA):
+		#   Set the CA certificate verification path where to find CA
+		#   certificates for client authentication or alternatively one
+		#   huge file containing all of them (file must be PEM encoded)
+		#   Note: Inside SSLCACertificatePath you need hash symlinks
+		#         to point to the certificate files. Use the provided
+		#         Makefile to update the hash symlinks after changes.
+		#SSLCACertificatePath "@@SSLCACertificatePath@@"
+		#SSLCACertificateFile "@@SSLCACertificateFile@@"
+
+		#   Certificate Revocation Lists (CRL):
+		#   Set the CA revocation path where to find CA CRLs for client
+		#   authentication or alternatively one huge file containing all
+		#   of them (file must be PEM encoded)
+		#   Note: Inside SSLCARevocationPath you need hash symlinks
+		#         to point to the certificate files. Use the provided
+		#         Makefile to update the hash symlinks after changes.
+		#SSLCARevocationPath "@@SSLCARevocationPath@@"
+		#SSLCARevocationFile "@@SSLCARevocationFile@@"
+
+		#   Client Authentication (Type):
+		#   Client certificate verification type and depth.  Types are
+		#   none, optional, require and optional_no_ca.  Depth is a
+		#   number which specifies how deeply to verify the certificate
+		#   issuer chain before deciding the certificate is not valid.
+		#SSLVerifyClient require
+		#SSLVerifyDepth  10
+
+		#   Access Control:
+		#   With SSLRequire you can do per-directory access control based
+		#   on arbitrary complex boolean expressions containing server
+		#   variable checks and other lookup directives.  The syntax is a
+		#   mixture between C and Perl.  See the mod_ssl documentation
+		#   for more details.
+		#<Location />
+		#	SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
+		#	            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+		#	            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
+		#	            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
+		#	            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
+		#	           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+		#</Location>
+
+		#   SSL Engine Options:
+		#   Set various options for the SSL engine.
+		#   o FakeBasicAuth:
+		#     Translate the client X.509 into a Basic Authorisation.  This means that
+		#     the standard Auth/DBMAuth methods can be used for access control.  The
+		#     user name is the `one line' version of the client's X.509 certificate.
+		#     Note that no password is obtained from the user. Every entry in the user
+		#     file needs this password: `xxj31ZMTZzkVA'.
+		#   o ExportCertData:
+		#     This exports two additional environment variables: SSL_CLIENT_CERT and
+		#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
+		#     server (always existing) and the client (only existing when client
+		#     authentication is used). This can be used to import the certificates
+		#     into CGI scripts.
+		#   o StdEnvVars:
+		#     This exports the standard SSL/TLS related `SSL_*' environment variables.
+		#     Per default this exportation is switched off for performance reasons,
+		#     because the extraction step is an expensive operation and is usually
+		#     useless for serving static content. So one usually enables the
+		#     exportation for CGI and SSI requests only.
+		#   o StrictRequire:
+		#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
+		#     under a "Satisfy any" situation, i.e. when it applies access is denied
+		#     and no other module can change it.
+		#   o OptRenegotiate:
+		#     This enables optimized SSL connection renegotiation handling when SSL
+		#     directives are used in per-directory context.
+		#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
+		<FilesMatch "\.(cgi|shtml|phtml|php)$">
+			SSLOptions +StdEnvVars
+		</FilesMatch>
+		<Directory "@exp_cgidir@">
+			SSLOptions +StdEnvVars
+		</Directory>
+
+		<IfModule setenvif_module>
+			#   SSL Protocol Adjustments:
+			#   The safe and default but still SSL/TLS standard compliant shutdown
+			#   approach is that mod_ssl sends the close notify alert but doesn't wait for
+			#   the close notify alert from client. When you need a different shutdown
+			#   approach you can use one of the following variables:
+			#   o ssl-unclean-shutdown:
+			#     This forces an unclean shutdown when the connection is closed, i.e. no
+			#     SSL close notify alert is send or allowed to received.  This violates
+			#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
+			#     this when you receive I/O errors because of the standard approach where
+			#     mod_ssl sends the close notify alert.
+			#   o ssl-accurate-shutdown:
+			#     This forces an accurate shutdown when the connection is closed, i.e. a
+			#     SSL close notify alert is send and mod_ssl waits for the close notify
+			#     alert of the client. This is 100% SSL/TLS standard compliant, but in
+			#     practice often causes hanging connections with brain-dead browsers. Use
+			#     this only for browsers where you know that their SSL implementation
+			#     works correctly.
+			#   Notice: Most problems of broken clients are also related to the HTTP
+			#   keep-alive facility, so you usually additionally want to disable
+			#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
+			#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
+			#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
+			#   "force-response-1.0" for this.
+			BrowserMatch "MSIE [2-5]" \
+				nokeepalive ssl-unclean-shutdown \
+				downgrade-1.0 force-response-1.0
+		</IfModule>
+
+		<IfModule log_config_module>
+			#   Per-Server Logging:
+			#   The home of a custom SSL log file. Use this when you want a
+			#   compact non-error SSL logfile on a virtual host basis.
+			CustomLog "@exp_logfiledir@/ssl_request_log" \
+				  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+		</IfModule>
+	</VirtualHost>
+</IfModule>
diff --git httpd/docs/conf/sites-available/vhosts.conf.in httpd/docs/conf/sites-available/vhosts.conf.in
new file mode 100644
index 000000000..dfbc515c2
--- /dev/null
+++ httpd/docs/conf/sites-available/vhosts.conf.in
@@ -0,0 +1,47 @@
+#
+# Summary: Use name-based virtual hosting for *:@@Port@@
+# Provides: NameVirtualHost
+#
+
+#
+# Virtual Hosts
+#
+# If you want to maintain multiple domains/hostnames on your
+# machine you can setup VirtualHost containers for them. Most configurations
+# use only name-based virtual hosts so the server doesn't need to worry about
+# IP addresses. This is indicated by the asterisks in the directives below.
+#
+# Please see the documentation at
+# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
+# for further details before you try to setup virtual hosts.
+#
+# You may use the command line option '-S' to verify your virtual host
+# configuration.
+
+#
+# Use name-based virtual hosting.
+#
+NameVirtualHost *:@@Port@@
+
+#
+# VirtualHost example:
+# Almost any Apache directive may go into a VirtualHost container.
+# The first VirtualHost section is used for all requests that do not
+# match a ServerName or ServerAlias in any <VirtualHost> block.
+#
+#<VirtualHost *:@@Port@@>
+#	ServerAdmin webmaster@dummy-host.example.com
+#	DocumentRoot "@vhosts_dir@/dummy-host.example.com"
+#	ServerName dummy-host.example.com
+#	ServerAlias www.dummy-host.example.com
+#	ErrorLog "@rel_logfiledir@/dummy-host.example.com-error_log"
+#	CustomLog "@rel_logfiledir@/dummy-host.example.com-access_log common"
+#</VirtualHost>
+#
+#<VirtualHost *:@@Port@@>
+#	ServerAdmin webmaster@dummy-host2.example.com
+#	DocumentRoot "@vhosts_dir@/dummy-host.example.com"
+#	ServerName dummy-host2.example.com
+#	ErrorLog "@rel_logfiledir@/dummy-host2.example.com-error_log"
+#	CustomLog "@rel_logfiledir@/dummy-host2.example.com-access_log common"
+#</VirtualHost>
diff --git httpd/docs/man/a2chkconfig.8 httpd/docs/man/a2chkconfig.8
new file mode 100644
index 000000000..bcda395bb
--- /dev/null
+++ httpd/docs/man/a2chkconfig.8
@@ -0,0 +1,39 @@
+.TH "A2CHKCONFIG" 8 "2007-04-06" "Apache HTTP Server" "a2chkconfig"
+
+.SH NAME
+.B a2chkconfig
+is an utility for apache2 autostart modification.
+
+.SH "SYNOPSIS"
+.PP
+.B a2chkconfig
+
+.SH "SUMMARY"
+.B a2chkconfig
+reads configuration files from conf/*-start.d/* and creates or removes symbolic links in corresponding /etc/httpd2/conf/*-enabled.
+
+Syntax of configuration files in directories conf/*-start.d:
+
+NAME={yes,no}
+
+where NAME is a filename in corresponding conf/*-available.
+
+.SH "EXAMPLE"
+If you want to disable mod_alias you have to edit file /etc/httpd2/conf/mods-start.d/000-default.conf and change parameter alias to "no". You can see that symbolic link "alias.load" removed from directory /etc/httpd2/conf/mods-enabled.d
+
+.SH "BUGS"
+Configuration files in conf/*-start.d/* must have new line at the end of file.
+
+.SH "AUTHOR"
+Written by Andrew Avramenko with help of Aleksey Avdeev.
+
+.SH "COPYRIGHT"
+Copyright \(co 2007. ALT Linux TEAM.
+.br
+
+.br
+This  is  free  software.   You  may  redistribute  copies  of  it  under   the   terms   of   the   GNU   General   Public   License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the extent permitted by law.
+
+.SH "SEE ALSO"
+.B a2enmod(8) a2dismod(8) a2enextra(8) a2disextra(8) a2ensite(8) a2dissite(8) apachectl(8)
diff --git httpd/docs/man/a2dismod.8 httpd/docs/man/a2dismod.8
new file mode 100644
index 000000000..302eac1b8
--- /dev/null
+++ httpd/docs/man/a2dismod.8
@@ -0,0 +1 @@
+.so man8/a2enmod.8
diff --git httpd/docs/man/a2enmod.8 httpd/docs/man/a2enmod.8
new file mode 100644
index 000000000..1649a55ca
--- /dev/null
+++ httpd/docs/man/a2enmod.8
@@ -0,0 +1,73 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH A2ENMOD 8 "12 October 2006"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+a2enmod, a2dismod \- enable or disable an apache2 module
+.SH SYNOPSIS
+.B a2enmod
+.RI [ module ]
+.PP
+.B a2dismod
+.RI [ module ]
+.SH DESCRIPTION
+This manual page documents briefly the
+.B a2enmod
+and
+.B a2dismod
+commands.
+.PP
+.B a2enmod
+is a script that enables the specified module within the
+.B apache2
+configuration.  It does this by creating symlinks within
+.BR /etc/apache2/mods-enabled .
+Likewise,
+.B a2dismod
+disables a module by removing those symlinks.  It is not an error to
+enable a module which is already enabled, or to disable one which is
+already disabled.
+.SH NOTE
+.B a2enmod
+also enables the module in the conf/mods-start.d/* files to prevent the module explicitly enabled from being disabled after update.
+.B a2dismod
+disables module in conf/mods-start.d/* for the same reason.
+.SH EXAMPLES
+.RS
+.B "a2enmod imagemap"
+.br
+.B "a2dismod mime_magic"
+.RE
+.PP
+Enables the
+.B mod_imagemap
+module, and disables the
+.B mod_mime_magic
+module.
+.SH FILES
+.TP
+.B /etc/apache2/mods-available
+Directory with files giving information on available modules.
+.TP
+.B /etc/apache2/mods-enabled
+Directory with links to the files in
+.B mods-available
+for enabled modules.
+.SH "SEE ALSO"
+.BR apache2ctl (8).
+.SH AUTHOR
+This manual page was written by Daniel Stone <daniel@sfarc.net> for the Debian
+GNU/Linux distribution, as it is a Debian-specific script with the package.
diff --git httpd/docs/man/check_forensic.8 httpd/docs/man/check_forensic.8
new file mode 100644
index 000000000..afb8fcd62
--- /dev/null
+++ httpd/docs/man/check_forensic.8
@@ -0,0 +1,15 @@
+.TH check_forensic 8
+.SH NAME
+check_forensic \- tool to extract mod_log_forensic output from apache log files
+.SH SYNOPSIS
+.B check_forensic
+<log_file>
+.SH "DESCRIPTION"
+chech_forensic is a simple shell script designed to help apache administrators
+to extract mod_log_forensic output from apache, apache-ssl and apache-perl
+log files.
+.PP
+.SH AUTHOR
+This manual page was written by Fabio M. Di Nitto
+<fabbione@fabbione.net>, for the Debian GNU/Linux system
+(but may be used by others).
diff --git httpd/docs/man/checkgid.8 httpd/docs/man/checkgid.8
new file mode 100644
index 000000000..6dfab9c2c
--- /dev/null
+++ httpd/docs/man/checkgid.8
@@ -0,0 +1,36 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH CHECKGID 8 "November 3rd, 2001"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+checkgid \- checks the gid
+.SH SYNOPSIS
+.B checkgid group
+.SH DESCRIPTION
+This manual page documents briefly the
+.B checkgid
+command.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBcheckgid\fP is a program that checks whether it can setgid to the group
+specified. This is to see if it is a valid group for apache2 to use at runtime.
+If the user (should be run as superuser) is in that group, or can setgid to it,
+it will return 0.
+.SH AUTHOR
+This manual page was written by Daniel Stone <daniel@sfarc.net> for the Debian
+GNU/Linux distribution, as the original did not have a manpage.
diff --git httpd/support/a2chkconfig.in httpd/support/a2chkconfig.in
new file mode 100644
index 000000000..32dd4034c
--- /dev/null
+++ httpd/support/a2chkconfig.in
@@ -0,0 +1,55 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+SBINDIR='@sbindir@'
+
+GetNameUtil()
+{
+	local d="$1"
+	local f="$2"
+	local com suf
+	case "x$f" in
+		x[yY][eE][sS])
+			com="en"
+			;;
+		x[nN][oO])
+			com="dis"
+			;;
+		*)
+			return -1
+			;;
+	esac
+	case "x$d" in
+		xmods)
+			suf="mod"
+			;;
+		xports)
+			suf="port"
+			;;
+		xsites)
+			suf="site"
+			;;
+		xextra)
+			suf="extra"
+			;;
+		*)
+			return -1
+			;;
+	esac
+	printf 'a2%s%s' $com $suf
+}
+
+
+SetLinks()
+{
+	local d n f com
+	$SBINDIR/a2chkconfig_list | \
+			while read d n f; do
+				com=`GetNameUtil $d $f`
+				$SBINDIR/$com $n ||:
+			done
+}
+
+SetLinks
+
+find -L $SYSCONFDIR/*-enabled -maxdepth 1 -type l -delete
diff --git httpd/support/a2chkconfig_list.in httpd/support/a2chkconfig_list.in
new file mode 100644
index 000000000..3b7e86de4
--- /dev/null
+++ httpd/support/a2chkconfig_list.in
@@ -0,0 +1,94 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+SetVar()
+{
+	local s n f vn p
+	p="$1"
+	shift
+	s="$@"
+	s=`echo "$s" | \
+		sed -ne '/^[[:space:]]*[0-9a-zA-Z._-]\{1,\}\(=\|[[:space:]]\{1,\}\)\([Yy][Ee][Ss]\|[Nn][Oo]\)\([[:space:]].*\|\)$/s/^[[:space:]]*\([0-9a-zA-Z._-]\{1,\}\)\(=\|[[:space:]]\{1,\}\)\([Yy][Ee][Ss]\|[Nn][Oo]\)\([[:space:]].*\|\)$/\1 \3/p'`
+	if [ "x$s" == "x" ]; then
+		continue
+	fi
+	f=`echo $s | cut -d" " -f2`
+	n=`echo $s | cut -d" " -f1`
+	vn=`echo "$n" | sed -e 's/[-.]/_/g'`
+	eval ${p}_FILE_$vn=$n
+	eval ${p}_$vn=$f
+}
+
+SetVars()
+{
+	local c s d p
+	d="$1"
+	p="$2"
+	for c in $SYSCONFDIR/$d-start.d/*.conf; do
+		if [ ! -f "$c" ]; then
+			break
+		fi
+		while read s; do
+			SetVar "$p" "$s"
+		done < "$c"
+		SetVar "$p" "$s"
+	done
+}
+
+PrintConf()
+{
+	local c s n f vn d p e
+	d="$1"
+	p="$2"
+	r="$3"
+	for vn in `ls -1 --quoting-style=shell $SYSCONFDIR/$d-available/*.$r 2>/dev/null | \
+			sed -e "s,$SYSCONFDIR/$d-available/\(.*\).$r,\1,g" -e "s/[-.]/_/g"`; do
+		local pvn pfvn rez
+		pvn=${p}_$vn
+		pfvn=${p}_FILE_$vn
+		eval f=\$$pvn
+		eval n=\$$pfvn
+		case "x$f" in
+			x[yY][eE][sS])
+				rez="yes"
+				;;
+			x[nN][oO])
+				rez="no"
+				;;
+			*)
+				continue
+				;;
+		esac
+		echo "$d $n $rez"
+	done
+}
+
+case "x$1" in
+	xmods)
+		SetVars mods MOD
+		PrintConf mods MOD load
+		;;
+	xports)
+		SetVars ports PORT
+		PrintConf ports PORT conf
+		;;
+	xsites)
+		SetVars sites SITE
+		PrintConf sites SITE conf
+		;;
+	xextra)
+		SetVars extra EXTRA
+		PrintConf extra EXTRA conf
+		;;
+	*)
+		SetVars ports PORT
+		PrintConf ports PORT conf
+		SetVars extra EXTRA
+		PrintConf extra EXTRA conf
+		SetVars sites SITE
+		PrintConf sites SITE conf
+		SetVars mods MOD
+		PrintConf mods MOD load
+		;;
+esac
diff --git httpd/support/a2disextra.in httpd/support/a2disextra.in
new file mode 100644
index 000000000..123732caf
--- /dev/null
+++ httpd/support/a2disextra.in
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which extra config would you like to disable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/extra-enabled/*.conf | \
+	sed -e "s,$SYSCONFDIR/extra-enabled/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Extra config name? "
+	read CONFNAME
+else
+	CONFNAME=$1
+fi
+
+if ! [ -e "$SYSCONFDIR/extra-enabled/$CONFNAME.conf" ]; then
+	echo "Extra config $CONFNAME.conf is already disabled, or does not exist!"
+	exit 1
+fi
+
+rm "$SYSCONFDIR/extra-enabled/$CONFNAME.conf" 2>/dev/null
+echo "Extra config $CONFNAME disabled;"
+echo "	run service httpd2 condreload to fully disable."
diff --git httpd/support/a2dismod.in httpd/support/a2dismod.in
new file mode 100644
index 000000000..506384f49
--- /dev/null
+++ httpd/support/a2dismod.in
@@ -0,0 +1,41 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which module would you like to disable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/mods-enabled/*.load | \
+	sed -e "s,$SYSCONFDIR/mods-enabled/,,g" | sed -e 's/\.load$//g;' | xargs echo
+	echo -n "Module name? "
+	read MODNAME
+else
+	MODNAME=$1
+fi
+
+DEPENDS=`grep -l "# Depends:.*$MODNAME" $SYSCONFDIR/mods-enabled/*.load| sed -e "s,$SYSCONFDIR/mods-enabled/,,g" | sed -e 's/\.load$//g;'`
+#for i in $DEPENDS; do
+#	a2dismod ${i%.load};
+#done
+if [ ! -z "$DEPENDS" ]; then
+	echo "The following modules depend on the module you requested be uninstalled:"
+	echo "$DEPENDS"
+	echo "Please uninstall these first"
+	exit 1
+fi
+
+if ! [ -L "$SYSCONFDIR/mods-enabled/$MODNAME.load" ]; then
+	if [ -e "$SYSCONFDIR/mods-available/$MODNAME.load" ]; then
+		rm -f $SYSCONFDIR/mods-enabled/$MODNAME.*
+		echo "Module $MODNAME already disabled"
+		exit 0
+	fi
+	rm -f $SYSCONFDIR/mods-enabled/$MODNAME.*
+	echo "Module $MODNAME does not exist!"
+	exit 1
+fi
+
+rm -f $SYSCONFDIR/mods-enabled/$MODNAME.*
+sed -i -e "s/^$MODNAME=yes/$MODNAME=no/" $SYSCONFDIR/mods-start.d/*.conf
+echo "Module $MODNAME disabled;"
+echo "	run service httpd2 condreload to fully disable."
diff --git httpd/support/a2disport.in httpd/support/a2disport.in
new file mode 100644
index 000000000..599277b63
--- /dev/null
+++ httpd/support/a2disport.in
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which port config would you like to disable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/ports-enabled/*.conf | \
+	sed -e "s,$SYSCONFDIR/ports-enabled/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Port config name? "
+	read CONFNAME
+else
+	CONFNAME=$1
+fi
+
+if ! [ -e "$SYSCONFDIR/ports-enabled/$CONFNAME.conf" ]; then
+	echo "Port config $CONFNAME.conf is already disabled, or does not exist!"
+	exit 1
+fi
+
+rm "$SYSCONFDIR/ports-enabled/$CONFNAME.conf" 2>/dev/null
+echo "Port config $CONFNAME disabled;"
+echo "	run service httpd2 condreload to fully disable."
diff --git httpd/support/a2dissite.in httpd/support/a2dissite.in
new file mode 100644
index 000000000..c5a8fc1c7
--- /dev/null
+++ httpd/support/a2dissite.in
@@ -0,0 +1,30 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which site would you like to disable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/sites-enabled/*.conf | \
+	sed -e "s,$SYSCONFDIR/sites-enabled/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Site name? "
+	read SITENAME
+else
+	SITENAME=$1
+fi
+
+if [ ${SITENAME:0:7} = "default" ]; then
+	PRIORITY="000"
+fi
+
+if ! [ -e "$SYSCONFDIR/sites-enabled/$SITENAME.conf" -o \
+       -e "$SYSCONFDIR/sites-enabled/$PRIORITY-$SITENAME.conf" ]; then
+	echo "Site config $CONFNAME.conf is already disabled, or does not exist!"
+	exit 1
+fi
+
+if ! rm "$SYSCONFDIR/sites-enabled/$SITENAME.conf" 2>/dev/null; then
+	rm -f "$SYSCONFDIR/sites-enabled/$PRIORITY-$SITENAME.conf"
+fi
+echo "Site $SITENAME disabled;"
+echo "	run service httpd2 condreload to fully disable."
diff --git httpd/support/a2enextra.in httpd/support/a2enextra.in
new file mode 100644
index 000000000..9211d5e1b
--- /dev/null
+++ httpd/support/a2enextra.in
@@ -0,0 +1,31 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which extra config would you like to enable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/extra-available/*.conf | \
+	sed -e "s,$SYSCONFDIR/extra-available/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Extra config name? "
+	read CONFNAME
+else
+	CONFNAME=$1
+fi
+
+if [ -e "$SYSCONFDIR/extra-enabled/$CONFNAME.conf" -o \
+     -e "$SYSCONFDIR/extra-enabled/$PRIORITY-$CONFNAME.conf" ]; then
+	echo "Extra config $CONFNAME.conf is already enabled!"
+	exit 0
+fi
+
+if ! [ -e "$SYSCONFDIR/extra-available/$CONFNAME.conf" ]; then
+	echo "Extra config $CONFNAME.conf does not exist!"
+	exit 1
+fi
+
+ln -sf ../extra-available/$CONFNAME.conf \
+	"$SYSCONFDIR/extra-enabled/$CONFNAME.conf"
+
+echo "Extra config $CONFNAME installed;"
+echo "	run service httpd2 condreload to fully enable."
diff --git httpd/support/a2enmod.in httpd/support/a2enmod.in
new file mode 100644
index 000000000..efc353416
--- /dev/null
+++ httpd/support/a2enmod.in
@@ -0,0 +1,45 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which module would you like to enable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/mods-available/*.load | \
+	sed -e "s,$SYSCONFDIR/mods-available/,,g" | sed -e 's/\.load$//g;' | xargs echo
+	echo -n "Module name? "
+	read MODNAME
+else
+	MODNAME=$1
+fi
+
+if ! [ -e "$SYSCONFDIR/mods-available/$MODNAME.load" ]; then
+	echo "File $MODNAME.load does not exist!"
+	exit 1
+fi
+
+# Set depends
+DEPENDS=`grep "# Depends:" $SYSCONFDIR/mods-available/$MODNAME.load|cut -f2 -d:`
+if [ ! -z "$DEPENDS" ]; then
+	for i in $DEPENDS; do
+		echo "Enabling $i as a dependency"
+		/usr/sbin/a2enmod "$i";
+	done
+fi
+
+# Set this module
+if [ -e "$SYSCONFDIR/mods-enabled/$MODNAME.load" ]; then
+	echo "Module $MODNAME is already enabled!"
+else
+        cd "$SYSCONFDIR/mods-enabled";
+        ln -sf ../mods-available/$MODNAME.load "$MODNAME.load";
+fi
+
+if [ -e "$SYSCONFDIR/mods-available/$MODNAME.conf" -a ! -e "$SYSCONFDIR/mods-enabled/$MODNAME.conf" ]; then
+        cd "$SYSCONFDIR/mods-enabled";
+        ln -sf ../mods-available/$MODNAME.conf "$MODNAME.conf";
+fi
+
+sed -i -e "s/^$MODNAME=no/$MODNAME=yes/" $SYSCONFDIR/mods-start.d/*.conf
+echo "Module $MODNAME installed;"
+echo "	run service httpd2 condreload to fully enable."
diff --git httpd/support/a2enport.in httpd/support/a2enport.in
new file mode 100644
index 000000000..2d502eb66
--- /dev/null
+++ httpd/support/a2enport.in
@@ -0,0 +1,30 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which port config would you like to enable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/ports-available/*.conf | \
+	sed -e "s,$SYSCONFDIR/ports-available/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Port config name? "
+	read CONFNAME
+else
+	CONFNAME=$1
+fi
+
+if [ -e "$SYSCONFDIR/ports-enabled/$CONFNAME.conf" ]; then
+	echo "Port config $CONFNAME.conf is already enabled!"
+	exit 0
+fi
+
+if ! [ -e "$SYSCONFDIR/ports-available/$CONFNAME.conf" ]; then
+	echo "Port config $CONFNAME.conf does not exist!"
+	exit 1
+fi
+
+ln -sf ../ports-available/$CONFNAME.conf \
+	$SYSCONFDIR/ports-enabled/$CONFNAME.conf
+
+echo "Port config $CONFNAME installed;"
+echo "	run service httpd2 condreload to fully enable."
diff --git httpd/support/a2ensite.in httpd/support/a2ensite.in
new file mode 100644
index 000000000..6986042b3
--- /dev/null
+++ httpd/support/a2ensite.in
@@ -0,0 +1,40 @@
+#!/bin/sh -e
+
+SYSCONFDIR='@exp_sysconfdir@'
+
+if [ -z "$1" ]; then
+	echo "Which site would you like to enable?"
+	echo -n "Your choices are: "
+	ls $SYSCONFDIR/sites-available/*.conf | \
+	sed -e "s,$SYSCONFDIR/sites-available/\(.*\).conf,\1,g" | xargs echo
+	echo -n "Site name? "
+	read SITENAME
+else
+	SITENAME="$1"
+fi
+
+if [ "${SITENAME:0:7}" = "default" ]; then
+	PRIORITY="000"
+fi
+
+if [ -e "$SYSCONFDIR/sites-enabled/$SITENAME.conf" -o \
+     -e "$SYSCONFDIR/sites-enabled/$PRIORITY-$SITENAME.conf" ]; then
+	echo "Site config $CONFNAME.confThis site is already enabled!"
+	exit 0
+fi
+
+if ! [ -e "$SYSCONFDIR/sites-available/$SITENAME.conf" ]; then
+	echo "Site config $CONFNAME.conf does not exist!"
+	exit 1
+fi
+
+if [ "$PRIORITY" = "000" ]; then
+	ln -sf ../sites-available/$SITENAME.conf \
+		"$SYSCONFDIR/sites-enabled/$PRIORITY-$SITENAME.conf"
+else
+	ln -sf ../sites-available/$SITENAME.conf \
+		"$SYSCONFDIR/sites-enabled/$SITENAME.conf"
+fi
+
+echo "Site $SITENAME installed;"
+echo "	run service httpd2 condreload to fully enable."
diff --git httpd/support/check_forensic.in httpd/support/check_forensic.in
new file mode 100644
index 000000000..3c8123fcb
--- /dev/null
+++ httpd/support/check_forensic.in
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# check_forensic <forensic log file>
+
+# check the forensic log for requests that did not complete
+# output the request log for each one
+
+F=$1
+
+temp_create_method=file
+if test -f `which mktemp`; then
+  temp_create_method=mktemp
+elif test -f `which tempfile`; then
+  temp_create_method=tempfile
+fi
+
+create_temp()
+{
+  prefix=$1
+  case "$temp_create_method" in
+    file)
+      name="/tmp/$1.$$"
+      ;;
+    mktemp)
+      name=`mktemp -t $1.XXXXXX`
+      ;;
+    tempfile)
+      name=`tempfile --prefix=$1`
+      ;;
+    *)
+      echo "$0: Cannot create temporary file"
+      exit 1
+      ;;
+  esac
+}
+
+create_temp fcall
+all=$name
+create_temp fcin
+in=$name
+create_temp fcout
+out=$name
+trap "rm -f -- \"$all\" \"$in\" \"$out\";" 0 1 2 3 13 15
+
+cut -f 1 -d '|' $F  > $all
+grep + < $all | cut -c2- | sort > $in
+grep -- - < $all | cut -c2- | sort > $out
+
+# use -i instead of -I for GNU xargs
+join -v 1 $in $out | xargs -I xx egrep "^\\+xx" $F
+exit 0
diff --git httpd/support/modhandler.py.in httpd/support/modhandler.py.in
new file mode 100644
index 000000000..5bbd8f86a
--- /dev/null
+++ httpd/support/modhandler.py.in
@@ -0,0 +1,190 @@
+#!/usr/bin/env python
+# Copyright (C) Thom May 2002
+#All rights reserved.
+
+#Redistribution and use in source and binary forms, with or without
+#modification, are permitted provided that the following conditions
+#are met:
+#1. Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+
+#THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+#IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+#OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+#IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+#NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+#THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#TODO: add --force option
+
+import shelve, textwrap
+
+__all__ = ["ModHandler", "ModHandlerException", "ModuleAlreadyExists", "NoSuchModule"]
+
+class ModHandlerException(Exception):
+    pass
+
+class ModuleAlreadyExists(ModHandlerException):
+    def __init__(self, name):
+        self.args = name
+        self.name = name
+
+class NoSuchModule(ModHandlerException):
+    def __init__(self, name):
+        self.args = name
+        self.name = name
+
+class ModHandler:
+    def __init__(self, db):
+        self.registry = shelve.open(db,"c",writeback=True)
+        self.revision = "$LastChangedRevision: 19 $"
+
+    def add(self,module,sequence=99,*dependencies):
+        """add(module[, sequence, *dependencies])
+
+        Add a module into the registry ready for enabling.
+        module is the name of the module
+        sequence is the sequence number of the module. The default is 99
+        any further arguments define dependencies for the module"""
+
+        if __debug__: print "The module is", module, "and the sequence number is",sequence,"\n"
+        state = "disabled"
+        #now we create a tuple
+        # name, sequence, state, [dependencies]
+        if len(dependencies) > 0:
+            entry = module, sequence, state, 0, dependencies
+        else:
+            entry = module, sequence, state, 0
+
+        if self.registry.has_key(module):
+            raise ModuleAlreadyExists(module)
+
+        self.registry[module] = entry
+        return 0
+
+    def dolist(self):
+        """dolist (no arguments)
+        lists all the current elements in the database."""
+
+        for key in self.registry.keys():
+             print textwrap.fill("The name of the key is %s and the data in the key is: %s" % (key , self.registry[key][:3]))
+             if len(self.registry[key]) > 4:
+                print textwrap.fill("The dependencies for %s are: %s\n" % (key ,  self.registry[key][4]))
+             if self.registry[key][3] > 0:
+                 print textwrap.fill("%s is in use %s times\n" % (key, self.registry[key][3]))
+             print
+
+    def remove(self,module):
+        if __debug__: print "Plotting to remove",module,"\n"
+        try:
+            self.disable(module)
+            del self.registry[module]
+            if __debug__: print "Removed",module
+        except KeyError:
+            raise NoSuchModule(module)
+        return 0
+
+    def enable(self,module,isdependency=False,*dependseq):
+        """enable(module,[dependseq])
+
+        enable takes one or two arguments. in normal opperation, just the module
+        name is passed. When being run recursively to fix dependencies, the
+        dependency sequence of the depending module is also passed"""
+
+        try:
+             data = self.registry[module]
+        except KeyError:
+            raise NoSuchModule(module)
+
+        #now, we check to see if our sequence number is higher than the module that's depending on us
+        #if so, we bump our sequence number down to one less than the depending module
+        changedseqnum = True
+        seqnum = data[1]
+        if __debug__: print module+": seqnum "+str(seqnum)
+        if len(dependseq) > 0:
+             if __debug__: print module+": dependseq "+str(dependseq[0])
+             if int(seqnum) > int(dependseq[0]):
+                oldseqnum = seqnum
+                seqnum = int(dependseq[0])
+                seqnum = seqnum - 1
+                if __debug__:
+                    print module +": punting old seqnum:",str(oldseqnum)," to new seqnum:",str(seqnum)
+                    print "new seqnum:",str(seqnum)
+                #changedseqnum = True
+             else:
+                changedseqnum = False
+
+        #next, we need to load any dependencies.
+        #this is complicated by the need to get the sequence right.
+        if len(data) > 4:
+             dependencies = data[4]
+             if __debug__: print dependencies
+             for dependency in dependencies:
+                  if __debug__: print dependency
+                  returncode = self.enable(dependency,True,seqnum)
+                  if __debug__: print returncode
+
+        #now, we check whether the module is loaded already
+        if data[2] == "enabled" and changedseqnum == False:
+              #nothing more to do.
+              return
+        else:
+              self.switchon(module,seqnum)
+
+        refcount = data[3]
+        if isdependency:
+            refcount += 1
+
+        #ok, nothing has broken. Only now do we update the module's status.
+        #it would be nice to provide some semblance of atomicity to the
+        #operation
+        if len(data) < 5:
+            newstatus = module, seqnum, "enabled", refcount
+        else:
+            newstatus = module, seqnum, "enabled", refcount, dependencies
+
+        self.registry[module] = newstatus
+
+    def disable(self,module):
+        """disable(module) marks a module as disabled"""
+
+        #this might require some form of refcounting so we can work out if any
+        #unneeded dependencies can be unloaded as well, for example with mod_dav
+        #and its providers, such as dav_fs or dav_svn - but not till the basic
+        #functionality works ;-)
+
+
+        try:
+            data = self.registry[module]
+        except KeyError:
+            raise NoSuchModule(module)
+        if data[2] == "disabled":
+            return
+
+        if __debug__: print "shutting",module,"down\n"
+
+        #try:
+        self.switchoff(module,data[1])
+
+        if len(data) < 4:
+            newstatus = module, data[1], "disabled"
+        else:
+             newstatus = module, data[1], "disabled", data[3]
+
+        self.registry[module] = newstatus
+
+    def version(self, versionnum):
+
+        print "The version of the client is",versionnum
+        print "The revision number of ModHandler is %s" % self.revision.strip('$').split(':')[1].strip()
+
+    def switchon(self,module,seqnum): pass
+
+    def switchoff(self,module): pass
diff --git httpd/support/update-apache2-modules.in httpd/support/update-apache2-modules.in
new file mode 100644
index 000000000..6021e38d7
--- /dev/null
+++ httpd/support/update-apache2-modules.in
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+# Copyright (C) Thom May 2002
+#All rights reserved.
+
+#Redistribution and use in source and binary forms, with or without
+#modification, are permitted provided that the following conditions
+#are met:
+#1. Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+
+#THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+#IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+#OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+#IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+#NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+#THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import getopt, sys, os
+from modhandler import *
+
+versionnum = 0.8
+class A2ModHandler(ModHandler):
+    def switchon(self,module,seqnum):
+        if __debug__: print "switching on %s%s" % (seqnum,module)
+        availloadstring = "@rel_sysconfdir@/mods-available/"+module+".load"
+        enableloadstring = "@rel_sysconfdir@/mods-enabled/"+str(seqnum)+module+".load"
+        availconfstring = "@rel_sysconfdir@/mods-available/"+module+".conf"
+        enableconfstring = "@rel_sysconfdir@/mods-enabled/"+str(seqnum)+module+".conf"
+        if os.path.exists(availloadstring) and not os.path.exists(enableloadstring):
+            os.symlink(availloadstring,enableloadstring)
+        else:
+            return
+
+        if os.path.exists(availconfstring) and not os.path.exists(enableconfstring):
+            os.symlink(availconfstring,enableconfstring)
+        else:
+            return
+
+
+    def switchoff(self,module,seqnum):
+        if __debug__: print "switching %s off" % (module,)
+
+        enableloadstring = "@rel_sysconfdir@/mods-enabled/"+str(seqnum)+module+".load"
+        enableconfstring = "@rel_sysconfdir@/mods-enabled/"+str(seqnum)+module+".conf"
+
+        if os.path.exists(enableloadstring):
+            os.unlink(enableloadstring)
+        else:
+            return
+
+        if os.path.exists(enableconfstring):
+            os.unlink(enableconfstring)
+        else:
+            return
+
+
+def main():
+    if len(sys.argv) == 1:
+        usage()
+        sys.exit(2)
+
+    mh = A2ModHandler("/var/lib/apache2/modules")
+
+    name = os.path.split(sys.argv[0])[1]
+    if name == 'a2enmod':
+        mh.enable(sys.argv[1])
+    if name == 'a2dismod':
+        mh.disable(sys.argv[1])
+
+    try:
+        opts, args = getopt.getopt(sys.argv[1:],"hlv" ,["add","disable","enable","help","list","remove","version","force"])
+    except getopt.GetoptError:
+        usage()
+        sys.exit(2)
+
+    for o,a in opts:
+        if o in ("-h", "--help"):
+            usage()
+            sys.exit()
+        if o in ("-v", "--version"):
+            mh.version(versionnum)
+            sys.exit()
+        if o == "--add":
+            try:
+                mh.add(*args)
+            except ModuleAlreadyExists:
+                print "Module has already been registered"
+                sys.exit(1)
+            except (IndexError, TypeError):
+                usage()
+                sys.exit(2)
+        if o == "--remove":
+            try:
+                mh.remove(args[0])
+            except NoSuchModule:
+                print "No such module"
+                sys.exit(1)
+            except IndexError:
+                usage()
+                sys.exit(2)
+        if o == "--enable":
+            try:
+                mh.enable(args[0])
+            except NoSuchModule:
+                print "No Such Module"
+                sys.exit(1)
+            except IndexError:
+                usage()
+                sys.exit(2)
+        if o == "--disable":
+            try:
+                mh.disable(args[0])
+            except NoSuchModule:
+                print "No Such Module"
+                sys.exit(1)
+            except IndexError:
+                usage()
+                sys.exit(2)
+        if o in ("-l","--list"):
+            mh.dolist()
+
+def usage():
+    """Print the usage statement
+
+    Prints the correct list of arguments, and then exits.
+    """
+    print "Debian update-apache2-modules", versionnum
+    print "Copyright (C) 2002 Thom May, under the BSD license."
+    msg = """
+
+usage: update-apache2-modules --add <module> [<sequence> <depends>]
+       update-apache2-modules --remove <module>
+       update-apache2-modules --enable <module>
+       update-apache2-modules --disable <module>
+       update-apache2-modules --list <module>
+
+<module>   is the name of the module
+<sequence> is used to decide the order the modules are loaded in.
+           The default if no sequence number is specified is 99
+<depends>  signifies any dependencies the module might have
+"""
+    sys.stderr.write(msg)
+    return(0)
+
+
+if __name__ == '__main__':
+    main()
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009