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