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 -yAguarde 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 perlAqui está o que cada pacote faz:
| Pacote | Finalidade |
|---|---|
curl | Descarrega scripts e ficheiros da web |
openssh-server | Ativa o acesso SSH ao seu servidor |
ca-certificates | Valida certificados SSL/TLS |
tzdata | Fornece dados de fuso horário |
perl | Necessá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 bashEste 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-ceSe 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-ceSubstitua 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_URLque 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 reconfigureEste 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.comou
http://YOUR_SERVER_IPPrimeiro 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.rbAdicione 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'] = trueGuarde 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.rbAdicione 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 reconfigureGitLab 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 startParar GitLab
sudo gitlab-ctl stopReiniciar GitLab
sudo gitlab-ctl restartVerificar Status do Serviço
sudo gitlab-ctl statusVisualizar Logs em Tempo Real
sudo gitlab-ctl tailVisualizar Logs de um Serviço Específico (por exemplo, NGINX)
sudo gitlab-ctl tail nginxEstes 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 daysExecute uma cópia de segurança manual a qualquer momento com:
sudo gitlab-backup createConfiguraçã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 statusResolução de Problemas Comuns
| Problema | Solução |
|---|---|
| GitLab não acessível após instalação | Verifique as regras de firewall; verifique EXTERNAL_URL em /etc/gitlab/gitlab.rb |
| Erro 502 Bad Gateway | Execute sudo gitlab-ctl restart; verifique os logs com sudo gitlab-ctl tail |
| Falha no certificado Let’s Encrypt | Certifique-se de que a porta 80 está aberta e o DNS do domínio está configurado corretamente |
| Alto uso de memória | Reduza os workers Puma em gitlab.rb: puma['worker_processes'] = 2 |
| Notificações por email não sendo enviadas | Verifique 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.
em todos os serviços de alojamento