diff options
Diffstat (limited to 'apache2.2.conf.example')
-rw-r--r-- | apache2.2.conf.example | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/apache2.2.conf.example b/apache2.2.conf.example new file mode 100644 index 000000000000..a751df0138db --- /dev/null +++ b/apache2.2.conf.example @@ -0,0 +1,63 @@ +# This configuration has been tested on GitLab 8.2 +# Note this config assumes unicorn is listening on default port 8080 and +# gitlab-workhorse is listening on port 8181. To allow gitlab-workhorse to +# listen on port 8181, edit or create /etc/default/gitlab and change or add the following: +# +# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080" +# +#Module dependencies +# mod_rewrite +# mod_proxy +# mod_proxy_http +<VirtualHost *:80> + ServerName YOUR_SERVER_FQDN + ServerSignature Off + + ProxyPreserveHost On + + # Ensure that encoded slashes are not decoded but left in their encoded state. + # http://doc.gitlab.com/ce/api/projects.html#get-single-project + AllowEncodedSlashes NoDecode + + <Location /> + Order deny,allow + Allow from all + + #Allow forwarding to gitlab-workhorse + ProxyPassReverse http://127.0.0.1:8181 + ProxyPassReverse http://YOUR_SERVER_FQDN/ + </Location> + + # Apache equivalent of nginx try files + # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files + # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab + RewriteEngine on + + #Don't escape encoded characters in api requests + RewriteCond %{REQUEST_URI} ^/api/v3/.* + RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE] + + #Forward all requests to gitlab-workhorse except existing files like error documents + RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] + RewriteCond %{REQUEST_URI} ^/uploads/.* + RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA] + + # needed for downloading attachments + DocumentRoot /usr/share/webapps/gitlab/public + + #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up. + ErrorDocument 404 /404.html + ErrorDocument 422 /422.html + ErrorDocument 500 /500.html + ErrorDocument 503 /deploy.html + + # It is assumed that the log directory is in /var/log/httpd. + # For Debian distributions you might want to change this to + # /var/log/apache2. + LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded + ErrorLog /var/log/httpd/logs/YOUR_SERVER_FQDN_error.log + CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_forwarded.log common_forwarded + CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_access.log combined env=!dontlog + CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN.log combined + +</VirtualHost> |