]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/git/templates/default/apache.erb
blog: remove opengeodata.org ssl cleanup
[chef.git] / cookbooks / git / templates / default / apache.erb
index c7f85c821376443826e3bb0fed8a262c3c83777f..07d11a804113d866fd9c9c937c4a3a9e9a93cdbc 100644 (file)
         CustomLog /var/log/apache2/<%= @name %>-access.log combined
         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
-        DocumentRoot <%= @directory %>
-        HeaderName HEADER
+        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
+
+        RewriteEngine on
+        RewriteRule ^/cgimap\.git.* https://github.com/zerebubuth/openstreetmap-cgimap [QSD,L,R=permanent]
+        RewriteRule ^/planetdump\.git.* https://github.com/openstreetmap/planetdump [QSD,L,R=permanent]
+        RewriteRule ^/gpx-import\.git.* https://github.com/openstreetmap/gpx-import [QSD,L,R=permanent]
+        RewriteRule ^/potlatch2\.git.* https://github.com/openstreetmap/potlatch2 [QSD,L,R=permanent]
+
+        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 /gitweb.cgi /usr/lib/cgi-bin/gitweb.cgi
+        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>