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:
- Gitlab CE (Community Editie) – zelf gehost, gratis en ondersteuning van het Community forum.
- Gitlab EE (Enterprise Edition) – zelf gehoste, betaalde app, komt met extra mogelijkheden.
- GitLab.com – SaaS, gratis.
- 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
- Repository bijwerken en pakketten opwaarderen
- Afhankelijkheden installeren
- GitLab Community Editie installeren
- Genereer SSL Letsencrypt en DHPARAM certificaat
- Configureer HTTPS voor GitLab
- Configureer Ubuntu UFW Firewall
- GitLab Post-Installatie
- 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.
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’.
En voer dan de server domeinnaam in die gebruikt zal worden voor het versturen van een e-mail.
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
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.
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.
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/*
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.
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.
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.
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.
Log nu in als ‘root’ gebruiker met je eigen wachtwoord en klik op de ‘Login’ knop.
Nu krijg je het GitLab Dashboard.
Profiel veranderen
Klik op de profiel knop en kies ‘Instellingen’.
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’.
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.
Ga nu terug naar het GitLab gebruikersdashboard en klik op het ‘SSH Key’ menu aan de linkerkant.
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’.
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.
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’.
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.
Open nu het ‘project01’ project vanuit je web browser, en je zult zien dat het nieuwe README.md bestand aan de repository is toegevoegd.
GitLab installatiegids op Ubuntu 18.04 is met succes voltooid.