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>
64<LocationMatch /smart_namespace/>
65 SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
66 SetEnv GIT_HTTP_EXPORT_ALL
67 SetEnv GIT_NAMESPACE ns
68</LocationMatch>
69ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
70ScriptAlias /broken_smart/ broken-smart-http.sh/
71<Directory ${GIT_EXEC_PATH}>
72 Options FollowSymlinks
73</Directory>
74<Files broken-smart-http.sh>
75 Options ExecCGI
76</Files>
77<Files ${GIT_EXEC_PATH}/git-http-backend>
78 Options ExecCGI
79</Files>
80
81RewriteEngine on
82RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
83RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
84
85<IfDefine SSL>
86LoadModule ssl_module modules/mod_ssl.so
87
88SSLCertificateFile httpd.pem
89SSLCertificateKeyFile httpd.pem
90SSLRandomSeed startup file:/dev/urandom 512
91SSLRandomSeed connect file:/dev/urandom 512
92SSLSessionCache none
93SSLMutex file:ssl_mutex
94SSLEngine On
95</IfDefine>
96
97<Location /auth/>
98 AuthType Basic
99 AuthName "git-auth"
100 AuthUserFile passwd
101 Require valid-user
102</Location>
103
104<LocationMatch "^/auth-push/.*/git-receive-pack$">
105 AuthType Basic
106 AuthName "git-auth"
107 AuthUserFile passwd
108 Require valid-user
109</LocationMatch>
110
111<LocationMatch "^/auth-fetch/.*/git-upload-pack$">
112 AuthType Basic
113 AuthName "git-auth"
114 AuthUserFile passwd
115 Require valid-user
116</LocationMatch>
117
118<IfDefine DAV>
119 LoadModule dav_module modules/mod_dav.so
120 LoadModule dav_fs_module modules/mod_dav_fs.so
121
122 DAVLockDB DAVLock
123 <Location /dumb/>
124 Dav on
125 </Location>
126 <Location /auth/dumb>
127 Dav on
128 </Location>
129</IfDefine>
130
131<IfDefine SVN>
132 LoadModule dav_svn_module modules/mod_dav_svn.so
133
134 <Location /svn>
135 DAV svn
136 SVNPath svnrepo
137 </Location>
138</IfDefine>