GitLab installeren en instellen op Ubuntu 18.04 LTS

GitLab is een open source GIT repository manager gebaseerd op Rails en ontwikkeld door GitLab Inc. Het is een web-gebaseerde GIT repository manager die je team in staat stelt aan code te werken, feature requests uit te voeren, bugs op te sporen, en applicaties te testen en te implementeren. GitLab biedt functies als een wiki, het bijhouden van problemen, code reviews, activity feeds, en samenvoegbeheer. Het is in staat om meerdere projecten te hosten.

GitLab is verkrijgbaar in vier edities:

  1. Gitlab CE (Community Editie) – zelf gehost, gratis en ondersteuning van het Community forum.
  2. Gitlab EE (Enterprise Edition) – zelf gehoste, betaalde app, komt met extra mogelijkheden.
  3. GitLab.com – SaaS, gratis.
  4. GitLab.io – privé GitLab instantie beheerd door GitLab Inc.

In deze zelfstudie laat ik je stap-voor-stap zien hoe je GitLab CE (Community Edition) op je eigen Ubuntu 18.04 LTS (Bionic Beaver) server kunt installeren. Ik zal het door GitLab geleverde ‘omnibus’ pakket gebruiken voor een eenvoudige installatie.

Vereisten

  • Ubuntu 18.04 server
  • Min RAM geheugen 4GB – voor betere prestaties, gebruik 8GB
  • Root voorrechten

Wat we zullen doen

  1. Repository bijwerken en pakketten opwaarderen
  2. Afhankelijkheden installeren
  3. GitLab Community Editie installeren
  4. Genereer SSL Letsencrypt en DHPARAM certificaat
  5. Configureer HTTPS voor GitLab
  6. Configureer Ubuntu UFW Firewall
  7. GitLab Post-Installatie
  8. Testen

Stap 1 – Update repository en upgrade pakketten

Werk eerst alle beschikbare repositories bij en upgrade dan alle pakketten op het systeem, voordat je pakketten installeert.

Voer onderstaande apt commando’s uit.

sudo apt update
sudo apt upgrade -y

Wacht op de installatiepakketten die opgewaardeerd zullen worden.

Installeer Ubuntu updates

Stap 2 – Installeer Gitlab afhankelijkheden

GitLab heeft enkele pakketten afhankelijkheden nodig voor de installatie, waaronder curl, postfix, en ca-certificates.

Installeer de afhankelijkheden van GitLab pakketten met het onderstaande apt commando.

sudo apt install curl openssh-server ca-certificates postfix -y

Tijdens de installatie van postfix wordt je gevraagd naar de configuratie, kies ‘Internet Site’.

Postfix configureren

En voer dan de server domeinnaam in die gebruikt zal worden voor het versturen van een e-mail.

Voer de domeinnaam in

En we zijn klaar om GitLab op de server te installeren.

Stap 3 – GitLab installeren

In deze stap zullen we GitLab installeren met de omnibus pakketten. De omnibus installeert alle pakketten, diensten, en gereedschappen die nodig zijn om GitLab op de server te draaien.

Voeg GitLab repository toe met het curl commando.

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

Download gitlab installatiescript

En installeer dan GitLab CE Community Edition met het apt commando.

sudo apt install gitlab-ce -y

Het commando zal het GitLab CE pakket downloaden en installeren, en als de installatie voltooid is, zie je de resultaten zoals hieronder.

Gitlab CE installatie routine start

Vervolgens moeten we de URL configureren die gebruikt zal worden om onze GitLab server te benaderen. We zullen een domein met de naam ‘git.hakase-labs.pw’ gebruiken voor de GitLab toegang URL en zullen er HTTPS op inschakelen.

Om de GitLab URL toegang te veranderen, bewerk je het ‘/etc/gitlab/gitlab.rb’ bestand.

sudo vim /etc/gitlab/gitlab.rb

Verander nu de ‘external_url’ waarde met je eigen domeinnaam.

external_url 'http://git.hakase-labs.pw'

Sla op en sluit af.

Stap 4 – Genereer Let’s encrypt SSL Certificaat en DHPARAM Certificaat

In deze stap genereren we een nieuw Letsencrypt certificaat en DHPARAM certificaat voor de GitLab domeinnaam ‘git.hakase-labs.pw’.

Installeer het gereedschap Letsencrypt met het onderstaande apt commando.

sudo apt install letsencrypt -y

En als de installatie voltooid is, voer je het onderstaande letsencrypt commando uit.

sudo letsencrypt certonly --standalone --agree-tos --no-eff-email --agree-tos --email [email protected] -d git.hakase-labs.pw

En als het voltooid is, krijg je het resultaat zoals hieronder.

Verkrijg laat versleutelen SSL certificaat

Er zijn SSL Letsencrypt certificaten gegenereerd, die in de map ‘/etc/letsencyrpt/’ staan.

Nu gaan we het DHPARAM certificaat genereren met het OpenSSL commando.

Maak een nieuwe directory ‘/etc/gitlab/ssl’ en voer het onderstaande OpenSSL commando uit.

sudo mkdir -p /etc/gitlab/ssl/
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Verander nu de toestemming van de SSL directory.

chmod 600 /etc/gitlab/ssl/*

Verkrijg DHPARAM bestand

En alle certificaten die nodig zijn voor GitLab HTTPS configuratie zijn gegenereerd.

Stap 5 – Configureer HTTPS voor GitLab

Om de HTTPS voor GitLab installatie in te schakelen, moeten we het ‘gitlab.rb’ bestand bewerken.

Bewerk het ‘/etc/gitlab/gitlab.rb’ bestand met het onderstaandevim commando.

sudo vim /etc/gitlab/gitlab.rb

Verander de ‘external_url’ van Gitlab in de ‘https://git.hakase-labs.pw’.

external_url 'https://git.hakase-labs.pw'

Plak nu onderstaande configuratie in het ‘#GitLab Nginx’ gedeelte.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/git.hakase-labs.pw/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/git.hakase-labs.pw/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Sla op en sluit af.

SSL instellen in Gitlab

Voer nu het onderstaande ‘gitlab-ctl’ commando uit.

sudo gitlab-ctl reconfigure

Dit commando installeert en configureert GitLab op basis van het ‘/etc/gitlab/gitlab.rb’ configuratiebestand.

En als het voltooid is, zie je het resultaat als hieronder.

Herstart diensten

De GitLab installatie is voltooid, en HTTPS voor GitLab is ingeschakeld.

Stap 6 – Configureer Ubuntu UFW Firewall

In deze stap schakelen we de Ubuntu UFW firewall in. Hij is al op het systeem geïnstalleerd, we hoeven alleen de dienst te starten. We zullen GitLab achter de Ubuntu UFW firewall draaien, dus moeten we de HTTP en HTTPS poorten openen.

Voeg de diensten ssh, http, en https toe aan de configuratie.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

En schakel de Ubuntu UFW firewall in met het onderstaande commando.

sudo ufw enable

Typ ‘y’ voor yes om hem in te schakelen.

Bekijk nu alle diensten en poorten in de lijst.

sudo ufw status

En je krijgt ssh, http, en https diensten op de lijst.

Configureer de firewall

Stap 7 – GitLab na de installatie

Open de web browser en typ de gitlab URL ‘git.hakase-labs.pw’ in, en je wordt doorgestuurd naar de HTTPS verbinding.

Maak een nieuw GitLab root wachtwoord

Typ je nieuwe wachtwoord voor de root GitLab gebruiker, en klik op de ‘Verander je wachtwoord’ knop.

Gitlab root wachtwoord instellen

Log nu in als ‘root’ gebruiker met je eigen wachtwoord en klik op de ‘Login’ knop.

Log in als root

Nu krijg je het GitLab Dashboard.

Gitlab dashboard

Profiel veranderen

Klik op de profiel knop en kies ‘Instellingen’.

Instellingen gebruikersprofiel wijzigen

Typ in het gedeelte ‘Main Settings’ de profielnaam ‘hakase’ en klik dan op de optie ‘update profile settings’.

Gebruikersnaam veranderen

Klik op het tabblad ‘Account’ en typ de gebruikersnaam ‘hakase’.

Verander je gebruikersnaam

Druk nu op de ‘Update username’ knop.

SSH sleutel toevoegen

Genereer een nieuwe sleutel met het ssh-keygen commando zoals hieronder.

ssh-keygen
cat ~/.ssh/id_rsa.pub

Kopieer de ‘id_rsa.pub’ sleutel.

Voeg een SSH sleutel toe

Ga nu terug naar het GitLab gebruikersdashboard en klik op het ‘SSH Key’ menu aan de linkerkant.

Voeg een SSH sleutel toe in Gitlab

Plak de ssh publieke sleutel ‘id_rsa.pub’ en klik op de knop ‘Add key’.

Aanmelden Beperkingen

Klik op de ‘Admin area’ knop in het midden, en klik dan op ‘Settings’.

Beperkingen voor aanmeldingen instellen

Vink de optie ‘signup enabled’ uit en klik op de knop ‘Save changes’.

Account limiet

Klik op het gedeelte ‘Account en limiet’ en stel de standaard projectlimiet in op 20.

Stel accountlimieten in

En klik op de ‘Save changes’ knop.

Stap 8 – Gitlab testen

Tenslotte zullen we enkele tests doen om zeker te zijn dat ons GitLab systeem goed werkt.

Maak een nieuw project

Klik op het plus-icoon boven in het midden om een nieuw project repository aan te maken. Typ je projectnaam, beschrijving, en stel de zichtbaarheidsinstellingen van je project in. Klik dan op de knop ‘Create project’.

Creëer project

Het nieuwe project is gemaakt.

Test eerste vastlegging en push

Nu gaan we nieuwe inhoud aan het archief toevoegen. Zorg ervoor dat Git op je computer geïnstalleerd is, en we moeten de globale gebruikersnaam en e-mail voor git instellen met het onderstaande commando.

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

Kloon de Repository en voeg een README.md bestand toe.

git clone https://git.hakase-labs.pw/hakase/project01.git
cd project01/
vim README.md

Je wordt om het ‘hakase’ gebruikerswachtwoord gevraagd. Typ hetzelfde wachtwoord dat je gebruikte toen we de eerste keer toegang kregen tot GitLab.

Zet een nieuw bestand vast in de ‘project01’ repository.

git add .
git commit -m 'Add README.md file by hakase-labs'

Zet de verandering vervolgens terug naar het repository op de GitLab server.

git push origin master

Typ je wachtwoord in en druk op Enter om verder te gaan. Je ziet het resultaat zoals hieronder.

Git test commit

Open nu het ‘project01’ project vanuit je web browser, en je zult zien dat het nieuwe README.md bestand aan de repository is toegevoegd.

Test project in Gitlab

GitLab installatiegids op Ubuntu 18.04 is met succes voltooid.

Referentie