GitLab è un gestore di repository GIT open source basato su Rails e sviluppato da GitLab Inc. È un gestore di repository GIT basato sul Web che consente al tuo team di lavorare sul codice, tenere traccia di bug e richieste di funzionalità e di testare e distribuire applicazioni. GitLab fornisce funzionalità come un wiki, monitoraggio dei problemi, revisioni del codice, feed di attività e gestione delle unioni. È in grado di ospitare più progetti.
GitLab è disponibile in quattro edizioni:
- Gitlab CE (Community Edition):self-hosted, gratuito e con supporto dal forum della community.
- Gitlab EE (Enterprise Edition):app a pagamento self-hosted, dotata di funzionalità aggiuntive.
- GitLab.com - SaaS, gratuito.
- GitLab.io - Istanza GitLab privata gestita da GitLab Inc.
In questo tutorial, ti mostrerò passo dopo passo come installare GitLab CE (Community Edition) sul tuo server Xenial Xerus Ubuntu 16.04. In questo tutorial utilizzerò il pacchetto 'omnibus' fornito da GitLab per una facile installazione.
Cosa faremo:
- Installa pacchetti
- Installa GitLab
- Configura l'URL di GitLab
- Genera SSL Let's crittografare e certificato DHPARAM
- Abilita Nginx HTTPS per GitLab
- Configura Firewall UFW
- Esegui l'installazione di GitLab
- Test
Prerequisiti
- Server Ubuntu 16.04 - 64 bit
- RAM minima 2 GB
- privilegi radice
Passaggio 1 - Installa i pacchetti Ubuntu richiesti
Il primo passo è installare i pacchetti necessari per l'installazione di GitLab. Accedi al server come utente root e aggiorna il repository di Ubuntu.
ssh [email protected]
apt-get update
Ora installa i pacchetti che includono curl per il download del repository GitLab, certificati ca e suffisso per la configurazione SMTP.
Installa tutti i pacchetti con il comando apt di seguito.
sudo apt install curl openssh-server ca-certificates postfix
Durante l'installazione di Postfix, ti verrà chiesto di configurare, seleziona 'Sito Internet'.
e quindi inserire il nome di dominio del server che verrà utilizzato per l'invio di un'e-mail.
Passaggio 2:installa Gitlab
In questo passaggio, installeremo GitLab utilizzando i pacchetti omnibus. Omnibus installerà tutti i pacchetti, i servizi e gli strumenti necessari per eseguire GitLab sul tuo server.
Aggiungi il repository GitLab con il comando curl.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
E poi installa GitLab CE Community Edition con il comando apt.
sudo apt install gitlab-ce
Attendi che il server scarichi e installi il pacchetto gitlab. Al termine dell'installazione, vedrai i risultati come di seguito.
Passaggio 3 - Configura l'URL principale di Gitlab
Ora dovremmo configurare l'URL che verrà utilizzato per accedere al nostro server GitLab. Userò il nome di dominio "gitlab.hakase-labs.co" per l'URL di GitLab qui (scegli il tuo nome di dominio) e userò HTTPS per la sicurezza dell'accesso degli utenti.
La configurazione principale di GitLab è nella directory '/etc/gitlab'. Vai in quella directory e modifica il file di configurazione 'gitlab.rb' con vim.
cd /etc/gitlab
vim gitlab.rb
Nella configurazione di GitLab vai alla riga 9 'external_url' e cambia l'URL nel tuo URL 'gitlab.hakase-labs.co'.
external_url 'http://gitlab.hakase-labs.co'
Salva il file ed esci dall'editor. Nel passaggio successivo abiliterà HTTPS per GitLab.
Fase 4 - Genera SSL Let's encrypt e certificato DHPARAM
In questo passaggio, abiliteremo il protocollo HTTPS per GitLab. Userò un certificato SSL gratuito fornito da Let's encrypt per il nome di dominio gitlab.
Installa lo strumento da riga di comando letencrypt con il comando apt.
sudo apt install letsencrypt -y
Al termine dell'installazione, genera un nuovo certificato per il nome di dominio gitlab con il comando seguente.
letsencrypt certonly -d gitlab.hakase-labs.co
Inserisci il tuo indirizzo email per la notifica di rinnovo del certificato SSL.
Scegli "Accetto" per i Termini di servizio di Let's Encrypt e attendi.
Al termine, vedrai il risultato di seguito.
Nuovi file Let's encrypt per GitLab sono stati generati. Puoi trovare i file del certificato nella directory '/etc/letsencrypt/live'.
Quindi, crea una nuova directory denominata 'ssl' nella directory di configurazione di GitLab.
mkdir -p /etc/gitlab/ssl/
E genera i file dhparam pem nella directory ssl con il comando openssl.
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Ora cambia i permessi dei file del certificato su 600.
chmod 600 /etc/gitlab/ssl/*
Il certificato SSL Let's encrypt per GitLab e il certificato DHPARAM sono stati generati.
Passaggio 5:abilita Nginx HTTPS per GitLab
A questo punto, abbiamo i file del certificato di Letsencrypt nella directory '/etc/letsencrypt/live' e il certificato DHPARAM nella directory '/etc/gitlab/ssl'.
In questo passaggio, configureremo un GitLab per utilizzare i nostri file di certificato. Vai alla directory '/etc/gitlab', quindi modifica la configurazione 'gitlab.rb' con vim.
cd /etc/gitlab/
vim gitlab.rb
Modifica l'URL esterno per utilizzare 'https' invece di 'http'.
external_url 'https://gitlab.hakase-labs.co'
Quindi aggiungi la nuova configurazione SSL per gitlab come di seguito.
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
Nota:
Abiliteremo il reindirizzamento da HTTP a HTTPS in gitlab.
Salva il file ed esci da vim.
Ora dobbiamo eseguire il comando seguente come root per applicare la nuova configurazione di gitlab.
sudo gitlab-ctl reconfigure
Vedrai i risultati come di seguito.
La configurazione HTTPS per GitLab è stata completata.
Passaggio 6:configurazione del firewall UFW
In questo passaggio abiliteremo il firewall UFW. È già installato sul sistema, dobbiamo solo avviare il servizio. Eseguiremo GitLab dietro il firewall UFW, quindi dobbiamo aprire le porte HTTP e HTTPS.
Abilita il firewall UFW con il comando seguente.
ufw enable
Il comando eseguirà il servizio ufw e lo aggiungerà per avviarsi automaticamente all'avvio.
Quindi, apri nuove porte ssh, HTTP e HTTPS.
ufw allow ssh
ufw allow http
ufw allow https
Ora controlla lo stato del firewall e assicurati che le porte ssh, http e https siano nell'elenco.
ufw status
Le porte HTTP e HTTPS sono configurate.
Fase 7 - Post-installazione di Gitlab
GitLab è stato installato sul sistema e funziona dietro il firewall UFW. In questo passaggio, eseguiremo alcune impostazioni rapide come la modifica di password, nome utente e impostazioni del profilo.
Apri il tuo browser web e digita l'URL di gitlab, il mio è "gitlab.hakase-labs.co". Verrai reindirizzato alla connessione HTTPS.
Reimposta la password di root di GitLab
Ora accedi a GitLab con l'utente 'root' e con la tua password.
Cambia nome utente e profilo
Nell'angolo in alto a destra, fai clic sul tuo profilo e scegli "Impostazioni profilo".
Nella scheda del profilo, scambia il nome predefinito con il tuo nome e l'e-mail con il tuo indirizzo e-mail. Ora fai clic su "Aggiorna profilo".
Fare clic sulla scheda "Account", modificare il nome utente con il proprio nome utente. Quindi fai clic su "Aggiorna nome utente".
Aggiungi chiave SSH
Assicurati di avere già una chiave, se non hai una chiave SSH puoi generarla con il comando qui sotto.
ssh-keygen
E otterrai due chiavi, 'id_rsa' la tua chiave privata e 'id_rsa.pub' la tua chiave pubblica.
Quindi, fai clic sulla scheda "Chiave SSH", copia il contenuto del file "id_rsa.pub" e incollalo nella casella della chiave, quindi fai clic su "Aggiungi chiave".
È stata aggiunta una nuova chiave SSH.
Registrazione Limitazioni e impostazioni dei limiti
Fai clic sull'icona "Area di amministrazione", quindi fai clic sull'icona a forma di ingranaggio e scegli "Impostazioni".
In "Impostazioni account e limiti" - puoi configurare il numero massimo di progetti per utente e in "Restrizioni di iscrizione", puoi aggiungere il nome di dominio della tua email alla casella della white-list.
E se tutto è completo, scorri fino in fondo e fai clic su "Salva".
La configurazione di base di GitLab è stata completata.
Fase 8 - Test
Infine, faremo alcuni test per assicurarci che il nostro sistema GitLab funzioni correttamente.
Crea nuovo progetto
Fare clic sull'icona più in alto per creare un nuovo repository di progetto. Digita il nome del tuo progetto, la descrizione e imposta le impostazioni di visibilità del tuo progetto. Quindi fare clic sul pulsante "Crea progetto".
Il nuovo progetto è stato creato.
Verifica prima commit e push
Dopo aver creato il progetto 'howtoforge', verrai reindirizzato alla pagina del progetto. Ora inizia ad aggiungere nuovo contenuto al repository. Assicurati che Git sia installato sul tuo computer e imposta il nome utente globale e l'e-mail per git con il comando seguente.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Clona il repository e aggiungi un file README.md.
git clone https://[email protected]/hakase/howtoforge.git
cd howtoforge/
vim README.md
Ti verrà richiesta la password utente 'hakase'. Digita la stessa password che hai utilizzato quando abbiamo effettuato l'accesso a GitLab la prima volta.
Invia un nuovo file al repository howtoforge.
git add .
git commit -m 'Add README.md file by hakase-labs'
Quindi, invia la modifica al repository sul server GitLab.
git push origin master
Digita la tua password e premi Invio per continuare. Vedrai il risultato come di seguito.
Ora apri il progetto howtoforge dal tuo browser web e vedrai che il nuovo file README.md è stato aggiunto al repository.
Gitlab è stato installato su un server Xenial Xerus Ubuntu 16.04.
Preferenze
- https://about.gitlab.com/downloads/#ubuntu1604
- https://docs.gitlab.com/ce/