Hoe een privé Git-server opzetten op VPS
Complete gids voor het opzetten van uw eigen privé Git-server op een VPS. Leer hoe u Git-repositories host met volledige controle en privacy met GitLab, Gitea of bare repositories.

Het hosten van uw eigen Git-server geeft u volledige controle over uw coderepositories, waardoor privacy wordt gegarandeerd en afhankelijkheid van services van derden wordt vermeden. Of u nu een eenvoudige bare repository of een volledig uitgeruste Git-hostingplatform nodig heeft, deze gids behandelt meerdere opties voor het opzetten van een privé Git-server op uw VPS.
Waarom uw eigen Git-server hosten?
- Volledige privacy: Uw code blijft op uw server
- Geen vendor lock-in: Volledige controle over uw repositories
- Aanpassing: Configureer precies zoals u wilt
- Kosteneffectief: Eén server voor onbeperkte repositories
- Naleving: Voldoen aan gegevensresidentievereisten
- Leren: Begrijp Git-server internals
Optie 1: GitLab (volledig uitgerust)
GitLab biedt een compleet DevOps-platform:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Toegang tot GitLab op http://your-server-ip
# Standaard gebruikersnaam: root
# Stel wachtwoord in bij eerste aanmeldingOptie 2: Gitea (lichtgewicht)
Gitea is een lichtgewicht, zelf gehoste Git-service:
wget -O gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x gitea
mv gitea /usr/local/bin/
# Maak systemd-service
nano /etc/systemd/system/gitea.service
# Configureer en start Gitea
systemctl enable gitea
systemctl start giteaOptie 3: Bare Git Repository (eenvoudig)
Voor basis Git-hosting zonder webinterface:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# Stel juiste machtigingen in
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Kloon vanaf client:
git clone git@your-server:/srv/git/myproject.gitSSH-toegang configureren
Stel SSH in voor veilige Git-toegang:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Voeg publieke sleutels van ontwikkelaars toe
chmod 600 .ssh/authorized_keys
# Test verbinding:
ssh git@your-serverBeveiligingsbest practices
- Gebruik SSH-sleutels in plaats van wachtwoorden
- Schakel tweefactorauthenticatie in (GitLab/Gitea)
- Regelmatige back-ups van repositories
- Houd Git-serversoftware bijgewerkt
- Configureer firewall om toegang te beperken
- Gebruik SSL/TLS voor webinterfaces
- Implementeer toegangscontroles en machtigingen
- Monitor logs op verdachte activiteit
Back-upstrategie
Regelmatige back-ups zijn essentieel:
#!/bin/bash
# Git-repository back-upscript
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Bewaar laatste 30 dagen
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete