Você decidiu que precisa começar a usar o GitLab para o gerenciamento do seu projeto, mas não tem certeza de como instalar o GitLab com segurança? Não apenas instalar o 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 do GitLab com segurança, para que possa configurar a criptografia SSL e configurar o GitLab para obter o melhor desempenho.
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 a Edição Comunitária do GitLab
Agora que você tem um FQDN e seu servidor preparado, é hora de instalar o GitLab. Existem várias maneiras de instalar o GitLab, como usar o pacote Omnibus ou compilar a partir do código-fonte. Mas este tutorial se concentra na instalação do GitLab usando o repositório GitLab de seu desenvolvedor.
GitLab está disponível em duas distribuições:
- GitLab Community Edition (CE) – para usuários que preferem uma versão de código aberto, suportada pela comunidade, do GitLab.
- GitLab Enterprise Edition (EE) – para usuários que necessitam das funcionalidades extras fornecidas pela GitLab Enterprise Edition.
Mas esta demonstração utiliza a Community Edition para testar a aplicação no ambiente de desenvolvimento.
1. Abra seu terminal e execute o comando apt update
abaixo para garantir que seu sistema tenha acesso a todas as atualizações mais recentes do software.
O comando apt update
atualiza os arquivos de índice de pacotes usados pela utilidade 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 dependências necessárias a seguir para a instalação do GitLab:
openssh-server
pacote – 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 remoto de login 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 de 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 o repositório do GitLab com sucesso.

5. Agora, execute novamente o comando apt update
para atualizar a lista de pacotes disponíveis. Este comando garante que o seu sistema usará o repositório do GitLab recém-adicionado ao 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á algum 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
Você agora tem o GitLab instalado em 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 do GitLab que não são específicas do ambiente do seu servidor GitLab.
Você vai modificar o arquivo de configuração do GitLab para definir o nome de domínio FQDN e a conexão segura com o 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. Esta 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.yourdomain.com, onde yourdomain.com é o nome de domínio FQDN.

2. Em seguida, navegue até a seção de integração do Let’s Encrypt localizada na parte inferior e configure as diretivas com o seguinte:
- Remova o
#
precedente e altere o valor deletsencrypt['enable']
denil
paratrue
. Esta diretiva diz ao GitLab para configurar o HTTPS em seu servidor automaticamente. - Remova o
#
precedente da diretivaletsencrypt['contact_emails']
e coloque seu endereço de e-mail como o valor. O Let’s Encrypt usará este endereço de e-mail para entrar em contato com você quando precisar renovar seu certificado SSL (a cada 90 dias). - Salve 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 em /etc/gitlab/gitlab.rb ao 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 o 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.

Assegurando o GitLab via Interface Web
Seu firewall está ativo, mas isso significa que o seu GitLab está seguro? Adicionar camadas de segurança nunca é demais. Então, você irá garantir ainda mais a sua instalação do GitLab via interface web.
1. Abra seu navegador web favorito e acesse o seu servidor GitLab. Por exemplo, http://gitlab.example.com, onde example.com é o nome de domínio FQDN.
Cescolha entre o Chrome ou o Firefox ao acessar seu servidor GitLab para 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 (no 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 sua conexão com o servidor é via HTTPS.

Volte ao seu terminal e execute o comando cat
abaixo para obter sua initial_root_password
.
Por padrão, a instalação do GitLab vem com uma senha raiz inicial gerada automaticamente.
Copie e salve sua senha raiz inicial em um local seguro. Você usará esta 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 raiz inicial como senha. Clique em Entrar para acessar seu servidor GitLab.

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

Adicionando uma Chave SSH à sua Conta GitLab
Além da interface web, você também pode acessar o GitLab via ambiente de linha de comando de forma segura. Como? Primeiro, você precisará adicionar uma chave SSH à sua conta, permitindo que você acesse o GitLab executando um comando no seu terminal sem precisar inserir 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 frase secreta.

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

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

Desativando Inscrições Públicas
Para segurança adicional, você pode desativar inscrições públicas no GitLab. Por quê? A função de inscrições públicas no GitLab permite que qualquer pessoa crie uma conta no servidor do GitLab. Desativar essa função permite que você evite ataques de força bruta em seu servidor.
1. No 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 Habilitar inscrição na seção Restrições de inscrição. Fazendo isso, desabilita a funcionalidade de inscrições públicas do GitLab.

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

4. Por fim, faça logout de sua conta e acesse 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, o que é ótimo! Mas como saber se o servidor GitLab está realmente funcionando? Você testará seu servidor criando um projeto GitLab através do painel do GitLab e clonando o projeto para seu servidor.
1. No painel do GitLab, clique no ícone de mais (+) ao lado da caixa de pesquisa, em seguida, clique em Novo projeto, como mostrado abaixo, para criar um novo projeto GitLab.

2. Em seguida, forneça o seu Nome do 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. Retorne 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 do GitLab.
4. Agora, execute o comando git clone
abaixo para clonar o projeto ATA GitLab que você criou (passo dois) para o seu diretório atual. Substitua seudominio.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.
Dado que você pode clonar o novo projeto ATA GitLab e que o diretório ATA GitLab 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ê garantiu a segurança do seu servidor GitLab através da interface web, adicionou chaves SSH à sua conta do GitLab e testou se o seu servidor GitLab está funcionando.
Com este novo conhecimento, talvez você queira aprender como configurar sistemas automatizados de Integração Contínua (CI) com o GitLab?