t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
[git/debian.git] / t / lib-httpd / apache.conf
blob48e8c8f717cbbb2ccea1d5b8d3f2b65af819e94f
1 ServerName dummy
2 <IfVersion < 2.4>
3 LockFile accept.lock
4 </IfVersion>
5 PidFile httpd.pid
6 DocumentRoot www
7 LogFormat "%h %l %u %t \"%r\" %>s %b" common
8 CustomLog access.log common
9 ErrorLog error.log
10 <IfModule !mod_log_config.c>
11         LoadModule log_config_module modules/mod_log_config.so
12 </IfModule>
13 <IfModule !mod_alias.c>
14         LoadModule alias_module modules/mod_alias.so
15 </IfModule>
16 <IfModule !mod_cgi.c>
17         LoadModule cgi_module modules/mod_cgi.so
18 </IfModule>
19 <IfModule !mod_env.c>
20         LoadModule env_module modules/mod_env.so
21 </IfModule>
22 <IfModule !mod_rewrite.c>
23         LoadModule rewrite_module modules/mod_rewrite.so
24 </IFModule>
25 <IfModule !mod_version.c>
26         LoadModule version_module modules/mod_version.so
27 </IfModule>
29 <IfVersion < 2.1>
30 <IfModule !mod_auth.c>
31         LoadModule auth_module modules/mod_auth.so
32 </IfModule>
33 </IfVersion>
35 <IfVersion >= 2.1>
36 <IfModule !mod_auth_basic.c>
37         LoadModule auth_basic_module modules/mod_auth_basic.so
38 </IfModule>
39 <IfModule !mod_authn_file.c>
40         LoadModule authn_file_module modules/mod_authn_file.so
41 </IfModule>
42 <IfModule !mod_authz_user.c>
43         LoadModule authz_user_module modules/mod_authz_user.so
44 </IfModule>
45 <IfModule !mod_authz_host.c>
46         LoadModule authz_host_module modules/mod_authz_host.so
47 </IfModule>
48 </IfVersion>
50 <IfVersion >= 2.4>
51 <IfModule !mod_authn_core.c>
52         LoadModule authn_core_module modules/mod_authn_core.so
53 </IfModule>
54 <IfModule !mod_authz_core.c>
55         LoadModule authz_core_module modules/mod_authz_core.so
56 </IfModule>
57 </IfVersion>
59 PassEnv GIT_VALGRIND
60 PassEnv GIT_VALGRIND_OPTIONS
62 Alias /dumb/ www/
63 Alias /auth/dumb/ www/auth/dumb/
65 <LocationMatch /smart/>
66         SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
67         SetEnv GIT_HTTP_EXPORT_ALL
68 </LocationMatch>
69 <LocationMatch /smart_noexport/>
70         SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
71 </LocationMatch>
72 <LocationMatch /smart_custom_env/>
73         SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
74         SetEnv GIT_HTTP_EXPORT_ALL
75         SetEnv GIT_COMMITTER_NAME "Custom User"
76         SetEnv GIT_COMMITTER_EMAIL custom@example.com
77 </LocationMatch>
78 ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
79 ScriptAlias /broken_smart/ broken-smart-http.sh/
80 <Directory ${GIT_EXEC_PATH}>
81         Options FollowSymlinks
82 </Directory>
83 <Files broken-smart-http.sh>
84         Options ExecCGI
85 </Files>
86 <Files ${GIT_EXEC_PATH}/git-http-backend>
87         Options ExecCGI
88 </Files>
90 RewriteEngine on
91 RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
92 RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
94 <IfDefine SSL>
95 LoadModule ssl_module modules/mod_ssl.so
97 SSLCertificateFile httpd.pem
98 SSLCertificateKeyFile httpd.pem
99 SSLRandomSeed startup file:/dev/urandom 512
100 SSLRandomSeed connect file:/dev/urandom 512
101 SSLSessionCache none
102 SSLMutex file:ssl_mutex
103 SSLEngine On
104 </IfDefine>
106 <Location /auth/>
107         AuthType Basic
108         AuthName "git-auth"
109         AuthUserFile passwd
110         Require valid-user
111 </Location>
113 <LocationMatch "^/auth-push/.*/git-receive-pack$">
114         AuthType Basic
115         AuthName "git-auth"
116         AuthUserFile passwd
117         Require valid-user
118 </LocationMatch>
120 <LocationMatch "^/auth-fetch/.*/git-upload-pack$">
121         AuthType Basic
122         AuthName "git-auth"
123         AuthUserFile passwd
124         Require valid-user
125 </LocationMatch>
127 RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
128 RewriteCond %{REQUEST_URI} /git-receive-pack$
129 RewriteRule ^/half-auth-complete/ - [E=AUTHREQUIRED:yes]
131 <Location /half-auth-complete/>
132   Order Deny,Allow
133   Deny from env=AUTHREQUIRED
135   AuthType Basic
136   AuthName "Git Access"
137   AuthUserFile passwd
138   Require valid-user
139   Satisfy Any
140 </Location>
142 <IfDefine DAV>
143         LoadModule dav_module modules/mod_dav.so
144         LoadModule dav_fs_module modules/mod_dav_fs.so
146         DAVLockDB DAVLock
147         <Location /dumb/>
148                 Dav on
149         </Location>
150         <Location /auth/dumb>
151                 Dav on
152         </Location>
153 </IfDefine>
155 <IfDefine SVN>
156         LoadModule dav_svn_module modules/mod_dav_svn.so
158         <Location /svn>
159                 DAV svn
160                 SVNPath svnrepo
161         </Location>
162 </IfDefine>