GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare in modo sicuro Gitlab (un tutorial)

Hai deciso che devi iniziare a utilizzare GitLab per la gestione dei tuoi progetti, ma non sai come installare GitLab in modo sicuro? Non solo l'installazione di GitLab è un processo complesso, ma se non viene eseguita correttamente, i tuoi dati potrebbero essere a rischio. Ma non preoccuparti, sei nel posto giusto!

Non sei un lettore? Guarda questo video tutorial correlato! Non vedi il video? Assicurati che il blocco degli annunci sia disattivato.

In questo tutorial imparerai l'intero processo di installazione di GitLab in modo sicuro, così potrai impostare la crittografia SSL e configurare GitLab per prestazioni ottimali.

Sembra interessante? Salta subito!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri continuare, assicurati di avere quanto segue:

  • Un server Linux con accesso root:questa demo utilizza Ubuntu 20.04 LTS, ma qualsiasi distribuzione Linux funzionerà.
  • Un nome di dominio completo (FQDN) che punta al tuo server.
  • Let's Encrypt installato sul server.
  • Requisiti minimi:8 GB di RAM, 50-100 Mb/s di larghezza di banda, processore da 2 GHz e 20 GB di spazio su disco.

Installazione di GitLab Community Edition

Ora che hai un FQDN e il tuo server preparato, è il momento di installare GitLab. Esistono diversi modi per installare GitLab, ad esempio utilizzando il pacchetto Omnibus o compilando dal sorgente. Ma questo tutorial si concentra sull'installazione di GitLab utilizzando il repository GitLab del suo sviluppatore.

GitLab è disponibile in due distribuzioni:

  • GitLab Community Edition (CE) – per gli utenti che preferiscono una versione open source supportata dalla community di GitLab.
  • GitLab Enterprise Edition (EE) – per gli utenti che necessitano delle funzionalità extra fornite da GitLab Enterprise Edition.

Ma questa demo utilizza la Community Edition per testare l'applicazione nel tuo ambiente di sviluppo.

1. Apri il tuo terminale ed esegui apt update comando di seguito per garantire che il sistema abbia accesso a tutti gli ultimi aggiornamenti software.

Il apt update il comando aggiorna i file di indice del pacchetto utilizzati da apt utility per recuperare informazioni sui pacchetti disponibili.

sudo apt update -y

2. Quindi, esegui apt install comando qui sotto per scaricare (curl ) e install le seguenti dipendenze richieste per l'installazione di GitLab:

  • openssh-server pacchetto:contiene il daemon del server OpenSSH e gli strumenti correlati, come lo strumento di gestione delle chiavi host e il server, per fornire agli utenti l'accesso remoto.
  • ca-certificates pacchetto:contiene un elenco di certificati CA. Questo pacchetto fornisce i file necessari per abilitare il supporto HTTPS sul tuo server.
sudo apt install curl openssh-server ca-certificates -y

3. Esegui curl comando qui sotto per scaricare (curl ) lo script di installazione da GitLab ( https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce ). Il comando salva quindi lo script di installazione come script di shell (script.deb.sh ) e lo esegue come superutente (sudo bash ).

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

Una volta che il curl comando completato, otterrai il seguente output.

4. Esegui apt-cache comando seguente per verificare di aver aggiunto correttamente il repository GitLab.

apt-cache policy docker-ce

5. Ora, esegui nuovamente il apt update comando per aggiornare l'elenco dei pacchetti disponibili. Questo comando assicura che il tuo sistema utilizzerà il repository GitLab appena aggiunto quando installi GitLab.

sudo apt update -y

6. Infine, esegui apt install comando seguente per installare GitLab (gitlab-ce ) sul tuo sistema.

sudo apt install gitlab-ce -y

L'installazione richiederà del tempo, ma al termine dell'installazione verrà visualizzato il seguente output. Questo output conferma che ora hai installato con successo GitLab sul tuo sistema.

Configurazione dell'installazione di GitLab

Ora hai GitLab installato sul tuo sistema, ma dovrai apportare alcune modifiche alla configurazione prima di utilizzare GitLab. Il file di configurazione di GitLab (/etc/gitlab/gitlab.rb ) contiene le impostazioni globali per GitLab che non sono specifiche per l'ambiente del tuo server GitLab.

Modificherai il file di configurazione di GitLab per impostare il tuo nome di dominio FQDN e proteggere la connessione al tuo dominio.

1. Apri /etc/gitlab/gitlab.rb file di configurazione nel tuo editor di testo preferito.

Una delle voci più importanti nel file di configurazione di GitLab è l'URL esterno direttiva, come illustrato di seguito. Questa direttiva consente agli utenti di accedere a GitLab tramite un browser web.

Modifica l'URL esterno valore della direttiva da http://gitlab.example.com a https://gitlab.yourdomain.com , dove tuodominio.com è il tuo nome di dominio FQDN.

2. Quindi, vai all'integrazione Let's Encrypt sezione che si trova in basso, e configurare le direttive con quanto segue:

  • Decommenta il letsencrypt['enable'] direttiva rimuovendo il precedente # e cambia il valore da nil a true . Questa direttiva dice a GitLab di configurare automaticamente HTTPS sul tuo server.
  • Decommenta il letsencrypt['contact_emails'] direttiva rimuovendo il precedente # e inserisci il tuo indirizzo email come valore. Let's Encrypt utilizzerà questo indirizzo email per contattarti quando dovrai rinnovare il tuo certificato SSL (ogni 90 giorni).
  • Salva le modifiche ed esci dall'editor.

3. Infine, esegui il comando seguente su reconfigure e applica le modifiche in /etc/gitlab/gitlab.rb file di configurazione su GitLab.

sudo gitlab-ctl reconfigure

Configurazione del firewall per connessioni SSL

Ora che hai configurato GitLab, dovrai configurare le regole del firewall per consentire SSL e connessioni sicure al tuo server. Uncomplicated Firewall (UFW) è il programma predefinito per gestire le regole del firewall in Ubuntu.

Se metti il ​​tuo server dietro un firewall, dovrai aprire la porta HTTP 80 e la porta HTTPS 443 per le connessioni SSL.

Esegui il comando seguente per aprire OpenSSH , HTTP e HTTPS porte per il tuo server GitLab.

sudo ufw allow OpenSSH && sudo ufw allow http && sudo ufw allow http

Ora, esegui il seguente comando per controllare lo stato del tuo firewall.

sudo ufw status 

Protezione di GitLab tramite l'interfaccia Web

Il tuo firewall è attivo, ma significa che il tuo GitLab è sicuro? L'aggiunta di livelli di sicurezza non è mai troppo. Così proteggerai ulteriormente la tua installazione di GitLab tramite l'interfaccia web.

1. Apri il tuo browser web preferito e accedi al tuo server GitLab. Ad esempio, http://gitlab.example.com , dove esempio.com è il tuo nome di dominio FQDN.

Cscegli Chrome o Firefox quando accedi al tuo server GitLab per una maggiore sicurezza. Questi browser Web utilizzano i propri protocolli HTTP/HTTPS, che aiutano a far rispettare le politiche di sicurezza.

Di seguito, puoi vedere la pagina di accesso di GitLab.

2. Quindi, fai clic sull'icona del lucchetto (in alto a sinistra) accanto alla barra degli indirizzi e vedrai lo stato della tua connessione. Questa demo mostra che La connessione è sicura , che indica che la tua connessione al server avviene tramite HTTPS.

Torna al tuo terminale ed esegui il cat comando qui sotto per ottenere il tuo initial_root_password .

Per impostazione predefinita, l'installazione di GitLab viene fornita con una password di root iniziale generata automaticamente.

 cat /etc/gitlab/initial_root_password

Copia e salva la tua password di root iniziale in un luogo sicuro. Utilizzerai questa password per accedere a GitLab (passaggio quattro).

4. Torna al tuo browser web, digita root come nome utente e inserisci la tua password di root iniziale come password. Fai clic su Accedi per accedere al tuo server GitLab.

Dopo aver effettuato l'accesso al tuo server GitLab, il tuo browser reindirizza alla dashboard di GitLab, come mostrato di seguito.

Aggiunta di una chiave SSH al tuo account GitLab

Oltre all'interfaccia web, puoi anche accedere a GitLab tramite un ambiente a riga di comando in modo sicuro. Come? Dovrai prima aggiungere una chiave SSH al tuo account, in modo da poter accedere a GitLab eseguendo un comando sul tuo terminale senza dover inserire una password.

1. Esegui ssh-keygen comando per generare una coppia di chiavi SSH adatta per l'uso nelle connessioni SSH. Quando richiesto, premi il tasto Invio per mantenere la posizione di salvataggio predefinita per la chiave SSH (/root/.ssh/id_rsa ) e non aggiungere una passphrase.

ssh-keygen

2. Esegui cat comando seguente per stampare la tua chiave pubblica sullo schermo, come mostrato di seguito. Copia l'intera stringa della chiave pubblica ssh-rsa e salvala in un posto sicuro. Aggiungerai questa chiave pubblica al tuo GitLab in seguito (passaggio tre).

 cat ~/.ssh/id_rsa.pub

3. Torna alla dashboard di GitLab sul tuo browser per aggiungere la tua chiave pubblica con quanto segue:

  • Fai clic sulle Chiavi SSH menu nel pannello di sinistra delle Impostazioni utente pagina per accedere alle Chiavi SSH pagina.
  • Incolla la chiave pubblica che hai copiato (passaggio due) nella Chiave campo, come mostrato di seguito
  • Fornisci il tuo nome preferito per la chiave nel Titolo campo. Ma per questa demo, il nome è impostato come ATAGitHub.
  • Fai clic su Aggiungi chiave per finalizzare l'aggiunta della chiave pubblica al tuo account.

Disabilitazione delle registrazioni pubbliche

Per ulteriore sicurezza, puoi disabilitare le registrazioni pubbliche su GitLab. Come mai? La funzione di iscrizione pubblica in GitLab consente a chiunque di creare un account sul server GitLab. La disabilitazione di questa funzione ti consente di evitare attacchi di forza bruta al tuo server.

1. Dalla dashboard di GitLab, fai clic su Menu —> Amministratore per accedere al pannello di amministrazione, quindi fare clic su Impostazioni per accedere al Generale del pannello di amministrazione pagina delle impostazioni (passaggio due).

2. Disattiva Registrazione abilitata opzione sotto le Restrizioni di registrazione sezione. In questo modo si disabilita la funzione di registrazione pubblica di GitLab.

3. Scorri verso il basso e fai clic su Salva modifiche (in basso) per salvare le modifiche apportate alle impostazioni delle restrizioni di registrazione.

4. Infine, esci dal tuo account e naviga nella schermata di accesso di GitLab.

Come puoi vedere di seguito, il Registrati ora il collegamento è sparito.

Test del tuo server GitLab

A questo punto, hai già configurato e protetto il tuo server GitLab, ed è fantastico! Ma come fai a sapere che il tuo server GitLab sta effettivamente funzionando? Testerai il tuo server creando un progetto GitLab tramite la dashboard di GitLab e clonando il progetto sul tuo server.

1. Nella dashboard di GitLab, fai clic sul segno più (+) accanto alla casella di ricerca, quindi fai clic su Nuovo progetto , come mostrato di seguito, per creare un nuovo progetto GitLab.

2. Successivamente, fornisci il tuo Progetto preferito nome , ma per questa demo, il nome del progetto è impostato come ATA GitLab e il progetto slug è impostato su (atagitlab ).

Fai clic su Crea progetto per creare il tuo nuovo progetto

3. Torna al tuo terminale ed esegui i seguenti comandi per impostare il tuo nome utente globale (--global user.name ) ed e-mail (--global user.email ) per Git. Ogni nome utente ed e-mail sono globalmente unici per tutti gli account sul server GitLab.

git config --global user.name "ATA"
git config --global user.email "[email protected]"

4. Ora esegui git clone comando seguente per clonare il progetto ATA GitLab che hai creato (passaggio due) nella directory corrente. Sostituisci yourdomain.com con il tuo FQDN.

git clone http://gitlab.yourdomain.com/root/ATA-GitLab.git

Se tutto va bene, vedrai un output simile a quello qui sotto. Al termine della clonazione, avrai una nuova directory chiamata ATA-GitLab .

5. Infine, esegui ls comando per verificare l'esistenza della directory ATA-GitLab.

ls

Poiché puoi clonare il nuovo progetto ATA GitLab e che la directory ATA GitLab esiste, l'output seguente conferma che il tuo server GitLab funziona correttamente.

Conclusione

In questo tutorial, hai imparato come eseguire un'installazione sicura di GitLab sul tuo sistema Ubuntu Linux. Ti sei assicurato di proteggere il tuo server GitLab tramite l'interfaccia web, aggiungere chiavi SSH al tuo account GitLab e testare se il tuo server GitLab funziona.

Con questa nuova conoscenza, forse ti piacerebbe imparare come configurare sistemi di integrazione continua (CI) automatizzati con GitLab?


Linux
  1. Come installare Dig su Windows

  2. Come installare GitLab in Ubuntu 20.04

  3. Come installare Gitlab su CentOS 8

  4. Come installare e utilizzare il comando fd in Linux

  5. Come installare Localizza su un server Fedora

Come configurare GitLab su CentOS 8

Come installare TimescaleDB su Ubuntu 20.04

Come installare GitLab CE su Oracle Linux 8

Come installare phpMyAdmin in modo sicuro su Linux

Come installare XAMPP su CentOS 8

Come installare TeamViewer su Ubuntu 20.04 LTS