GitLab installeren op een Debian 9 VPS server + ISPconfig

Procédure

GitLab is een krachtige tool om je verschillende Git repositories met gemak te beheren. Echter, het instellen ervan op onze besturingssystemen met ISPConfig 3 kan gemakkelijk een hoofdpijn worden. Daarom hebben we besloten je te voorzien van een complete handleiding voor deze handeling.

Vereisten

GitLab heeft minstens 2 GB RAM nodig. Gecombineerd met de minimale 2 GB van ISPConfig 3, het aantal uitgevoerde processen (die bijna 30% van de quota voor ISPConfig alleen zonder website vertegenwoordigen), is deVPS L uit de LWS Starter serie voldoende voor kleine projecten, maar we raden de VPS Pro serie aan voor elk professioneel project.

Voor deze tutorial gebruiken we een VPS met het lege Debian 9 + ISPConfig 3 besturingssysteem dat wordt aangeboden op het LWS Panel. Hier zijn de links naar andere tutorials voor andere besturingssystemen:

Als je het besturingssysteem op je VPS wilt veranderen, is hier een link naar de helpdocumentatie: Hoe verander ik het besturingssysteem op mijn VPS?

Let op: deze tutorial is alleen getest op een VIRGIN installatie van Debian 9 + ISPConfig. Als u al websites of andere diensten op uw VPS heeft geïnstalleerd, kunnen we niet garanderen dat de tutorial effectief is en/of dat al uw andere diensten na de installatie werken.

Vergeet niet de SSH-poort in te schakelen op uw VPS firewall en SSH-beheer uit te schakelen zodat u als root verbinding kunt maken met de SSH-console.

Samenvatting van de zelfstudie

Deze handleiding behandelt de volgende stappen:

  1. Updaten van het besturingssysteem
  2. Gitlab installeren
  3. Een Let's Encrypt SSL-certificaat aanmaken
  4. Een reverse proxy instellen op Apache voor Gitlab

1. Het besturingssysteem bijwerken

Voordat je iets installeert, raden we aan dat je de lijst met pakketten en de pakketten zelf bijwerkt. Voer op je SSH console de volgende commando's uit:

apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y

We kunnen ook ISPConfig updaten.

2. Gitlab installeren

Laten we eerst de afhankelijkheden installeren die nodig zijn voor Gitlab:

apt-get install -y curl openssh-server ca-certificaten

Vervolgens voeg je de Gitlab repository toe aan je VPS:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash

Laten we nu Gitlab installeren op poort 6080 (een willekeurig gekozen poort):

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

De installatie duurt een paar minuten, dus je kunt een kopje thee nemen terwijl je wacht.

Tip: als je een instabiele internetverbinding hebt, kun je screen gebruiken om opnieuw verbinding te maken met de afneembare console in het geval van een onverwachte verbroken verbinding. Documentatie over het gebruik van screen.

De installatie mislukt. Dit is volkomen normaal. Dit komt omdat Gitlab zal proberen veranderingen in de kernel aan te brengen, maar deze veranderingen zijn niet toegestaan op LWS VPS servers vanwege de gebruikte virtualisatietechnologie. Om dit te omzeilen, moet je de Kernel configuratie bestanden die door Gitlab worden verwacht "aanraken" (het touch commando uitvoeren) om hun inhoud te legen, zodat je verder kunt gaan met de installatie:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Als er andere configuratiebestanden zijn, voel je dan vrij om de inhoud ervan leeg te maken. Voer dan het volgende commando uit om de Gitlab configuraties te regenereren:

gitlab-ctl reconfigure

Nu moet je GitLab stoppen, dat, van wat je hebt kunnen controleren, helemaal niet werkt:

gitlab-ctl stop

Het probleem komt van de unicorn module, die dezelfde poort gebruikt als ISPConfig. Dus we gaan zijn poort veranderen door het /etc/gitlab/gitlab.rb bestand te bewerken:

nano /etc/gitlab/gitlab.rb

en bewerk de volgende regel:

# unicorn['port'] = 8080 unicorn['port'] = 8083

Voorheen was dit een commentaar en was 8080 de waarde. Nu hebben we het commentaar verwijderd en 8083 als poort ingesteld. Laten we de configuratie bestanden opnieuw maken:

gitlab-ctl herconfigureren

Nu moeten we Gitlab herstarten:

gitlab-ctl restart

Tip: Als unicorn weigert te starten, zijn er kind processen die nog niet gesloten zijn. Sluit ze met gitlab-ctl stop en probeer het dan opnieuw.

3. Een Let's Encrypt SSL certificaat aanmaken

Om de toegang tot Gitlab te beveiligen, gaan we een Let's Encrypt SSL certificaat aanmaken, dat vervolgens op de reverse proxy geïnstalleerd zal worden.

Opmerking: We gaan het SSL certificaat niet op Gitlab installeren. We gaan alleen de toegang tot zijn reverse proxy beveiligen. Gitlab zal alleen benaderd worden via de reverse proxy, dus we kunnen onze VPS extra rekenwerk besparen door verkeer te versleutelen dat de VPS niet zal verlaten.

Om dit te doen, moeten we eerst git.example.com naar je VPS wijzen. Dan gebruiken we certbot:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.example.com

Opmerking: ISPConfig (dankzij zijn vhost en zijn .conf voor Apache) leidt verzoeken die /.well-known/ bevatten direct om naar /usr/local/ispconfig/interface/acme/. Dus we gebruiken webroot authenticatie en we gebruiken de ISPConfig map die hiervoor is voorzien. Dit voorkomt interferentie met ISPConfig tijdens vernieuwingen.

Als dit de eerste keer is dat je een Let's Encrypt SSL-certificaat aanmaakt op je VPS, moet je een e-mailadres invullen en de gebruiksvoorwaarden van Let's Encrypt accepteren.

4. De Apache reverse proxy configureren

Nu moeten we de reverse proxy configureren met Apache, die naast ISPConfig en de bijbehorende sites zal bestaan. Dus gaan we een nieuw configuratiebestand maken :

nano /etc/apache2/sites-available/gitlab.conf

en we moeten de volgende inhoud toevoegen :


    ServerName git.exemple.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.exemple.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted  ProxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.exemple.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.exemple.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.exemple.com/chain.pem

En laten we deze nieuwe vhost activeren:

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Maar voordat je Apache herstart, moet je de benodigde modules activeren:

a2enmod proxy a2enmod proxy_http

Start Apache nu opnieuw op:

systemctl restart apache2

En dat is het. Als je naar git.example.com gaat, zul je zien dat Gitlab klaar is:

GitLab installeren op een Debian 9 VPS server + ISPconfig

Beoordeel dit artikel :

5/5 | 2 mening

Dit artikel was nuttig voor jou ?

Article utileJa

Article non utileGeen

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Vergelijkbare artikelen

3mn lezen

Hoe krijg ik toegang tot ISPConfig op mijn dedicated VPS server?

0mn lezen

Hoe maak ik een DNS server aan in ISPConfig op een dedicated VPS server?

0mn lezen

Hoe verander ik het wachtwoord van het ISPConfig 3 paneel?

1mn lezen

Hoe kan ik de toegang tot mijn ISPconfig paneel beveiligen met een .htaccess bestand?


Stel een vraag aan het LWS-team en de gemeenschap