]> git.openstreetmap.org Git - chef.git/blob - cookbooks/git/templates/default/apache.erb
Pass Git-Protocol header to git-http-backend
[chef.git] / cookbooks / git / templates / default / apache.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 <VirtualHost *:80>
4         ServerName <%= @name %>
5 <% @aliases.each do |alias_name| -%>
6         ServerAlias <%= alias_name %>
7 <% end -%>
8         ServerAdmin webmaster@openstreetmap.org
9
10         CustomLog /var/log/apache2/<%= @name %>-access.log combined
11         ErrorLog /var/log/apache2/<%= @name %>-error.log
12
13         RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
14         RedirectPermanent / https://<%= @name %>/
15 </VirtualHost>
16
17 <% unless @aliases.empty? -%>
18 <VirtualHost *:443>
19         ServerName <%= @aliases.first %>
20 <% @aliases.slice(1..-1).each do |alias_name| -%>
21         ServerAlias <%= alias_name %>
22 <% end -%>
23         ServerAdmin webmaster@openstreetmap.org
24
25         SSLEngine on
26         SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
27         SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
28
29         CustomLog /var/log/apache2/<%= @name %>-access.log combined
30         ErrorLog /var/log/apache2/<%= @name %>-error.log
31
32         RedirectPermanent / https://<%= @name %>/
33 </VirtualHost>
34
35 <% end -%>
36 <VirtualHost *:443>
37         ServerName <%= @name %>
38         ServerAdmin webmaster@openstreetmap.org
39
40         SSLEngine on
41         SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
42         SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
43
44         CustomLog /var/log/apache2/<%= @name %>-access.log combined
45         ErrorLog /var/log/apache2/<%= @name %>-error.log
46
47         SetEnv GIT_PROJECT_ROOT /var/lib/git
48         SetEnv GIT_HTTP_EXPORT_ALL
49         SetEnv GIT_HTTP_MAX_REQUEST_BUFFER 100M
50
51         SetEnvIf Git-Protocol ".*" GIT_PROTOCOL=$0
52
53         # KeepaliveTimeout longer than git config uploadpack.keepalive 5 second default
54         KeepAliveTimeout 20
55
56         ScriptAlias /public /usr/lib/git-core/git-http-backend/public
57         ScriptAlias /private /usr/lib/git-core/git-http-backend/private
58         Alias /gitweb /usr/share/gitweb
59         Alias /git /var/cache/git
60         ScriptAlias / /usr/lib/cgi-bin/gitweb.cgi/
61
62         <Location />
63                   Require all granted
64         </Location>
65 <% unless @private_allowed.empty? -%>
66
67         <Location /private>
68                   Require ip <%= @private_allowed.sort.join(" ") %>
69         </Location>
70 <% end -%>
71
72         <Location /private/chef.git>
73                   Require all denied
74         </Location>
75 </VirtualHost>
76
77 <Directory /usr/lib/git-core>
78         Options ExecCGI
79 </Directory>