Zurück zum Blog
Februar 2, 2026Anleitungen

Wie man einen privaten Git-Server auf VPS einrichtet

Vollständige Anleitung zur Einrichtung Ihres eigenen privaten Git-Servers auf einem VPS. Erfahren Sie, wie Sie Git-Repositories mit vollständiger Kontrolle und Datenschutz mit GitLab, Gitea oder Bare-Repositories hosten.

Wie man einen privaten Git-Server auf VPS einrichtet

Das Hosting Ihres eigenen Git-Servers gibt Ihnen vollständige Kontrolle über Ihre Code-Repositories, gewährleistet Datenschutz und vermeidet Abhängigkeit von Drittanbieter-Diensten. Ob Sie ein einfaches Bare-Repository oder eine voll ausgestattete Git-Hosting-Plattform benötigen, diese Anleitung behandelt mehrere Optionen zur Einrichtung eines privaten Git-Servers auf Ihrem VPS.

Warum Ihren eigenen Git-Server hosten?

  • Vollständiger Datenschutz: Ihr Code bleibt auf Ihrem Server
  • Kein Vendor Lock-in: Vollständige Kontrolle über Ihre Repositories
  • Anpassung: Konfigurieren Sie genau wie gewünscht
  • Kosteneffektiv: Ein Server für unbegrenzte Repositories
  • Compliance: Erfüllen Sie Datenresidenz-Anforderungen
  • Lernen: Verstehen Sie Git-Server-Interna

Option 1: GitLab (voll ausgestattet)

GitLab bietet eine vollständige DevOps-Plattform:

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

gitlab-ctl reconfigure
# Zugriff auf GitLab unter http://ihre-server-ip
# Standardbenutzername: root
# Passwort beim ersten Login setzen

Option 2: Gitea (leichtgewichtig)

Gitea ist ein leichtgewichtiger, selbst gehosteter Git-Dienst:

bash
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/

# Systemd-Service erstellen
nano /etc/systemd/system/gitea.service
# Gitea konfigurieren und starten
systemctl enable gitea
systemctl start gitea

Option 3: Bare Git-Repository (einfach)

Für grundlegendes Git-Hosting ohne Web-Interface:

bash
mkdir -p /srv/git/meinprojekt.git
cd /srv/git/meinprojekt.git
git --bare init

# Richtige Berechtigungen setzen
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Vom Client klonen:
git clone git@ihr-server:/srv/git/meinprojekt.git

SSH-Zugriffskonfiguration

Richten Sie SSH für sicheren Git-Zugriff ein:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Öffentliche Schlüssel der Entwickler hinzufügen
chmod 600 .ssh/authorized_keys

# Verbindung testen:
ssh git@ihr-server

Sicherheitsbest Practices

  • Verwenden Sie SSH-Schlüssel statt Passwörter
  • Aktivieren Sie Zwei-Faktor-Authentifizierung (GitLab/Gitea)
  • Regelmäßige Backups von Repositories
  • Halten Sie Git-Server-Software aktualisiert
  • Konfigurieren Sie die Firewall zur Zugriffsbeschränkung
  • Verwenden Sie SSL/TLS für Web-Interfaces
  • Implementieren Sie Zugriffskontrollen und Berechtigungen
  • Überwachen Sie Protokolle auf verdächtige Aktivitäten

Backup-Strategie

Regelmäßige Backups sind unerlässlich:

bash
#!/bin/bash
# Git-Repository-Backup-Skript
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)

tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Letzte 30 Tage behalten
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete