GitLab on VPS
So now I’ve done that as well. Decided that I needed a Git server on my VPS – don’t know for what. But there you have it. The best reason for a nerd is “just ’cause I can”.
GitLab comes with nginx as default, but my VPS has Apache 2(.4). So here is a way to install the GitLab community edition on a Linode VPS with Apache 2 and Sentora web hosting control panel.
First follow the instructions on the download page over at GitLab. I used the Ubuntu 14.04, so if you have another server, your milage may vary.
When you’ve done that, don’t do the sudo gitlab-cal reconfigure
stuff just yet.
First follow the the instructions in this document regarding Using a non-bundled web-server.
Then you have to do some magic in the vhost settings for the domain or sub-domain you are using.
ServerSignature Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Location />
Require all granted
ProxyPassReverse http://127.0.0.1:8181
ProxyPassReverse http://your_domain.com/
</Location>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/api/v3/.* [OR]
RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/uploads/.*
RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA]
DocumentRoot /home/git
Remember to change http://your_domain.com/
to your own FQDN. You also have to remember to install and enable the following Apache modules;
mod_rewrite
, mod_proxy
and mod_proxy_http
Now you can do the sudo gitlab-cal reconfigure
and go to your new GitLab server.
For my part I had some trouble getting the folder structure right. I ended up with following the structure from this document. And then it all worked like a charm.
I’ve not set up https as of yet, but that will be coming as well.