Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Avete bisogno di Gitlab per gestire i vostri progetti? Create la vostra istanza di GitLab sul vostro VPS seguendo questo tutorial.
Git è buono. Gitlab è meglio. Gitlab è un gestore di repository Git open-source. Sviluppato da GitLab Inc, offre un'interfaccia grafica intuitiva per la gestione dei vari progetti, mantenendo la compatibilità con Git. È possibile creare richieste di funzionalità, tracciare bug, ecc. in un team e tramite un browser web.
Gitlab è disponibile in diverse versioni, sia a pagamento che gratuite. Nel seguente tutorial installeremo GitLab Community Edition (Gitlab CE), la versione gratuita e open-source di Gitlab.
Per utilizzare GitLab, è necessario disporre di almeno :
Pertanto, ilVPS M della gamma Starter di LWS è ideale per pochi progetti Gitlab, ma se avete diversi collaboratori e/o diversi progetti da completare, vi consigliamo di utilizzare il VPS L o uno dei VPS della gamma Pro.
Per questo tutorial, considereremo un sistema operativo completamente vuoto dall'immagine di sistema Debian 9 + SSH offerta sul pannello LWS. Ecco i link ad altre esercitazioni per altri sistemi operativi:
Se volete cambiare il sistema operativo sul vostro VPS, ecco un link alla documentazione di aiuto: Come posso cambiare il sistema operativo sul mio VPS?
Si noti che questo tutorial si basa su un'installazione VERGINE di Debian 9. Se avete già installato qualcosa, non possiamo garantire che il tutorial sia efficace e/o che tutti gli altri servizi siano disponibili dopo l'installazione.
Non dimenticate di abilitare la porta SSH sul vostro firewall VPS in modo da potervi connettere come root alla console SSH.
Ecco i passaggi che verranno trattati in questo tutorial:
Prima di installare qualsiasi cosa, si consiglia di aggiornare l'elenco dei pacchetti e i pacchetti stessi.
Sulla vostra console SSH, scrivete i seguenti comandi:
apt-get update apt-get upgrade -y apt-get dist-upgrade -y
Per prima cosa, installiamo le dipendenze necessarie:
apt-get install -y curl openssh-server ca-certificates
Quindi, aggiungere il repository Gitlab al proprio VPS:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
Ora installiamo Gitlab:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
L'installazione richiede alcuni minuti, quindi potete prendere un caffè mentre aspettate.
Suggerimento: se la connessione a Internet è instabile, si può usare screen per riconnettersi alla console staccabile in caso di disconnessione inaspettata. Documentazione sull'uso di screen.
Una volta completata l'installazione, andare su http://vpsXXXXX.lws-hosting.com
per configurare Gitlab.
Suggerimento: se si ottiene un errore 502, provare a riavviare Gitlab con il comando
gitlab-ctl restart
e poi attendere 5 minuti prima di riprovare(Ctrl+F5
).
Se tutto va come previsto, si verrà reindirizzati a una pagina per la creazione della password di Gitlab.
Specificate una password relativamente complessa. È anche possibile generare una password casuale.
Una volta fatto questo, è possibile connettersi a Gitlab con l'utente root e la password specificata.
Ora si tratta di configurare un reverse proxy con NGINX. Questo vi permetterà di ospitare altri siti e applicazioni in futuro, soprattutto se avete scelto un server VPS Cloud Pro S o superiore.
Il primo passo è spostare Gitlab su una porta non utilizzata. Per questo tutorial, utilizzeremo la porta 6080 (presa a caso).
Suggerimento: è possibile trovare l'elenco delle porte già in uso con il comando
netstat -tunap | grep LISTEN
Per farlo, modificare il file /etc/gitlab/gitlab.rb
con nano
(o vim
, o un altro editor):
nano /etc/gitlab/gitlab.rb
E modificare il valore di external_url
per includere la porta:
[## URL di GitLab ##! URL su cui GitLab sarà raggiungibile. ##! Per maggiori dettagli sulla configurazione di external_url vedere: ##! 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 poi Invio
per salvare il file e chiudere nano(Esc
e poi :wq
per vim).
Per applicare questa configurazione, eseguire il seguente comando:
gitlab-ctl reconfigure
Questa operazione richiederà un paio di minuti, mentre Gitlab sincronizza le sue impostazioni con le applicazioni che Gitlab utilizza di default (NGINX, omnibus, ecc.).
Gitlab è ora su 6080. Ora dobbiamo installare NGINX. L'installazione di NGINX è riassunta dalle seguenti righe di 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
Ora è il momento di creare un file di configurazione di NGINX per GitLab. Lo chiameremo /etc/nginx/conf.d/000-gitlab.conf
. Usare nano per creare questo file:
nano /etc/nginx/conf.d/000-gitlab.conf
Successivamente, occorre creare un nuovo blocco server{} e creare il reverse proxy. Ecco un contenuto suggerito:
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 $schema; proxy_set_header X-Forwarded-Protocollo $schema; proxy_set_header X-Url-Scheme $schema; } }
Suggerimento: Il prefisso "000- " è necessario per il file da caricare prima di
default.conf
. Altrimenti, il filedefault.conf
sovrascriverà la nostra configurazione.
Attivare NGINX all'avvio:
systemctl enable nginx
Quindi riavviare nginx con il seguente comando:
systemctl restart nginx
Successivamente, è necessario puntare gitlab.example.com al proprio VPS aggiungendo un record A alla propria zona DNS. Se il vostro DNS è gestito nello spazio client LWS, ecco come fare:
Quindi, configuriamo di nuovo Gitlab per accettare l'intestazione X-Forwarded-For per
trovare gli indirizzi IP reali dei visitatori. Questo si fa modificando il file /etc/gitlab/gitlab.rb:
[...] nginx['real_ip_header'] = 'X-Forwarded-For' nginx['real_ip_recursive'] = 'on' [...]
Quindi, risincronizzare le configurazioni di Gitlab e dei suoi servizi integrati:
gitlab-ctl reconfigure
A questo punto, dovreste essere in grado di connettervi a http://gitlab.exemple.com.
Ora dobbiamo proteggere il nostro accesso con un certificato SSL Let's Encrypt. Per prima cosa, installiamo certbot:
apt-get install certbot -y
Poi, impostiamo una webroot per l'autenticazione con Let's Encrypt. Per farlo, modificare il file /etc/nginx/conf.d/000-gitlab.conf
e aggiungere queste righe dopo il blocco location /
:
[...] location / { proxy_pass http://localhost:6080; [...] }location ^~ /.well-known/acme-challenge/ { root /var/www/letsencrypt; } }
Creare il file :
mkdir -p /var/www/letsencrypt
E riavviare NGINX :
systemctl restart nginx
Ora creiamo un certificato SSL per gitlab.example.com
:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Seguire le istruzioni sullo schermo:
Poi, modificheremo di nuovo /etc/nginx/conf.d/000-gitlab.conf
per aggiungere un nuovo server su HTTPS/443. Dobbiamo aggiungere le seguenti righe alla fine del file:
[...] 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 $schema; proxy_set_header X-Forwarded-Protocol $schema; proxy_set_header X-Url-Scheme $schema; } }
E riavviare il server NGINX:
systemctl restart nginx
Ora si dispone di un server Gitlab pronto all'uso all'indirizzo https://gitlab.exemple.com.
Vota questo articolo :
Questo articolo vi è stato utile ?
Sì
No