ServerName dummy
LockFile accept.lock
PidFile httpd.pid
DocumentRoot www
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog access.log common
ErrorLog error.log
<IfModule !mod_log_config.c>
	LoadModule log_config_module modules/mod_log_config.so
</IfModule>
<IfModule !mod_alias.c>
	LoadModule alias_module modules/mod_alias.so
</IfModule>
<IfModule !mod_cgi.c>
	LoadModule cgi_module modules/mod_cgi.so
</IfModule>
<IfModule !mod_env.c>
	LoadModule env_module modules/mod_env.so
</IfModule>
<IfModule !mod_rewrite.c>
	LoadModule rewrite_module modules/mod_rewrite.so
</IFModule>
<IfModule !mod_version.c>
	LoadModule version_module modules/mod_version.so
</IfModule>

<IfVersion < 2.1>
<IfModule !mod_auth.c>
	LoadModule auth_module modules/mod_auth.so
</IfModule>
</IfVersion>

<IfVersion >= 2.1>
<IfModule !mod_auth_basic.c>
	LoadModule auth_basic_module modules/mod_auth_basic.so
</IfModule>
<IfModule !mod_authn_file.c>
	LoadModule authn_file_module modules/mod_authn_file.so
</IfModule>
<IfModule !mod_authz_user.c>
	LoadModule authz_user_module modules/mod_authz_user.so
</IfModule>
</IfVersion>

PassEnv GIT_VALGRIND
PassEnv GIT_VALGRIND_OPTIONS

Alias /dumb/ www/
Alias /auth/dumb/ www/auth/dumb/

<LocationMatch /smart/>
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
	SetEnv GIT_HTTP_EXPORT_ALL
</LocationMatch>
<LocationMatch /smart_noexport/>
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
</LocationMatch>
<LocationMatch /smart_custom_env/>
	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
	SetEnv GIT_HTTP_EXPORT_ALL
	SetEnv GIT_COMMITTER_NAME "Custom User"
	SetEnv GIT_COMMITTER_EMAIL custom@example.com
</LocationMatch>
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
<Directory ${GIT_EXEC_PATH}>
	Options FollowSymlinks
</Directory>
<Files ${GIT_EXEC_PATH}/git-http-backend>
	Options ExecCGI
</Files>

RewriteEngine on
RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]

<IfDefine SSL>
LoadModule ssl_module modules/mod_ssl.so

SSLCertificateFile httpd.pem
SSLCertificateKeyFile httpd.pem
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
SSLSessionCache none
SSLMutex file:ssl_mutex
SSLEngine On
</IfDefine>

<Location /auth/>
	AuthType Basic
	AuthName "git-auth"
	AuthUserFile passwd
	Require valid-user
</Location>

<LocationMatch "^/auth-push/.*/git-receive-pack$">
	AuthType Basic
	AuthName "git-auth"
	AuthUserFile passwd
	Require valid-user
</LocationMatch>

<IfDefine DAV>
	LoadModule dav_module modules/mod_dav.so
	LoadModule dav_fs_module modules/mod_dav_fs.so

	DAVLockDB DAVLock
	<Location /dumb/>
		Dav on
	</Location>
	<Location /auth/dumb>
		Dav on
	</Location>
</IfDefine>

<IfDefine SVN>
	LoadModule dav_svn_module modules/mod_dav_svn.so

	<Location /svn>
		DAV svn
		SVNPath svnrepo
	</Location>
</IfDefine>
