]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/git/templates/default/apache.erb
Set load average limit for re-renders to number of CPU threads
[chef.git] / cookbooks / git / templates / default / apache.erb
index e9bebd2ea46002511e1bc6e51c7c7a741f0ba348..30685fad936f7f76446b593092c4e9c9943554a2 100644 (file)
@@ -1,35 +1,79 @@
 # DO NOT EDIT - This file is being maintained by Chef
 
 <VirtualHost *:80>
-       ServerName <%= @name %>
-       ServerAdmin webmaster@openstreetmap.org
+        ServerName <%= @name %>
+<% @aliases.each do |alias_name| -%>
+        ServerAlias <%= alias_name %>
+<% end -%>
+        ServerAdmin webmaster@openstreetmap.org
 
-       CustomLog /var/log/apache2/<%= @name %>-access.log combined
-       ErrorLog /var/log/apache2/<%= @name %>-error.log
+        CustomLog /var/log/apache2/<%= @name %>-access.log combined
+        ErrorLog /var/log/apache2/<%= @name %>-error.log
 
-       RedirectPermanent / https://<%= @name %>/
+        RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
+        RedirectPermanent / https://<%= @name %>/
 </VirtualHost>
 
+<% unless @aliases.empty? -%>
 <VirtualHost *:443>
-       ServerName <%= @name %>
-       ServerAdmin webmaster@openstreetmap.org
+        ServerName <%= @aliases.first %>
+<% @aliases.slice(1..-1).each do |alias_name| -%>
+        ServerAlias <%= alias_name %>
+<% end -%>
+        ServerAdmin webmaster@openstreetmap.org
 
-       SSLEngine on
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
 
-       CustomLog /var/log/apache2/<%= @name %>-access.log combined
-       ErrorLog /var/log/apache2/<%= @name %>-error.log
+        CustomLog /var/log/apache2/<%= @name %>-access.log combined
+        ErrorLog /var/log/apache2/<%= @name %>-error.log
 
-       DocumentRoot <%= @directory %>
-       HeaderName HEADER
-       Alias /gitweb /usr/share/gitweb
-       Alias /git /var/cache/git
-       ScriptAlias /gitweb.cgi /usr/lib/cgi-bin/gitweb.cgi
+        RedirectPermanent / https://<%= @name %>/
+</VirtualHost>
+
+<% end -%>
+<VirtualHost *:443>
+        ServerName <%= @name %>
+        ServerAdmin webmaster@openstreetmap.org
+
+        SSLEngine on
+        SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
+        SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
+
+        CustomLog /var/log/apache2/<%= @name %>-access.log combined
+        ErrorLog /var/log/apache2/<%= @name %>-error.log
+
+        SetEnv GIT_PROJECT_ROOT /var/lib/git
+        SetEnv GIT_HTTP_EXPORT_ALL
+        SetEnv GIT_HTTP_MAX_REQUEST_BUFFER 100M
+
+        SetEnvIf Git-Protocol ".*" GIT_PROTOCOL=$0
+
+        # KeepaliveTimeout longer than git config uploadpack.keepalive 5 second default
+        KeepAliveTimeout 20
+
+        ScriptAlias /public /usr/lib/git-core/git-http-backend/public
+        ScriptAlias /private /usr/lib/git-core/git-http-backend/private
+        Alias /gitweb /usr/share/gitweb
+        Alias /git /var/cache/git
+        ScriptAlias / /usr/lib/cgi-bin/gitweb.cgi/
+
+        <Location />
+                  Require all granted
+        </Location>
+<% unless @private_allowed.empty? -%>
+
+        <Location /private>
+                  Require ip <%= @private_allowed.sort.join(" ") %>
+        </Location>
+<% end -%>
 
-       RewriteEngine On
-       RewriteRule ^/$ /gitweb.cgi%{REQUEST_URI} [L,PT]
-       RewriteRule ^/(.*\.git/(?!/?(HEAD|info|objects|refs)).*)?$ /gitweb.cgi%{REQUEST_URI} [L,PT]
+        <Location /private/chef.git>
+                  Require all denied
+        </Location>
 </VirtualHost>
 
-<Directory <%= @directory %>>
-       Require all granted
+<Directory /usr/lib/git-core>
+        Options ExecCGI
 </Directory>