Implantação de GitLab Community Edition com Configuração HTTPS em Servidor Linux

Preparação do Ambiente

Antes de iniciar a instalação do GitLab, é necessário configurar o sistema operacional para garantir compatibilidade e segurança adequada.

Configuração de Segurança do Sistema

Desative temporariamente o firewall e o SELinux para evitar interferências durante a instalação:

# Parar e desabilitar o firewalld
systemctl disable --now firewalld

# Desativar SELinux imediatamente
setenforce 0

# Tornar a desativação do SELinux permanente
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

Atualização do Sistema

Reinicie o servidor para aplicar as alterações de segurança:

reboot

Após o reinício, verifique o status do SELinux:

getenforce
# Saída esperada: Disabled

Instalação do GitLab CE

Instalação de Dependências

Instale os pacotes necessários para o funcionamento do GitLab:

sudo yum install -y curl policycoreutils-python-utils openssh-server perl postfix wget

Configuração do Repositório

Adicione o repositório oficial do GitLab às fontes do sistema:

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

Nota: Se a velocidade de download for baixa, considere utilizar um espelho regional.

Instalação do Pacote

Inicie o serviço de e-mail e instale o GitLab Community Edition:

# Ativar e iniciar o serviço postfix
systemctl enable --now postfix

# Instalar GitLab CE
sudo yum install -y gitlab-ce

Configuração de Certificados SSL

Geração de Certificados Autoassinados

Crie um diretório para armazenar os certificados e gere os arquivos necessários:

# Criar diretório para certificados
sudo mkdir -p /etc/gitlab/certificados
cd /etc/gitlab/certificados

# Gerar chave privada
openssl genrsa -aes256 -out git.servidor.local.chave 2048

# Remover senha da chave para uso automatizado
openssl rsa -in git.servidor.local.chave -out git.servidor.local.chave

# Gerar CSR (Certificate Signing Request)
openssl req -new -sha256 -key git.servidor.local.chave -out git.servidor.local.csr

# Gerar certificado autoassinado
openssl x509 -req -days 730 -in git.servidor.local.csr -signkey git.servidor.local.chave -out git.servidor.local.crt

# Gerar parâmetros DH
openssl dhparam -out dhparametros.pem 2048

# Ajustar permissões de segurança
sudo chmod 640 git.servidor.local.* dhparametros.pem

Configuração do GitLab

Mdoificações no Arquivo de Configuração

Edite o arquivo principal de configuração do GitLab:

sudo vim /etc/gitlab/gitlab.rb

Faça as seguintes alterações:

# Alterar a URL externa para HTTPS
external_url 'https://git.servidor.local'

# Habilitar redirecionamento HTTP para HTTPS
nginx['redirect_http_to_https'] = true

# Configurar caminho do certificado SSL
nginx['ssl_certificate'] = "/etc/gitlab/certificados/git.servidor.local.crt"

# Configurar caminho da chave privada
nginx['ssl_certificate_key'] = "/etc/gitlab/certificados/git.servidor.local.chave"

# Configurar parâmetros DH
nginx['ssl_dhparam'] = "/etc/gitlab/certificados/dhparametros.pem"

Aplicação das Configurações

Após salvar as alterações, reconfigure o GitLab:

sudo gitlab-ctl reconfigure

Configuração do Serviço Web

O Nginx é configurado automaticamente pelo GitLab. Para verificar a configuração:

# Visualizar configuração do Nginx
sudo vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

# Reiniciar serviços do GitLab
sudo gitlab-ctl restart

Acesso Inicial

Após a conclusão, acesse o servidor via navegador usando o endereço HTTPS configurado.

Credenciais iniciais:

  • Usuário: root
  • Senha: Localizada em /etc/gitlab/initial_root_password
sudo cat /etc/gitlab/initial_root_password

O sistema estará pronto para uso após o primeiro acesso.

Tags: gitlab gitlab-ce ssl HTTPS nginx

Publicado em 9-27 23:25