Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Administração Linux

Como Instalar GitLab no Ubuntu: Guia Completo Passo a Passo

GitLab é uma das plataformas DevOps de código aberto mais poderosas disponíveis atualmente, oferecendo um conjunto abrangente de ferramentas incluindo controle de versão baseado em Git, pipelines de integração contínua/entrega contínua (CI/CD), rastreamento de problemas e recursos de colaboração em equipe — tudo em um único lugar. Quer você esteja gerenciando uma pequena equipe de desenvolvimento ou executando projetos de software em escala empresarial, auto-hospedar GitLab no Ubuntu oferece controle total sobre seus dados, fluxos de trabalho e infraestrutura.

Este guia o orienta em cada etapa da instalação e configuração do GitLab Community Edition (CE) em um servidor Ubuntu, desde a preparação inicial do sistema até a ativação de HTTPS e gerenciamento de serviços.

Pré-requisitos

Antes de começar, certifique-se de que tem o seguinte em vigor:

  • Um servidor a executar Ubuntu 20.04 ou 22.04 LTS (recomenda-se instalação limpa)
  • Um mínimo de 4 GB RAM e 2 núcleos CPU (GitLab recomenda pelo menos 4 núcleos para uso em produção)
  • Acesso root ou sudo ao servidor
  • Um nome de domínio registado apontando para o endereço IP do seu servidor (opcional mas fortemente recomendado para HTTPS)
  • Portas 80 e 443 abertas na sua firewall

> Dica: Para o melhor desempenho do GitLab, considere implementar num plano de VPS Hosting com RAM e recursos CPU suficientes. Os planos VPS da AlexHost são otimizados para cargas de trabalho Linux e vêm com acesso root completo, tornando-os um ambiente ideal para plataformas DevOps auto-hospedadas como GitLab.

Passo 1: Atualizar Pacotes do Sistema

Antes de instalar qualquer software, é crítico garantir que o índice de pacotes do seu sistema e os pacotes instalados estejam totalmente atualizados. Isso previne conflitos de dependência e garante que você esteja trabalhando com os patches de segurança mais recentes.

sudo apt update && sudo apt upgrade -y

Aguarde a conclusão do processo de atualização antes de prosseguir para a próxima etapa.

Passo 2: Instalar Dependências Necessárias

GitLab requer vários pacotes de suporte para funcionar corretamente, incluindo ferramentas para comunicação segura, gerenciamento de fuso horário e scripts. Instale-os com o seguinte comando:

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Aqui está o que cada pacote faz:

PacoteFinalidade
curlDescarrega scripts e ficheiros da web
openssh-serverAtiva o acesso SSH ao seu servidor
ca-certificatesValida certificados SSL/TLS
tzdataFornece dados de fuso horário
perlNecessário para os scripts internos do GitLab

Passo 3: Adicionar o Repositório Oficial do GitLab

O GitLab mantém um repositório de pacotes oficial que torna a instalação e futuras atualizações diretas. Use o seguinte comando para descarregar e executar o script de configuração do repositório:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Este script automaticamente:

  • Deteta a sua versão do Ubuntu
  • Adiciona o repositório de pacotes do GitLab às suas fontes APT
  • Importa a chave de assinatura GPG do repositório para verificação de pacotes

Após a conclusão do script, o seu sistema está pronto para instalar o GitLab diretamente da fonte oficial.

Passo 4: Instalar GitLab Community Edition

Agora instale o GitLab CE usando o apt gestor de pacotes. Deve definir a variável de ambiente EXTERNAL_URL para o URL ou endereço IP através do qual os utilizadores acederão à sua instância GitLab.

Se tem um nome de domínio:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Se está a usar um endereço IP (por exemplo, para um servidor local ou privado):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Substitua gitlab.yourdomain.com ou YOUR_SERVER_IP pelo seu domínio ou endereço IP real.

> Nota: O processo de instalação pode levar vários minutos, pois descarrega e configura todos os componentes do GitLab, incluindo PostgreSQL, Redis, NGINX e Sidekiq.

Durante a instalação, o GitLab irá:

  • Instalar todos os serviços inclusos (base de dados, cache, servidor web, etc.)
  • Configurar-se com base no EXTERNAL_URL que forneceu
  • Gerar ficheiros de configuração iniciais em /etc/gitlab/

Passo 5: Executar a Reconfiguração do GitLab

Após a instalação, execute o comando de reconfiguração para finalizar a configuração, inicializar o banco de dados e iniciar todos os serviços do GitLab:

sudo gitlab-ctl reconfigure

Este comando lê a configuração de /etc/gitlab/gitlab.rb e aplica todas as configurações. Também gera certificados SSL (se Let’s Encrypt estiver configurado), configura o esquema do banco de dados e inicia todos os serviços de fundo necessários.

Você deve ver uma saída longa terminando com uma mensagem semelhante a:

gitlab Reconfigured!

Passo 6: Aceder ao GitLab no Seu Navegador Web

Após a reconfiguração estar completa, abra o seu navegador web e navegue para o URL que especificou durante a instalação:

https://gitlab.yourdomain.com

ou

http://YOUR_SERVER_IP

Primeiro Acesso

Na sua primeira visita, o GitLab irá pedir-lhe para definir uma senha de administrador. Após defini-la, faça login utilizando as seguintes credenciais:

  • Nome de utilizador: root
  • Senha: A senha que acabou de criar

> Dica de Segurança: Altere as credenciais da conta root padrão imediatamente após o seu primeiro acesso. Crie uma conta de administrador pessoal e restrinja a conta root apenas para uso de emergência.

Passo 7: Configurar Notificações de Email do GitLab (Opcional)

Enviar notificações por email é essencial para uma instância GitLab em produção — permite recursos como verificação de conta, atualizações de merge request, alertas de CI/CD e redefinição de senha. Configure as definições SMTP no arquivo de configuração principal do GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adicione ou modifique o seguinte bloco de configuração SMTP:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Guarde o ficheiro e aplique as alterações:

sudo gitlab-ctl reconfigure

> Procura uma infraestrutura de email fiável? A AlexHost oferece serviços profissionais de Email Hosting que se integram perfeitamente com aplicações auto-hospedadas como o GitLab, fornecendo relay SMTP estável com elevada capacidade de entrega.

Passo 8: Ativar HTTPS com Let’s Encrypt (Recomendado)

Executar GitLab sobre HTTPS é fortemente recomendado para qualquer ambiente de produção ou equipa. GitLab tem suporte integrado para Let’s Encrypt, uma autoridade de certificados SSL gratuita e automatizada.

> Importante: Let’s Encrypt requer que o seu nome de domínio seja acessível publicamente e que a porta 80 esteja aberta no seu servidor. Não funcionará com endereços IP brutos.

Abra o ficheiro de configuração GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adicione a seguinte configuração:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Guarde o ficheiro e reconfigure GitLab:

sudo gitlab-ctl reconfigure

GitLab obterá e instalará automaticamente o seu certificado SSL, e a definição auto_renew garante que é renovado antes da expiração sem qualquer intervenção manual.

> Alternativa: Se preferir gerir certificados SSL de forma independente ou precisar de certificados wildcard/multi-domínio, AlexHost oferece uma gama de Certificados SSL que podem ser configurados manualmente nas definições NGINX do GitLab.

Passo 9: Gerenciar Serviços GitLab

GitLab agrupa sua própria ferramenta de gerenciamento de serviços chamada gitlab-ctl. Use os seguintes comandos para controlar os serviços GitLab:

Iniciar GitLab

sudo gitlab-ctl start

Parar GitLab

sudo gitlab-ctl stop

Reiniciar GitLab

sudo gitlab-ctl restart

Verificar Status do Serviço

sudo gitlab-ctl status

Visualizar Logs em Tempo Real

sudo gitlab-ctl tail

Visualizar Logs de um Serviço Específico (por exemplo, NGINX)

sudo gitlab-ctl tail nginx

Estes comandos são inestimáveis para resolução de problemas e manutenção rotineira. O comando status exibirá o estado de todos os sub-serviços GitLab, incluindo PostgreSQL, Redis, Sidekiq, Puma (servidor web) e NGINX.

Passo 10: Configuração Inicial do GitLab para Sua Organização

Com GitLab instalado e em execução, é hora de configurá-lo para as necessidades da sua equipe. Aqui estão as áreas-chave para configurar através da interface web do GitLab:

Gestão de Utilizadores

Navegue até Admin Area → Users para criar contas de utilizador para os membros da sua equipe. Pode configurar métodos de autenticação, incluindo LDAP, OAuth e SAML para single sign-on empresarial.

Grupos e Projetos

  • Grupos permitem-lhe organizar projetos relacionados e gerir permissões em escala
  • Projetos são repositórios individuais com seus próprios rastreadores de problemas, wikis e pipelines CI/CD

Pipelines CI/CD

O CI/CD integrado do GitLab é uma das suas funcionalidades mais poderosas. Crie um ficheiro .gitlab-ci.yml na raiz do seu repositório para definir pipelines automatizados de construção, teste e implementação.

Definições do Repositório

Configure regras de proteção de ramo, aprovações de pedidos de merge e fluxos de trabalho de revisão de código na secção Settings → Repository de cada projeto.

Configuração de Cópia de Segurança

Configure cópias de segurança automatizadas configurando o seguinte em /etc/gitlab/gitlab.rb:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Execute uma cópia de segurança manual a qualquer momento com:

sudo gitlab-backup create

Configuração de Firewall

Se você tiver UFW (Uncomplicated Firewall) ativado no seu servidor Ubuntu, certifique-se de permitir tráfego HTTP e HTTPS:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Resolução de Problemas Comuns

ProblemaSolução
GitLab não acessível após instalaçãoVerifique as regras de firewall; verifique EXTERNAL_URL em /etc/gitlab/gitlab.rb
Erro 502 Bad GatewayExecute sudo gitlab-ctl restart; verifique os logs com sudo gitlab-ctl tail
Falha no certificado Let’s EncryptCertifique-se de que a porta 80 está aberta e o DNS do domínio está configurado corretamente
Alto uso de memóriaReduza os workers Puma em gitlab.rb: puma['worker_processes'] = 2
Notificações por email não sendo enviadasVerifique as credenciais SMTP e execute sudo gitlab-rails console para testar

Conclusão

Instalar GitLab no Ubuntu é um processo direto que oferece uma plataforma DevOps de nível empresarial sob seu controle completo. Seguindo este guia, você configurou uma instância GitLab totalmente funcional com encriptação HTTPS, notificações por email e gerenciamento adequado de serviços — pronta para fluxos de trabalho de desenvolvimento do mundo real.

Auto-hospedar GitLab dá à sua equipe a liberdade de personalizar fluxos de trabalho, manter a soberania dos dados e integrar-se à sua infraestrutura existente sem custos recorrentes de assinatura SaaS. A chave para uma experiência suave com GitLab é começar com um servidor confiável e de alto desempenho.

Para equipes que precisam de uma base robusta para GitLab, os Servidores Dedicados da AlexHost oferecem desempenho máximo e isolamento, enquanto os planos de Hospedagem VPS fornecem uma alternativa econômica e escalável para equipes menores e projetos em crescimento. Ambas as opções vêm com acesso root completo, armazenamento SSD e suporte técnico 24/7 — tudo o que você precisa para executar GitLab com confiança.

Administração
Administração Nomes de Domínio
Administração