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.