Creëer je eigen Gitlab Server op Ubuntu 18.04

Estimated reading time: 6 min

Introductie

Gitlab CE oftewel Community Edition is een open-source applicatie die wordt gebruikt om jouw Git-opslagplaatsen te hosten. Het biedt jou de voordeel dat de gegevens op de server blijven voor het team en jouw klanten. En het biedt totale controle over jouw codebase terwijl het een gebruiksvriendelijke interface biedt voor jou en je teamleden. 

In deze handleiding gaan we het hebben over hoe jij Git repository kunt installeren met behulp van de gratis versie, de Community Edition. Gitlab biedt ook betaalde versie van de software en die bied wat meer geavanceerde tools zoals goedkeuringen samenvoegen, route, portfoliobeheer, noodherstel, container scan en nog veel meer. Je kunt altijd upgraden als je de extra tools wilt gebruiken.

Vereisten

  • Een Ubuntu 18.04 gebaseerde server met een non-root sudo gebruiker en een eenvoudige firewall instelling. Je kan onze stappen hier volgen zodat de Gitlab zonder problemen kan lopen. Deze handleiding is geschreven voor Ubuntu 16.04, maar de stappen gelden hetzelfde voor versie 18.04.
  • Je hebt een VPS met minimaal 2cpu cores en 8GB RAM nodig volgens de hardware vereisten voor Gitlab die 100 gebruikers ondersteund. Je kunt de RAM ruimte vullen met RAM, maar dat zal de applicatie trager laten runnen.

Stap 1 – Dependencies installeren

Voordat we met de installatie beginnen van de Gitlab moet je zeker zijn dat jou server een specifieke software geïnstalleerd heeft zodat Gitlab zonder enig problemen kan runnen. voer de volgende commands uit om de dependencies te installeren.

$ sudo apt update
$ sudo apt install ca-certificates curl openssh-server ufw apt-transport-https -y

Sommige software kan voor jou vooraf geïnstalleerd zijn.

Vervolgens heb je de postfix nodig om email meldingen te verzenden. Als je een andere oplossing weet kun je deze stap overslaan en kun je een externe SMPT-server configureren nadat je Gitlab hebt geïnstalleerd.

$ sudo apt install postfix -y

Voor de postfix installatie moet je internetsite selecteren als er om gevraagd wordt. Voer jouw domeinnaam in die je wilt gaan gebruiken op je Gitlab server.

Stap 2 – Configureer Firewall

Voordat we verder gaan, moeten we de ufw firewall configureren die we in de vorige stap hebben geconfigureerd. Voordat we de firewall inschakelen en configureren, moeten we eerst de SSH inschakelen, zodat we niet buiten gesloten worden door onze server.

$ sudo ufw allow OpenSSH

Je kunt nu veilig de firewall inschakelen. Wanneer de prompt wordt weergegeven kun je gewoon op y invoeren.

$ sudo ufw enable

We moeten nu de http, https en de Postfix voor Gitlab inschakelen zodat ze kunnen werken. 

$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow Postfix

Nu moeten we de status controleren of alles goed werkt.

$ sudo ufw status

Je zult nu de volgende uitkomsten moeten zien die je vertellen of alles naar behoren werkt.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
Postfix                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
Postfix (v6)               ALLOW       Anywhere (v6)

Stap 3 – Voeg repository toe en installeer Gitlab

Voer de volgende commands uit om de volgende repository toe te voegen.

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

Installeer nu de Gitlab CE verpakking. Nadat je het hebt geïnstalleerd, kun je example.github.com vervangen met de domein die jij gaat gebruiken voor jouw Gitlab installatie. Als je wilt dat Gitlab de HTTPS certificaat automatisch voor je installeert met de behulp van Let’s Encrypt, kies je https in de command onderaan. Als je je eigen certificaat wilt gebruiken of je wilt geen https gebruiken, gebruik dan HTTP onderaan.

$ sudo EXTERNAL_URL="https://gitlab-server.example.com" apt-get install gitlab-ee

We hebben net over community editie gehad in het begin, we installeren wel de Enterprise editie nu. Dat doen we, omdat als je in de toekomst wilt gaan upgraden, dan zit je maar een klik weg van de betaalde upgrade. Maar als je de community editie hebt, dan moet je eerst upgraden naar de enterprise editie. Dat zult jou wel downtime kosten. Enterprise editie zonder de licentie is hetzelfde als de Community editie en zal dus ook weinig afwijken van elkaar. Dus we raden de Enterprise editie aan.

Stap 4 – Voer de installer uit

Ga naar de gekozen url die je in de vorige stap hebt gekozen in je browser. Je wordt dan verwezen naar de website van Gitlab waar je je wachtwoord kunt resetten. Geef nu de wachtwoord op voor de administrator’s account.

Sign in

Je wordt nu naar het login scherm verwezen. Zodra je op het login scherm zit, gebruik root als gebruiksnaam en je gekozen wachtwoord om in te loggen.

Sign in

Stap 5 – Configureer Postfix

In deze handleiding wordt er uitgelegd hoe jij je Postfix kan inschakelen om transactionele mails te versturen. Als je een uitgebreide mail server wilt die inkomende en uitgaande mails kan behandelen, moet je meer configuraties uitvoeren die hier niet uitgelegd wordt. Gitlab Docs laat zien hoe je Postfix kunt instellen om e-mails te ontvangen.

Ten eerste moeten we de hostnaam controleren van onze systeem. dit naam is waarschijnlijk de naam die eerder gevraagd werd tijdens de setup. Je kunt het als je wilt jouw naam hier wijzigen. Wij hebben voor gitlab-server gekozen.

$ sudo nano /etc/hostname

Verlaat de editor door middel van Ctrl + X tegelijkertijd te drukken. Nu moeten we een host bestand opzetten.

$ sudo nano /etc/hosts

Vervang example.com en 165.22.194.39 met jouw eigen domeinnaam en ip adres.

127.0.0.1		 	localhost
127.0.0.1			gitlab-server
165.22.194.39 		gitlab-server.example.com gitlab-server

Druk nu Ctrl + X om het te verlaten en druk daarna op Y om alles op te slaan.

Installeer nu de Mailutils. Als je door een of andere reden postfix niet hebt geïnstalleerd in stap 1, Dan installeert dit voor jou. Met Mailutil kun jij mails sturen via de command line.

$ sudo apt install mailutils

We moeten nu een paar wijzigingen aanbrengen aan Postfix’s configuratiebestand (/etc/postfix/main.cf). Voor dit gaan we de Postconf tool gebruiken. De -e parameter vertelt aan de postconf om wijzigingen aan te brengen aan main.cf bestand.

$ sudo postconf -e 'relayhost = [smtprelay.snel.com]:587'
$ sudo postconf -e 'smtp_tls_security_level = may'
$ sudo postconf -e 'myhostname = gitlab-server.example.com'

Ten eerste, alle uitgaande mails gaan via Snel’s SMTP server. Ten tweede, de TLS security niveau is ingesteld op may, dat houd in dat TLS gebruikt zal worden als er remote server ondersteuning is, anders wordt er gebruik gemaakt van plaintext. Dit zorgt voor levering aan e-mailservers waarop TLS niet is ingeschakeld. En als laatste, de host naam entry wordt ingesteld naar de domeinnaam die jij al eerder hebt gekozen.

Start Postfix opnieuw.

$ sudo service postfix restart

Test nu de email verzend functie om te kijken of het werkt.

$ echo "This email confirms that Postfix is working" | mail -s "Testing Postfix" [email protected]

Als je een mail op jouw eigen domein ontvangt, betekent dat Postfix zonder enige problemen werkt. Als je Postfix niet wilt gebruiken maar een simpele SMTP server, kun je naar Gitlab Docs gaan om te lezen hoe je een SMTP server kan configureren.

Stap 6 – configureer Gitlab profiel

Log in op jouw Gitlab installatie. Klik vervolgens op de gebruiker icoon rechts bovenaan in de hoek en vervolgens haal je de drop-down menu tevoorschijn. Selecteer daarna Settings

gitlab-profile

Je wordt daarna naar jouw profiel instellingen pagina verwezen. Hier kun jij je naam en je email toevoegen. Om het te bevestigen dat dit jouw email is, moet je het bevestigingsmail bevestigen, zodat het geüpdatet wordt. Je kan ook hier wat meer informatie over jezelf voegen.

Menu

Klik op Update Profile Settings als je klaar bent.

Stap 7 – Verander de gebruikersnaam

We gaan nu de gebruikersnaam veranderen van root naar iets anders, omdat root een vrij bekende gok bare gebruikersnaam is. Klik op Account op de linkervenster.

Two factor

Hier kun jij je gebruikersnaam veranderen. Verander je gebruikersnaam naar wat je wilt. Klik daarna op Update username om het af te ronden. Je kunt hier ook voor de zekerheid two-factor authentication inschakelen voor meer beveiliging.

Stap 8 – Beperk aanmelden

Normaal kan iedereen aanmelden, maar als je dat niet wilt kun je het veranderen in de instellingen. Klik op de gereedschap icoon rechts bovenaan om het aan te passen.

Om instellingen te wijzigen, kun je hier op settings drukken.

Latest Projects

Scrol hier naar beneden naar Sign-up restrictions en klik op Expand. Haal het vinkje weg bij Sign-up enabled box en klik vervolgens op Save changes wanneer je klaar bent.

Sign up

Je kunt nog steeds mensen aanmelden via de admin interface. Dit zorgt alleen dat er niet publiek aangemeld kan worden.

Stap 9 – Voeg SSH Key toe

De laatste stap is onze SSH Key toevoegen. Als je een SSH Key hebt, kun je de volgende command skippen. Zo niet, dan kun je eentje maken met de volgende command.

$ ssh-keygen

Deze command is bekend op Mac OS, Linux en Git Bash/WSL op Windows. accepteer de standaard instellingen en verwijs een wachtwoord zelf als er om gevraagd wordt om de key te beveiligen.

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/<Username>/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/<Username>/.ssh/id_rsa.
Your public key has been saved in /c/Users/<Username>/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:j8Pd5kXM04+tFoppivHaYN5gjYE95Rd4Fc4YXz2MqYE <Username>@WIN10DESKTOP
The key's randomart image is:
+---[RSA 3072]----+
|          o o.=. |
|         E O + o.|
|        o + *   .|
|     o o . o o . |
|    . + S .   = .|
|       * = . ..+.|
|      B = ooo.o.o|
|     + O .+o.... |
|      +.=o  ...  |
+----[SHA256]-----+

Je kan jouw publieke key laten zien met de volgende command

$ cat ~/.ssh/id_rsa.pub
4FwcEp0IE7XW5yHDin/uyt5rxbZzNwQlg33+b453ocBS18tsUbqoJfgS7C2QcP/iWct0QpiY9BcLJ6GL6JolUQQmFm1TV5M29hFjT9pHe95QBXm1MfZH+yO6Fqz9fUf6isFYQbPJyZrJMpTu31opKiU50YB3I2UG6oyIpJedutXDqPln6f+HazL1eK7KqreghnnrN1vpyxPU7qoWT307yknii74zizqUKebfpaePGiFuT/q/MgI5LmV9pSLIz2PWjTxRgrblmEZem847SiBw0JVhm1q2D3wv7EOsQBm1HConl8FEewuQNw5KcQxj4gxuBUWFPmbI7f2cGtjQj9XR6bSSPvowoDmS+BR6r1sT+ppJgS/Oe50MnzlmgJq4joTRUaONJ+Oe0= <Username>@WIN10DESKTOP

Ga weer terug naar jouw profielinstellingen menu en kies via daar SSH keys.

Sidebar

Plak nu de SSH key in de box en klik vervolgens op Add Key om verder te gaan.

SSH Keys

Nu kun je repositories maken en vastleggen zonder dat jij je Gitlab gegevens geeft.

Conclusie

Gefeliciteerd, je kunt nu op jou eigen Ubuntu 18.04 server projecten en repositories maken door middel van Gitlab.

Was this article helpful?
Dislike 0
Views: 62

Lees Interacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

snel-knowledgebase-image