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 danil
atrue
. 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 ATA –GitHub.
- 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 (ata –gitlab ).
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?