Instalando o GitLab em um servidor VPS Debian 9 + ISPconfig

Procédure

O GitLab é uma ferramenta poderosa para gerir os seus vários repositórios Git com facilidade. No entanto, a sua configuração nos nossos sistemas operativos com ISPConfig 3 pode facilmente tornar-se uma dor de cabeça. É por isso que decidimos fornecer-lhe um manual completo para esta operação.

Requisitos

O GitLab requer pelo menos 2 GB de RAM. Juntamente com os 2 GB mínimos do ISPConfig 3, o número de processos executados (que representa quase 30% da quota do ISPConfig sem nenhum site), aoferta VPS L da gama LWS Starter é suficiente para pequenos projectos, mas recomendamos a gama VPS Pro para qualquer projeto profissional.

Para este tutorial, vamos usar um VPS com o sistema operacional Debian 9 + ISPConfig 3 em branco oferecido no Painel LWS. Aqui estão os links para outros tutoriais para outros sistemas operativos:

Se quiser mudar o sistema operativo da sua VPS, aqui está um link para a documentação de ajuda: How do I change the operating system on my VPS?

Por favor, note que este tutorial foi testado apenas numa instalação VIRGEM do Debian 9 + ISPConfig. Se você já instalou sites ou outros serviços no seu VPS, nós não podemos garantir que o tutorial será eficaz e/ou que todos os seus outros serviços estarão funcionais após a instalação.

Não se esqueça de ativar a porta SSH na firewall da sua VPS e de desativar a gestão SSH para que possa ligar-se como root à consola SSH.

Resumo do tutorial

Este tutorial abrange as seguintes etapas:

  1. Atualizar o sistema operacional
  2. Instalar o Gitlab
  3. Criação de um certificado SSL Let's Encrypt
  4. Configurar um proxy reverso no Apache em frente ao Gitlab

1. Atualizar o sistema operativo

Antes de instalar qualquer coisa, recomendamos que você atualize a lista de pacotes e os próprios pacotes. Na sua consola SSH, escreva os seguintes comandos:



apt-get update apt-get upgrade -y apt-get dist-upgrade -y

Também podemos atualizar o ISPConfig.

2. Instalando o Gitlab

Primeiro, vamos instalar as dependências requeridas pelo Gitlab:

apt-get install -y curl openssh-server ca-certificates

Em seguida, adicione o repositório do Gitlab ao seu VPS:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash

Agora vamos instalar o Gitlab na porta 6080 (uma porta escolhida aleatoriamente):

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

A instalação demora alguns minutos, por isso pode beber uma chávena de chá enquanto espera.

Dica: se tiver uma ligação instável à Internet, pode utilizar o screen para voltar a ligar-se à consola destacável no caso de uma desconexão inesperada. Documentação sobre como utilizar o ecrã.

A instalação falha. Isso é perfeitamente normal. Isto deve-se ao facto de o Gitlab tentar fazer alterações no kernel, mas estas alterações não são autorizadas nos servidores LWS VPS devido à tecnologia de virtualização utilizada. Para contornar esta situação, é necessário "tocar" (executar o comando touch) nos ficheiros de configuração do Kernel procurados pelo Gitlab para esvaziar o seu conteúdo de modo a poder continuar com a instalação:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Se houver outros arquivos de configuração, sinta-se à vontade para esvaziá-los de seu conteúdo. Em seguida, execute o seguinte comando para gerar novamente as configurações do Gitlab:

gitlab-ctl reconfigure

Agora você precisa parar o GitLab que, pelo que você conseguiu verificar, não está funcionando:

gitlab-ctl stop

O problema vem do módulo unicorn, que usa a mesma porta que o ISPConfig. Então vamos mudar sua porta editando o arquivo /etc/gitlab/gitlab.rb:

nano /etc/gitlab/gitlab.rb

e edite a seguinte linha:

# unicorn['port'] = 8080 unicorn['port'] = 8083

Antes, era um comentário e 8080 era o valor. Agora descomentámos e definimos 8083 como a porta. Vamos recriar os arquivos de configuração:

gitlab-ctl reconfigure

Agora precisamos de reiniciar o Gitlab:

gitlab-ctl restart

Dica: Se o unicórnio se recusar a iniciar, há processos filhos que ainda não foram fechados. Feche-os com gitlab-ctl stop e tente novamente.

3. Criando um certificado SSL Let's Encrypt

Para proteger o acesso ao Gitlab, vamos criar um certificado Let's Encrypt SSL que será instalado no proxy reverso.

Observação: não vamos instalar o certificado SSL no Gitlab. Vamos apenas proteger o acesso ao seu proxy reverso. O Gitlab só será acedido através do proxy inverso, pelo que podemos poupar ao nosso VPS um esforço de computação extra encriptando o tráfego que não sairá do VPS.

Para fazer isso, primeiro precisamos apontar git.example.com para seu VPS. Depois vamos usar o certbot:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.example.com

Nota: O ISPConfig (graças ao seu vhost e .conf para o Apache) redirecciona diretamente os pedidos contendo /.well-known/ para /usr/local/ispconfig/interface/acme/. Portanto, estamos a usar a autenticação webroot e estamos a usar a pasta ISPConfig fornecida para este fim. Isto evitará interferir com o ISPConfig durante as renovações.

Se esta é a primeira vez que cria um certificado Let's Encrypt SSL no seu VPS, deve introduzir um endereço de e-mail e aceitar os termos de utilização do Let's Encrypt.

4. Configurar o proxy reverso do Apache

Agora precisamos de configurar o proxy reverso com o Apache, que irá coexistir com o ISPConfig e os sites associados. Então vamos criar um novo arquivo de configuração :

nano /etc/apache2/sites-available/gitlab.conf

e vamos precisar de adicionar o seguinte conteúdo :


    ServerName git.exemple.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.exemple.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted P roxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.exemple.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.exemple.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.exemple.com/chain.pem

E vamos ativar este novo vhost :

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Mas antes de reiniciar o Apache, é necessário ativar os módulos necessários:

a2enmod proxy a2enmod proxy_http

Agora reinicie o Apache :

systemctl restart apache2

E pronto. Se aceder a git.example.com, verá que o Gitlab está pronto:

Instalando o GitLab em um servidor VPS Debian 9 + ISPconfig

Avaliar este artigo :

5/5 | 2 opinião

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artigos semelhantes

3mn leitura

Como posso aceder ao ISPConfig no meu servidor VPS dedicado?

0mn leitura

Como é que crio um servidor DNS no ISPConfig num servidor VPS dedicado?

0mn leitura

Como posso alterar a palavra-passe do painel do ISPConfig 3?

1mn leitura

Como posso proteger o acesso ao meu painel ISPconfig utilizando um ficheiro .htaccess?


Fazer uma pergunta à equipa do LWS e à sua comunidade