Come Configurare un Server Git Privato su VPS
Guida completa per configurare il tuo server Git privato su un VPS. Impara come ospitare repository Git con controllo e privacy completi utilizzando GitLab, Gitea o repository bare.

Ospitare il tuo server Git ti dà il controllo completo sui tuoi repository di codice, garantendo la privacy ed evitando la dipendenza da servizi di terze parti. Che tu abbia bisogno di un semplice repository bare o di una piattaforma di hosting Git completa, questa guida copre più opzioni per configurare un server Git privato sul tuo VPS.
Perché Ospitare il Tuo Server Git?
- Privacy completa: Il tuo codice rimane sul tuo server
- Nessun vendor lock-in: Controllo completo sui tuoi repository
- Personalizzazione: Configura esattamente come vuoi
- Convenienza: Un server per repository illimitati
- Conformità: Soddisfa i requisiti di residenza dei dati
- Apprendimento: Comprendi gli internals del server Git
Opzione 1: GitLab (Completo)
GitLab fornisce una piattaforma DevOps completa:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Accedi a GitLab su http://your-server-ip
# Nome utente predefinito: root
# Imposta la password al primo accessoOpzione 2: Gitea (Leggero)
Gitea è un servizio Git leggero e self-hosted:
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/
# Crea servizio systemd
nano /etc/systemd/system/gitea.service
# Configura e avvia Gitea
systemctl enable gitea
systemctl start giteaOpzione 3: Repository Git Bare (Semplice)
Per l'hosting Git di base senza interfaccia web:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# Imposta i permessi corretti
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Clona dal client:
git clone git@your-server:/srv/git/myproject.gitConfigurazione Accesso SSH
Configura SSH per l'accesso Git sicuro:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Aggiungi le chiavi pubbliche degli sviluppatori
chmod 600 .ssh/authorized_keys
# Testa la connessione:
ssh git@your-serverMigliori Pratiche di Sicurezza
- Usa chiavi SSH invece di password
- Abilita l'autenticazione a due fattori (GitLab/Gitea)
- Backup regolari dei repository
- Mantieni il software del server Git aggiornato
- Configura il firewall per limitare l'accesso
- Usa SSL/TLS per le interfacce web
- Implementa controlli di accesso e permessi
- Monitora i log per attività sospette
Strategia di Backup
I backup regolari sono essenziali:
#!/bin/bash
# Script di backup repository Git
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Mantieni gli ultimi 30 giorni
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -deleteConfigurare il tuo server Git fornisce il controllo completo sui tuoi repository di codice. Sia che tu scelga GitLab completo, Gitea leggero o repository bare semplici, avrai una soluzione privata e sicura per il controllo versione. Inizia con una configurazione di base e aggiungi gradualmente funzionalità come CI/CD, tracciamento dei problemi e strumenti di collaborazione secondo necessità.