Hoppa till huvudinnehåll

VPS: Installera GitLab på Linux

Denna guide skapades med följande produkter:

(Detaljer kan variera med produkter från olika leverantörer men huvudkoncepten förblir desamma)

Introduktion

GitLab är en komplett DevOps-plattform som låter team samarbeta kring kod, automatisera arbetsflöden och hantera hela mjukvaruutvecklingscykeln på ett smidigt sätt. I den här guiden går vi igenom hur du installerar GitLab på en Linux-server.

Förberedelser

Följande krav rekommenderas av det officiella GitLab Teamet och det är starkt rekommenderat att följa dessa förutsättningar för att undvika problem och krångel längre fram.

Hårdvara

KomponenterMinsta kravRekommenderat
CPU2x 2 GHz4x 2.6+ GHz
RAM4 GB8 GB
Lagring10 GB50+ GB
Bandbredd100 mbit/s (upp & ner)100 mbit/s (upp & ner)

Mjukvara

PlattformAlternativ
OperativsystemUbuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5)
DatabasPostgreSQL 14.9+
WebbserverNGINX (medföljer GitLab), Puma 6.4.2+
ÖvrigtRedis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+
info

För den mest exakta och uppdaterade specifikationen, kolla in GitLabs officiella Hårdvarukrav.

För att installera GitLab på din Linux-server behöver du ansluta via en SSH-klient. Kolla in vår guide för Initial åtkomst (SSH) för mer info.

När du är ansluten kan du börja installera de paket som krävs för själva GitLab-installationen.

Steg 1: Installera beroenden

Först måste du installera några beroenden för att kunna köra GitLab-installationen. Använd följande kommandon för att installera nödvändiga paket på din Linux-server.

Uppdatera paketlistan till senaste version och installera OpenSSH Server-paketet tillsammans med dess förutsättningar med följande kommando. Det är så din webbpanel för GitLab kommer att hostas.

sudo apt update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

Du kan även installera Postfix (SMTP-server) om du vill kunna skicka e-postnotiser via GitLab. Detta är valfritt.

Vill du använda e-postnotiser, installera Postfix med:

sudo apt-get install -y postfix
info

När du installerar Postfix kan en konfigurationsruta dyka upp. Välj då 'Internet Site' och tryck enter. Använd din Linux-servers externa DNS som 'mail name' och tryck enter. Om fler skärmar visas, tryck enter för att acceptera standardinställningarna.

Vill du använda en annan lösning för e-post, hoppa över detta steg och konfigurera en extern SMTP-server efter att GitLab är installerat, enligt GitLabs officiella guide.

Steg 2: Installera GitLab

När alla beroenden är installerade är du redo att installera GitLab.

I den här guiden installerar vi GitLab direkt från de officiella paketarkiven.

Följande script lägger till GitLabs arkiv till apt-pakethanteraren:

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

När det är klart kan gitlab-ee-paketet installeras:

sudo apt-get install -y gitlab-ee

När processen är klar ska GitLab vara redo på din Linux-server. Fortsätt till nästa avsnitt där du konfigurerar viktiga inställningar för att få servern att fungera.

Steg 3: Konfigurera GitLab

För att allt ska fungera måste du göra några ändringar i konfigurationsfilen. Börja med att öppna GitLabs konfigurationsfil med din favorittextredigerare. Här använder vi nano.

sudo nano /etc/gitlab/gitlab.rb

Sök sedan efter raden external_url och skriv in din domän eller Linux-serverns IP-adress om du inte har en domän att använda med GitLab.

## GitLab URL
##! URL där GitLab kommer vara tillgängligt.
##! För mer info om external_url, se:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Obs: Under installation/uppgraderingar används miljövariabeln
##! EXTERNAL_URL för att fylla i/ersätta detta värde.
##! På AWS EC2 försöker vi även hämta publik hostname/IP
##! från AWS. Mer info:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http`s`://`Din domän / IPv4-adress till din Linux-server`'

Vi rekommenderar även att du fyller i din e-postadress på raden letsencrypt['contact_emails']. Detta gör att Let's Encrypt kan skicka notiser och kontakta dig angående automatiska och gratis SSL-certifikat.

anteckning

Du måste använda en domän för att få ett gratis SSL-certifikat från Let's Encrypt. Du kan inte begära ett certifikat direkt till din IP-adress.

################################################################################
# Let's Encrypt-integration
################################################################################
# letsencrypt['enable'] = nil
# letsencrypt['contact_emails'] = [`Din e-post här`] # En array med e-postadresser som kontakt
# letsencrypt['group'] = 'root'
# letsencrypt['key_size'] = 2048
# letsencrypt['owner'] = 'root'
# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
# Se https://docs.gitlab.com/omnibus/settings/ssl/index.html#renew-the-certificates-automatically för mer info
# letsencrypt['auto_renew'] = true
# letsencrypt['auto_renew_hour'] = 0
# letsencrypt['auto_renew_minute'] = nil # Ska vara ett nummer eller cron-uttryck, om angivet.
# letsencrypt['auto_renew_day_of_month'] = "*/4"
# letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
# letsencrypt['alt_names'] = []
tips

Använd CTRL+W för att söka efter letsencrypt['contact_emails'] och tryck enter så slipper du leta manuellt i hela filen.

När du är klar, tryck CTRL+X följt av Y och Enter för att spara ändringarna.

Slutligen, kör följande kommando för att konfigurera om GitLab med de nya inställningarna.

sudo gitlab-ctl reconfigure

Detta kan ta en stund då GitLab initieras med den uppdaterade konfigurationen och automatiska processer körs. SSL-certifikaten utfärdas också om du angett en domän.

Steg 4: Komma åt webbgränssnittet

Efter initieringen ska servern nu vara åtkomlig via webbläsare. Gå till din domän eller IP-adress så här:

https://[din_domän] ELLER http://[din_ip-adress]

Vid första inloggningen möts du av en inloggningssida.

För att få adminåtkomst vid första inloggningen, logga in som root-användare med användarnamnet root.

Lösenordet hittar du i en fil på din Linux-server. Öppna filen med:

sudo nano /etc/gitlab/initial_root_password
# VARNING: Detta värde gäller endast under följande förutsättningar

# 1. Om det angavs manuellt (via `GITLAB_ROOT_PASSWORD` miljövariabel eller `gitlab_rails['initial_root_password']` i `gitlab.rb`) innan databasen skapades första gången.

# 2. Lösenordet har inte ändrats manuellt, varken via UI eller kommandorad.

#

# Om lösenordet inte fungerar måste du återställa adminlösenordet enligt https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: `[DITT_LÖSENORD_HÄR]`

# OBS: Denna fil tas bort automatiskt vid första omkonfigureringen efter 24 timmar.

Ange användarnamn och lösenord på inloggningssidan för att komma in i din GitLab-panel första gången. Nu kan du börja använda GitLab på din egen Linux-server.

Vi rekommenderar starkt att du skapar en ny användare och/eller byter lösenord för root-användaren. Det gör du enkelt genom att gå till Admin nere i vänstra hörnet och välja Översikt->Användare. Där kan du hantera användare för din GitLab-instans.

Valfritt: Sätt upp brandvägg med ufw

Hoppa över detta om du inte vill konfigurera brandvägg eller redan använder t.ex. firewalld på OpenSUSE. Se till att port 80/443 och port 22 är tillåtna.

Installera ufw

Om du redan har ufw installerat kan du hoppa över detta steg.

sudo apt-get install -y ufw

Öppna nödvändiga portar

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Aktivera brandvägg

varning

Detta blockerar som standard all trafik förutom de tillåtna portarna. Se till att vitlistan är korrekt innan du kör detta kommando.

Aktivera brandväggen med:

sudo ufw enable

Avslutning

Grattis, du har nu installerat GitLab! Har du fler frågor eller problem, tveka inte att kontakta vår support som finns tillgänglig varje dag för att hjälpa dig!

Vill du göra fler inställningar rekommenderar vi att du läser Officiell GitLab-dokumentation för nästa steg.