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.

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:
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 setzenOption 2: Gitea (leichtgewichtig)
Gitea ist ein leichtgewichtiger, selbst gehosteter Git-Dienst:
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 giteaOption 3: Bare Git-Repository (einfach)
Für grundlegendes Git-Hosting ohne Web-Interface:
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.gitSSH-Zugriffskonfiguration
Richten Sie SSH für sicheren Git-Zugriff ein:
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-serverSicherheitsbest 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:
#!/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