1ServerName dummy
2LockFile accept.lock
3PidFile httpd.pid
4DocumentRoot www
5LogFormat "%h %l %u %t \"%r\" %>s %b" common
6CustomLog access.log common
7ErrorLog error.log
8<IfModule !mod_log_config.c>
9 LoadModule log_config_module modules/mod_log_config.so
10</IfModule>
11<IfModule !mod_alias.c>
12 LoadModule alias_module modules/mod_alias.so
13</IfModule>
14<IfModule !mod_cgi.c>
15 LoadModule cgi_module modules/mod_cgi.so
16</IfModule>
17<IfModule !mod_env.c>
18 LoadModule env_module modules/mod_env.so
19</IfModule>
20<IfModule !mod_rewrite.c>
21 LoadModule rewrite_module modules/mod_rewrite.so
22</IFModule>
23<IfModule !mod_version.c>
24 LoadModule version_module modules/mod_version.so
25</IfModule>
26
27<IfVersion < 2.1>
28<IfModule !mod_auth.c>
29 LoadModule auth_module modules/mod_auth.so
30</IfModule>
31</IfVersion>
32
33<IfVersion >= 2.1>
34<IfModule !mod_auth_basic.c>
35 LoadModule auth_basic_module modules/mod_auth_basic.so
36</IfModule>
37<IfModule !mod_authn_file.c>
38 LoadModule authn_file_module modules/mod_authn_file.so
39</IfModule>
40<IfModule !mod_authz_user.c>
41 LoadModule authz_user_module modules/mod_authz_user.so
42</IfModule>
43</IfVersion>
44
45PassEnv GIT_VALGRIND
46PassEnv GIT_VALGRIND_OPTIONS
47
48Alias /dumb/ www/
49Alias /auth/dumb/ www/auth/dumb/
50
51<LocationMatch /smart/>
52 SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
53 SetEnv GIT_HTTP_EXPORT_ALL
54</LocationMatch>
55<LocationMatch /smart_noexport/>
56 SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
57</LocationMatch>
58<LocationMatch /smart_custom_env/>
59 SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
60 SetEnv GIT_HTTP_EXPORT_ALL
61 SetEnv GIT_COMMITTER_NAME "Custom User"
62 SetEnv GIT_COMMITTER_EMAIL custom@example.com
63</LocationMatch>
64ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
65<Directory ${GIT_EXEC_PATH}>
66 Options FollowSymlinks
67</Directory>
68<Files ${GIT_EXEC_PATH}/git-http-backend>
69 Options ExecCGI
70</Files>
71
72RewriteEngine on
73RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
74RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
75
76<IfDefine SSL>
77LoadModule ssl_module modules/mod_ssl.so
78
79SSLCertificateFile httpd.pem
80SSLCertificateKeyFile httpd.pem
81SSLRandomSeed startup file:/dev/urandom 512
82SSLRandomSeed connect file:/dev/urandom 512
83SSLSessionCache none
84SSLMutex file:ssl_mutex
85SSLEngine On
86</IfDefine>
87
88<Location /auth/>
89 AuthType Basic
90 AuthName "git-auth"
91 AuthUserFile passwd
92 Require valid-user
93</Location>
94
95<LocationMatch "^/auth-push/.*/git-receive-pack$">
96 AuthType Basic
97 AuthName "git-auth"
98 AuthUserFile passwd
99 Require valid-user
100</LocationMatch>
101
102<LocationMatch "^/auth-fetch/.*/git-upload-pack$">
103 AuthType Basic
104 AuthName "git-auth"
105 AuthUserFile passwd
106 Require valid-user
107</LocationMatch>
108
109<IfDefine DAV>
110 LoadModule dav_module modules/mod_dav.so
111 LoadModule dav_fs_module modules/mod_dav_fs.so
112
113 DAVLockDB DAVLock
114 <Location /dumb/>
115 Dav on
116 </Location>
117 <Location /auth/dumb>
118 Dav on
119 </Location>
120</IfDefine>
121
122<IfDefine SVN>
123 LoadModule dav_svn_module modules/mod_dav_svn.so
124
125 <Location /svn>
126 DAV svn
127 SVNPath svnrepo
128 </Location>
129</IfDefine>