Voltar ao blog
Fevereiro 2, 2026Guias

Como Configurar um Servidor Git Privado em VPS

Guia completo para configurar o seu próprio servidor Git privado num VPS. Aprenda como hospedar repositórios Git com controlo e privacidade totais usando GitLab, Gitea ou repositórios bare.

Como Configurar um Servidor Git Privado em VPS

Hospedar o seu próprio servidor Git oferece controlo total sobre os seus repositórios de código, garantindo privacidade e evitando dependência de serviços terceiros. Quer precise de um repositório bare simples ou uma plataforma de hospedagem Git completa, este guia cobre múltiplas opções para configurar um servidor Git privado no seu VPS.

Por Que Hospedar o Seu Próprio Servidor Git?

  • Privacidade completa: O seu código permanece no seu servidor
  • Sem dependência de fornecedor: Controlo total sobre os seus repositórios
  • Personalização: Configure exatamente como deseja
  • Custo-efetivo: Um servidor para repositórios ilimitados
  • Conformidade: Atenda aos requisitos de residência de dados
  • Aprendizagem: Compreenda internos de servidor Git

Opção 1: GitLab (Completo)

GitLab fornece uma 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
# Aceda ao GitLab em http://your-server-ip
# Nome de utilizador padrão: root
# Defina palavra-passe no primeiro login

Opção 2: Gitea (Leve)

Gitea é um serviço Git auto-hospedado leve:

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/

# Criar serviço systemd
nano /etc/systemd/system/gitea.service
# Configure e inicie Gitea
systemctl enable gitea
systemctl start gitea

Opção 3: Repositório Git Bare (Simples)

Para hospedagem Git básica sem interface web:

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

# Definir permissões adequadas
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Clonar do cliente:
git clone git@your-server:/srv/git/myproject.git

Configuração de Acesso SSH

Configure SSH para acesso Git seguro:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Adicione chaves públicas de programadores
chmod 600 .ssh/authorized_keys

# Testar ligação:
ssh git@your-server

Melhores Práticas de Segurança

  • Use chaves SSH em vez de palavras-passe
  • Ative autenticação de dois fatores (GitLab/Gitea)
  • Backups regulares de repositórios
  • Mantenha software do servidor Git atualizado
  • Configure firewall para restringir acesso
  • Use SSL/TLS para interfaces web
  • Implemente controlos de acesso e permissões
  • Monitore registos para atividade suspeita

Estratégia de Backup

Backups regulares são essenciais:

bash
#!/bin/bash
# Script de backup de repositório 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
# Manter últimos 30 dias
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete