Você decidiu que precisa começar a usar o GitLab para a gestão do seu projeto, mas não tem certeza de como instalar o GitLab de forma segura? Não apenas a instalação do GitLab é um processo complexo, mas se não for feito corretamente, seus dados podem estar em risco. Mas não se preocupe, você veio ao lugar certo!
Neste tutorial, você aprenderá todo o processo de instalação segura do GitLab, para que possa configurar a criptografia SSL e configurar o GitLab para um desempenho ideal.
Parece interessante? Vamos lá!
Pré-requisitos
Este tutorial será uma demonstração prática. Se você deseja acompanhar, certifique-se de ter o seguinte:
- A Linux server with root access – This demo uses Ubuntu 20.04 LTS, but any Linux distribution will work.
- A fully qualified domain name (FQDN) pointing to your server.
- Let’s Encrypt instalado no servidor.
- Requisitos mínimos – 8 GB de RAM, largura de banda de 50-100 Mb/s, processador de 2 GHz e 20 GB de espaço em disco.
Instalando o GitLab Community Edition
Agora que você tem um FQDN e seu servidor preparado, é hora de instalar o GitLab. Existem várias maneiras de instalar o GitLab, como usando o pacote Omnibus ou compilando a partir do código-fonte. Mas este tutorial se concentra na instalação do GitLab usando o repositório GitLab de seu desenvolvedor.
O GitLab vem em duas distribuições:
- Edição Comunitária do GitLab (CE) – para usuários que preferem uma versão de código aberto e suportada pela comunidade do GitLab.
- Edição Enterprise do GitLab (EE) – para usuários que necessitam dos recursos extras fornecidos pela Edição Enterprise do GitLab.
Mas esta demonstração utiliza a Edição Comunitária para testar a aplicação no seu ambiente de desenvolvimento.
1. Abra o seu terminal e execute o comando apt update
abaixo para garantir que o seu sistema tenha acesso a todas as últimas atualizações de software.
O comando apt update
atualiza os arquivos de índice de pacotes usados pelo utilitário apt
para obter informações sobre os pacotes disponíveis.

2. Em seguida, execute o comando apt install
abaixo para baixar (curl
) e instalar
as seguintes dependências necessárias para a instalação do seu GitLab:
pacote openssh-server
– Contém o daemon do servidor OpenSSH e ferramentas relacionadas, como a ferramenta de gerenciamento de chaves de host e o servidor, para fornecer acesso de login remoto aos usuários.- O pacote
ca-certificates
– Contém uma lista de certificados CA. Este pacote fornece os arquivos necessários para habilitar o suporte HTTPS no seu servidor.

3. Execute o comando curl
abaixo para baixar (curl
) o script de instalação do GitLab (https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce
). O comando então salva o script de instalação como um script shell (script.deb.sh
) e o executa como superusuário (sudo bash
).
Assim que o comando curl
for concluído, você receberá a seguinte saída.

4. Execute o comando apt-cache
abaixo para verificar se você adicionou com sucesso o repositório do GitLab.

5. Agora, execute novamente o comando apt update
para atualizar a lista de pacotes disponíveis. Este comando garante que seu sistema usará o repositório do GitLab recém-adicionado quando você instalar o GitLab.
6. Por fim, execute o comando apt install
abaixo para instalar o GitLab (gitlab-ce
) no seu sistema.

A instalação levará um tempo, mas você verá a seguinte saída quando a instalação estiver completa. Esta saída confirma que você agora instalou o GitLab com sucesso no seu sistema.

Configurando sua Instalação do GitLab
Agora você tem o GitLab instalado no seu sistema, mas precisará fazer algumas alterações de configuração antes de usar o GitLab. O arquivo de configuração do GitLab (/etc/gitlab/gitlab.rb) contém as configurações globais para o GitLab que não são específicas do ambiente do seu servidor GitLab.
Você irá modificar o arquivo de configuração do GitLab para definir o nome de domínio FQDN e a conexão segura com seu domínio.
1. Abra o arquivo de configuração /etc/gitlab/gitlab.rb no seu editor de texto favorito.
Uma das entradas mais importantes no arquivo de configuração do GitLab é a diretiva external url, como mostrado abaixo. Essa diretiva permite que os usuários acessem o GitLab através de um navegador da web.
Altere o valor da diretiva external url de http://gitlab.example.com para https://gitlab.seudominio.com, onde seudominio.com é o nome de domínio FQDN.

2. Em seguida, navegue até a seção integração Let’s Encrypt localizada no final, e configure as diretivas conforme a seguir:
- Descomente a diretiva
letsencrypt['enable']
removendo o#
precedente e altere o valor denil
paratrue
. Essa diretiva informa ao GitLab para configurar automaticamente o HTTPS no seu servidor. - Descomente a diretiva
letsencrypt['contact_emails']
removendo o#
precedente, e coloque seu endereço de e-mail como valor. O Let’s Encrypt usará este endereço de e-mail para contatá-lo quando precisar renovar seu certificado SSL (a cada 90 dias). - Grave as alterações e saia do editor.

3. Por último, execute o comando abaixo para reconfigurar
e aplicar as alterações no arquivo de configuração do GitLab /etc/gitlab/gitlab.rb para o GitLab.

Configurando seu Firewall para Conexões SSL
Agora que você configurou o GitLab, precisará configurar as regras do seu firewall para permitir conexões SSL e seguras com seu servidor. O Firewall Descomplicado (UFW) é o programa padrão para gerenciar regras de firewall no Ubuntu.
Se você colocou seu servidor atrás de um firewall, precisará abrir a porta HTTP 80
e a porta HTTPS 443 para conexões SSL.
Execute o seguinte comando para abrir as portas OpenSSH
, HTTP
e HTTPS
para o seu servidor GitLab.

Agora, execute o seguinte comando para verificar o status do seu firewall.

Protegendo o GitLab via Interface Web
Seu firewall está ativo, mas isso significa que seu GitLab está seguro? Adicionar camadas de segurança nunca é demais. Então você irá garantir ainda mais a segurança da sua instalação do GitLab via interface web.
1. Abra seu navegador favorito e acesse seu servidor GitLab. Por exemplo, http://gitlab.example.com, onde example.com é o nome de domínio FQDN.
Escolha entre o Chrome ou o Firefox ao acessar o seu servidor GitLab para uma melhor segurança. Esses navegadores da web utilizam seus próprios protocolos HTTP/HTTPS, que ajudam a aplicar políticas de segurança.
Abaixo, você pode ver a página de login do GitLab.

2. Em seguida, clique no ícone do cadeado (canto superior esquerdo) ao lado da barra de endereço, e você verá o status da sua conexão. Esta demonstração mostra que a Conexão é segura, indicando que a conexão com o servidor é feita via HTTPS.

Volte ao seu terminal e execute o comando cat
abaixo para obter a sua initial_root_password
.
Por padrão, a instalação do GitLab vem com uma senha inicial de root gerada automaticamente.
Copie e salve sua senha inicial de root em um local seguro. Você usará essa senha para fazer login no GitLab (passo quatro).

4. Volte ao seu navegador da web, digite root como nome de usuário e insira sua senha inicial de root como senha. Clique em Entrar para fazer login no seu servidor GitLab.

Após fazer login no seu servidor GitLab, seu navegador será redirecionado para o painel do GitLab, conforme mostrado abaixo.

Adicionando uma Chave SSH à sua Conta do GitLab
Além da interface web, você também pode acessar o GitLab via ambiente de linha de comando de maneira segura. Como? Primeiro, você precisará adicionar uma chave SSH à sua conta, para poder acessar o GitLab executando um comando no seu terminal sem precisar digitar uma senha.
1. Execute o comando ssh-keygen
para gerar um par de chaves SSH adequado para uso em conexões SSH. Quando solicitado, pressione a tecla Enter para manter o local de salvamento padrão para a chave SSH (/root/.ssh/id_rsa) e não adicione uma senha.

2. Execute o comando cat
abaixo para imprimir sua chave pública na tela, conforme mostrado abaixo. Copie toda a string da chave pública ssh-rsa e a salve em um local seguro. Você adicionará esta chave pública ao seu GitLab posteriormente (passo três).

3. Volte ao painel do GitLab no seu navegador para adicionar sua chave pública da seguinte maneira:
- Clique no menu Chaves SSH no painel esquerdo da página de Configurações de Usuário para acessar a página Chaves SSH.
- Cole a chave pública que você copiou (passo dois) no campo Chave, conforme mostrado abaixo.
- Forneça o nome desejado para a chave no campo Título. Mas para esta demonstração, o nome está definido como ATA–GitHub.
- Clique em Adicionar Chave para finalizar a adição da chave pública à sua conta.

Desabilitando Inscrições Públicas
Para segurança adicional, você pode desativar as inscrições públicas no GitLab. Por quê? A funcionalidade de inscrições públicas no GitLab permite que qualquer pessoa crie uma conta no servidor GitLab. Desativar esse recurso evita ataques de força bruta em seu servidor.
1. A partir do painel do GitLab, clique em Menu -> Admin para acessar o painel de administração, em seguida, clique em Configurações para acessar a página de configurações Gerais do painel de administração (passo dois).

2. Desative a opção Ativar inscrição na seção Restrições de inscrição. Fazendo isso, você desabilitará o recurso de inscrições públicas do GitLab.

3. Role para baixo e clique em Salvar alterações (parte inferior) para salvar as alterações feitas nas configurações de restrição de inscrição.

4. Finalmente, faça logout da sua conta e navegue até a tela de login do seu GitLab.
Como você pode ver abaixo, o link Registrar agora desapareceu.

Testando seu Servidor GitLab
Neste ponto, você já configurou e protegeu seu servidor GitLab, e isso é ótimo! Mas como você sabe se o seu servidor GitLab está realmente funcionando? Você testará seu servidor criando um projeto GitLab através do painel do GitLab e clonando o projeto para o seu servidor.
1. No painel do GitLab, clique no ícone de adição (+) ao lado da caixa de pesquisa, e depois clique em Novo projeto, conforme mostrado abaixo, para criar um novo projeto GitLab.

2. Em seguida, forneça o nome do seu Projeto preferido, mas para esta demonstração, o nome do projeto é definido como ATA GitLab, e o Slug do Projeto é definido como (ata–gitlab).
Clique em Criar projeto para criar seu novo projeto.

3. Volte ao seu terminal e execute os seguintes comandos para configurar seu nome de usuário global (--global user.name
) e email (--global user.email
) para o Git. Cada nome de usuário e email são globalmente únicos em todas as contas no servidor GitLab.
4. Agora, execute o comando git clone
abaixo para clonar o projeto GitLab ATA que você criou (passo dois) para o seu diretório atual. Substitua yourdomain.com
pelo seu FQDN.
Se tudo correr bem, você verá uma saída semelhante à abaixo. Quando a clonagem estiver completa, você terá um novo diretório chamado ATA-GitLab.

5. Por fim, execute o comando ls
para verificar se o diretório ATA-GitLab existe.
Como você pode clonar o novo projeto GitLab ATA e o diretório GitLab ATA existe, a saída abaixo confirma que seu servidor GitLab está funcionando corretamente.

Conclusão
Neste tutorial, você aprendeu como realizar uma instalação segura do GitLab em seu sistema Ubuntu Linux. Você se certificou de garantir seu servidor GitLab via interface web, adicionar chaves SSH à sua conta GitLab e testar se seu servidor GitLab funciona.
Com esse conhecimento recém-adquirido, talvez você queira aprender como configurar sistemas de Integração Contínua (CI) automatizados com GitLab?