Volver al blog
Febrero 2, 2026Guías

Cómo Configurar un Servidor Git Privado en VPS

Guía completa para configurar su propio servidor Git privado en un VPS. Aprenda cómo alojar repositorios Git con control completo y privacidad usando GitLab, Gitea o repositorios bare.

Cómo Configurar un Servidor Git Privado en VPS

Alojar su propio servidor Git le brinda control completo sobre sus repositorios de código, garantizando privacidad y evitando la dependencia de servicios de terceros. Ya sea que necesite un repositorio bare simple o una plataforma completa de alojamiento Git, esta guía cubre múltiples opciones para configurar un servidor Git privado en su VPS.

¿Por Qué Alojar Su Propio Servidor Git?

  • Privacidad completa: Su código permanece en su servidor
  • Sin dependencia del proveedor: Control completo sobre sus repositorios
  • Personalización: Configure exactamente como desee
  • Rentable: Un servidor para repositorios ilimitados
  • Cumplimiento: Cumpla con los requisitos de residencia de datos
  • Aprendizaje: Comprenda los internos del servidor Git

Opción 1: GitLab (Completo)

GitLab proporciona una plataforma 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
# Acceda a GitLab en http://ip-de-su-servidor
# Nombre de usuario predeterminado: root
# Establezca la contraseña en el primer inicio de sesión

Opción 2: Gitea (Ligero)

Gitea es un servicio Git ligero y autohospedado:

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/

# Crear servicio systemd
nano /etc/systemd/system/gitea.service
# Configure e inicie Gitea
systemctl enable gitea
systemctl start gitea

Opción 3: Repositorio Git Bare (Simple)

Para alojamiento Git básico sin interfaz web:

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

# Establecer permisos adecuados
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Clonar desde el cliente:
git clone git@su-servidor:/srv/git/miproyecto.git

Configuración de Acceso SSH

Configure SSH para acceso seguro a Git:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Agregue claves públicas de desarrolladores
chmod 600 .ssh/authorized_keys

# Probar conexión:
ssh git@su-servidor

Mejores Prácticas de Seguridad

  • Use claves SSH en lugar de contraseñas
  • Habilite la autenticación de dos factores (GitLab/Gitea)
  • Copias de seguridad regulares de repositorios
  • Mantenga el software del servidor Git actualizado
  • Configure el firewall para restringir el acceso
  • Use SSL/TLS para interfaces web
  • Implemente controles de acceso y permisos
  • Monitoree los registros en busca de actividad sospechosa

Estrategia de Copia de Seguridad

Las copias de seguridad regulares son esenciales:

bash
#!/bin/bash
# Script de copia de seguridad del repositorio 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
# Mantenga los últimos 30 días
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete