Ga naar hoofdinhoud

VPS: GitLab installeren op Linux

Deze handleiding is gemaakt met de volgende producten:

(Details kunnen verschillen bij producten van verschillende aanbieders, maar de hoofdconcepten blijven hetzelfde)

Introductie

GitLab is een complete DevOps-platform waarmee teams kunnen samenwerken aan code, workflows automatiseren en de volledige softwareontwikkelingscyclus efficiënt beheren. In deze gids leggen we uit hoe je GitLab installeert op een Linux-server.

Voorbereiding

De volgende vereisten worden aanbevolen door het officiële GitLab Team en het is sterk aan te raden deze vooraf te volgen om ongemakken en problemen later te voorkomen.

Hardware

ComponentenMinimaalAanbevolen
CPU2x 2 GHz4x 2.6+ GHz
RAM4 GB8 GB
Opslag10 GB50+ GB
Bandbreedte100 Mbit/s (up & down)100 Mbit/s (up & down)

Software

PlatformOpties
BesturingssysteemUbuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5)
DatabasePostgreSQL 14.9+
WebserverNGINX (meegeleverd met GitLab), Puma 6.4.2+
OverigRedis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+
info

Voor de meest accurate en actuele specificaties, check de officiële Hardware Requirements van GitLab.

Je moet via een SSH-client verbinding maken om GitLab op je Linux-server te installeren. Bekijk onze Eerste toegang (SSH) gids voor meer info hierover.

Zodra de verbinding staat, kun je beginnen met het installeren van de benodigde pakketten voor de daadwerkelijke GitLab-installatie.

Stap 1: Dependencies installeren

Eerst moet je een aantal dependencies installeren om de GitLab installer te kunnen draaien. Gebruik de volgende commando’s om de vereiste dependencies op je Linux-server te installeren.

Update de pakketlijst naar de nieuwste versie en installeer de OpenSSH Server samen met de benodigde prerequisites met het volgende commando. Hiermee wordt je webinterface voor GitLab gehost.

sudo apt update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

Je kunt ook Postfix (SMTP-server) installeren als je e-mailnotificaties wilt ontvangen via GitLab. Dit is optioneel.

Wil je e-mailnotificaties gebruiken, installeer dan Postfix met:

sudo apt-get install -y postfix
info

Tijdens de installatie van Postfix kan een configuratiescherm verschijnen. Kies hier voor 'Internet Site' en druk op enter. Gebruik de externe DNS van je Linux-server als 'mail name' en druk op enter. Als er meer schermen verschijnen, druk dan steeds op enter om de standaardinstellingen te accepteren.

Wil je een andere oplossing gebruiken voor e-mail, sla deze stap dan over en configureer een externe SMTP-server nadat GitLab is geïnstalleerd, volgens de officiële GitLab-gids.

Stap 2: GitLab installeren

Na het downloaden en installeren van alle benodigde dependencies ben je klaar om GitLab te installeren.

In deze gids installeren we GitLab rechtstreeks vanuit de officiële pakketbronnen.

Het volgende script voegt de GitLab-repositories toe aan de apt package manager:

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

Daarna kan het gitlab-ee pakket geïnstalleerd worden:

sudo apt-get install -y gitlab-ee

Als dit proces klaar is, zou GitLab klaar moeten staan op je Linux-server. Ga door naar de volgende sectie om essentiële instellingen te configureren zodat de server goed functioneert.

Stap 3: GitLab configureren

Om alles goed te laten werken, moet je een aantal aanpassingen doen in het configuratiebestand. Open het GitLab-configuratiebestand met je favoriete teksteditor. We gebruiken hier nano als voorbeeld.

sudo nano /etc/gitlab/gitlab.rb

Zoek vervolgens de regel external_url en vul hier je domein in, of het IP-adres van je Linux-server als je geen domein hebt.

## GitLab URL
##! URL waarop GitLab bereikbaar zal zijn.
##! Voor meer details over het configureren van external_url, zie:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Let op: Tijdens installatie/upgrades wordt de waarde van de omgevingsvariabele
##! EXTERNAL_URL gebruikt om deze waarde te vullen/vervangen.
##! Op AWS EC2-instances proberen we ook de publieke hostname/IP
##! van AWS op te halen. Voor meer info, zie:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http`s`://`Jouw domein / IPv4-adres van je Linux-server`'

We raden ook aan je e-mailadres in te vullen bij letsencrypt['contact_emails']. Zo kan Let's Encrypt je notificaties sturen en contact opnemen over de automatische en gratis SSL-certificaten.

notitie

Je hebt een domein nodig als je een gratis SSL-certificaat van Let's Encrypt wilt krijgen. Je kunt er geen aanvragen direct op een IP-adres.

################################################################################
# Let's Encrypt integratie
################################################################################
# letsencrypt['enable'] = nil
# letsencrypt['contact_emails'] = [`Jouw e-mail hier`] # Dit moet een array zijn van e-mailadressen als contactpersonen
# letsencrypt['group'] = 'root'
# letsencrypt['key_size'] = 2048
# letsencrypt['owner'] = 'root'
# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
# Zie https://docs.gitlab.com/omnibus/settings/ssl/index.html#renew-the-certificates-automatically voor meer info over deze instellingen
# letsencrypt['auto_renew'] = true
# letsencrypt['auto_renew_hour'] = 0
# letsencrypt['auto_renew_minute'] = nil # Moet een nummer of cron-expressie zijn, als opgegeven.
# letsencrypt['auto_renew_day_of_month'] = "*/4"
# letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
# letsencrypt['alt_names'] = []
tip

Je kunt CTRL+W gebruiken om te zoeken naar letsencrypt['contact_emails'] en op enter drukken, zodat je niet handmatig het hele bestand hoeft te doorzoeken.

Als je klaar bent, druk je op CTRL+X gevolgd door Y en Enter om je wijzigingen op te slaan.

Voer daarna het volgende commando uit om GitLab te herconfigureren met de nieuwe instellingen:

sudo gitlab-ctl reconfigure

Dit kan even duren omdat GitLab wordt geïnitieerd met de nieuwe configuratie. De SSL-certificaten worden ook uitgegeven als je een domein hebt gebruikt.

Stap 4: Toegang tot de webinterface

Na de initialisatie is de server via een webbrowser bereikbaar. Ga naar je website door je domeinnaam of IP-adres in te voeren:

https://[jouw_domein] OF http://[jouw_ip_adres]

Bij de eerste keer inloggen krijg je een loginpagina te zien.

Voor admin-toegang bij je eerste login, log in als root-gebruiker met gebruikersnaam root.

Het wachtwoord vind je in een bestand op je Linux-server. Open het bestand met:

sudo nano /etc/gitlab/initial_root_password
# WAARSCHUWING: Deze waarde is alleen geldig onder de volgende voorwaarden

# 1. Als deze handmatig is opgegeven (via de `GITLAB_ROOT_PASSWORD` omgevingsvariabele of via `gitlab_rails['initial_root_password']` in `gitlab.rb`), vóór het aanmaken van de database.

# 2. Het wachtwoord is niet handmatig gewijzigd via UI of command line.

#

# Als het wachtwoord hier niet werkt, moet je het admin-wachtwoord resetten via https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: `[JOUW_WACHTWOORD_HIER]`

# LET OP: Dit bestand wordt automatisch verwijderd bij de eerste reconfigure run na 24 uur.

Voer de gebruikersnaam en het wachtwoord in op de loginpagina om voor het eerst in je GitLab-dashboard te komen. Je kunt nu je eigen GitLab-paneel op je Linux-server gebruiken.

We raden sterk aan om een nieuwe gebruiker aan te maken en/of het wachtwoord van de root gebruiker te wijzigen. Dit doe je via Admin linksonder en dan Overzicht->Gebruikers. Hier beheer je de gebruikers van je GitLab-instance.

Optioneel: Firewall instellen met ufw

Je kunt deze stap overslaan als je geen firewall wilt configureren of bijvoorbeeld al firewalld gebruikt op OpenSUSE. Zorg dat poorten 80/443 en 22 openstaan.

ufw installeren

Als je ufw al hebt geïnstalleerd, sla deze stap dan over.

sudo apt-get install -y ufw

Vereiste poorten openen

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Firewall inschakelen

waarschuwing

Standaard blokkeert dit alle poorten behalve de toegestane. Zorg dat je whitelist goed staat voordat je dit commando uitvoert.

Activeer de firewall met:

sudo ufw enable

Conclusie

Gefeliciteerd, je hebt GitLab succesvol geïnstalleerd! Heb je nog vragen of problemen? Neem gerust contact op met onze support, die elke dag voor je klaarstaat!

Wil je nog meer instellen? Check dan de Officiële GitLab Documentatie voor de volgende stappen.