Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Precisa do Gitlab para gerir os seus projectos? Crie a sua própria instância do GitLab no seu VPS seguindo este tutorial.
Git é bom. Gitlab é melhor. O Gitlab é um gerenciador de repositório Git de código aberto. Desenvolvido pela GitLab Inc, oferece uma interface gráfica intuitiva para gerir os seus vários projectos, mantendo a compatibilidade com o Git. Pode criar pedidos de funcionalidades, seguir bugs, etc. numa equipa e através de um navegador Web.
O Gitlab está disponível em várias versões, tanto pagas como gratuitas. No tutorial a seguir, instalaremos o GitLab Community Edition (Gitlab CE), a versão gratuita e de código aberto do Gitlab.
Para usar o GitLab, você precisa de pelo menos :
O VPSM da gama LWS Starter será ideal para alguns projectos Gitlab, mas se tiver vários colaboradores e/ou vários projectos a realizar, recomendamos o VPS L ou um dos VPS da gama Pro.
Para este tutorial, vamos considerar um sistema operativo completamente vazio a partir da imagem de sistema Debian 9 + SSH proposta no Painel LWS. Aqui estão os links para outros tutoriais para outros sistemas operativos:
Se quiser alterar o sistema operativo da sua VPS, aqui está um link para a documentação de ajuda: Como posso alterar o sistema operativo da minha VPS?
Por favor, note que este tutorial é baseado numa instalação VIRGEM do Debian 9. Se já tiver instalado algo nela, não podemos garantir que o tutorial será eficaz e/ou que todos os seus outros serviços estarão disponíveis após a instalação.
Não se esqueça de ativar a porta SSH na firewall da sua VPS para que se possa ligar como root à consola SSH.
Aqui estão os passos que serão abordados neste tutorial:
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
Primeiro, vamos instalar as dependências necessárias:
apt-get install -y curl openssh-server ca-certificates
Em seguida, adicione o repositório Gitlab ao seu VPS:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
Agora vamos instalar o Gitlab:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
A instalação demora alguns minutos, por isso pode tomar um café enquanto espera.
Dica: se tiver uma ligação instável à Internet, pode utilizar o screen para se reconectar à consola destacável no caso de uma desconexão inesperada. Documentação sobre como utilizar o ecrã.
Quando a instalação estiver concluída, aceda a http://vpsXXXXX.lws-hosting.com
para configurar o Gitlab.
Dica: se receber um erro 502, tente reiniciar o Gitlab com o comando
gitlab-ctl restart
e aguarde 5 minutos antes de tentar novamente(Ctrl+F5
).
Se tudo correr como planeado, será redireccionado para uma página para criar a sua palavra-passe do Gitlab.
Especifique uma palavra-passe relativamente complexa. Também pode gerar uma palavra-passe aleatória.
Uma vez feito isso, você pode se conectar ao Gitlab com o usuário root e a senha que você especificou.
Agora vamos configurar um proxy reverso com o NGINX. Isto permitir-lhe-á alojar outros sites e aplicações no futuro, nomeadamente se tiver optado por um servidor VPS Cloud Pro S ou superior.
O primeiro passo é mover o Gitlab para uma porta não utilizada. Para este tutorial, utilizaremos a porta 6080 (escolhida ao acaso).
Dica: é possível encontrar a lista de portas já em uso com o comando
netstat -tunap | grep LISTEN
Para isso, edite o arquivo /etc/gitlab/gitlab.rb
com o nano
(ou vim
, ou outro editor):
nano /etc/gitlab/gitlab.rb
E edite o valor de external_url
para incluir a porta:
[...] ## URL do GitLab ##! URL na qual o GitLab será acessível. ##! Para mais detalhes sobre como configurar external_url veja: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url'http://vpsXXXXX.lws-hosting.com:6080'[...]
Ctrl+X
, Y
e depois Enter
para salvar o arquivo e fechar o nano(Esc
e depois :wq
para o vim).
Para aplicar essa configuração, execute o seguinte comando:
gitlab-ctl reconfigure
Isso levará um ou dois minutos enquanto o Gitlab sincroniza suas configurações com os aplicativos que o Gitlab usa por padrão (NGINX, omnibus, etc.).
O Gitlab está agora no 6080. Agora precisamos de instalar o NGINX. A instalação do NGINX é resumida pelas seguintes linhas de comando:
apt-get install -y curl gnupg2 ca-certificates lsb-release echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add - apt-get update apt-get install -y nginx
Agora é hora de criar um arquivo de configuração do NGINX para o GitLab. Vamos chamá-lo de /etc/nginx/conf.d/000-gitlab.conf
. Use o nano para criar esse arquivo:
nano /etc/nginx/conf.d/000-gitlab.conf
Em seguida, precisamos criar um novo bloco server{} e criar o proxy reverso. Aqui está um conteúdo sugerido :
server { listen 80; server_name gitlab.example.
com; location / { proxy_pass http://localhost:
6080; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Url-Scheme $scheme; } }
Dica: O prefixo "000- " é necessário para que o arquivo seja carregado antes do
default.conf
. Caso contrário, o arquivodefault.conf
sobrescreverá nossa configuração.
Ativar o NGINX na inicialização:
systemctl enable nginx
Em seguida, reinicie o nginx com o seguinte comando:
systemctl restart nginx
Em seguida, é necessário apontar gitlab.example.com para o seu VPS, adicionando um registo A à sua zona DNS. Se o seu DNS for gerenciado no espaço do cliente LWS, veja como fazer isso:
Em seguida, vamos configurar o Gitlab novamente para aceitar o cabeçalho X-Forwarded-For
para encontrar os endereços IP reais dos visitantes. Isso é feito editando o arquivo /etc/gitlab/gitlab.rb:
[...] nginx['real_ip_header'] = 'X-Forwarded-For' nginx['real_ip_recursive'] = 'on' [...]
Em seguida, sincronize novamente as configurações do Gitlab e seus serviços incorporados:
gitlab-ctl reconfigure
Nesta fase, você deve ser capaz de se conectar a http://gitlab.exemple.com.
Vamos agora proteger o nosso acesso com um certificado Let's Encrypt SSL. Primeiro, vamos instalar o certbot :
apt-get install certbot -y
Em seguida, vamos configurar um webroot para a autenticação do Let's Encrypt. Para fazer isso, edite o arquivo /etc/nginx/conf.d/000-gitlab.conf
e adicione estas linhas após o bloco location /
:
[...] location / { proxy_pass http://localhost:6080; [...] }location ^~ /.well-known/acme-challenge/ { root /var/www/letsencrypt; }}
Criar o ficheiro :
mkdir -p /var/www/letsencrypt
E reinicie o NGINX :
systemctl restart nginx
Agora vamos criar um certificado SSL para gitlab.example.com
:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Siga as instruções no ecrã:
Em seguida, vamos editar o arquivo /etc/nginx/conf.d/000-gitlab.conf
novamente para adicionar um novo servidor em HTTPS/443. Precisamos de adicionar as seguintes linhas ao final do ficheiro:
[...] server { listen 443 ssl; server_name gitlab.example.com; ssl_certificate /etc/letsencrypt/live/gitlab.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gitlab.example.com/privkey.
pem; location / { proxy_pass http://localhost:
6080; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Url-Scheme $scheme; } }
E reinicie o seu servidor NGINX :
systemctl restart nginx
Agora você tem um servidor Gitlab pronto para uso em https://gitlab.exemple.com.
Avaliar este artigo :
Este artigo foi útil para si ?
Sim
Não