Torna al blog
Febbraio 2, 2026Guide

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.

Come Configurare un Server Git Privato su VPS

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:

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

Opzione 2: Gitea (Leggero)

Gitea è un servizio Git leggero e self-hosted:

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/

# Crea servizio systemd
nano /etc/systemd/system/gitea.service
# Configura e avvia Gitea
systemctl enable gitea
systemctl start gitea

Opzione 3: Repository Git Bare (Semplice)

Per l'hosting Git di base senza interfaccia web:

bash
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.git

Configurazione Accesso SSH

Configura SSH per l'accesso Git sicuro:

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

Migliori 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:

bash
#!/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 -delete