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
| Komponenter | Minsta krav | Rekommenderat |
|---|---|---|
| CPU | 2x 2 GHz | 4x 2.6+ GHz |
| RAM | 4 GB | 8 GB |
| Lagring | 10 GB | 50+ GB |
| Bandbredd | 100 mbit/s (upp & ner) | 100 mbit/s (upp & ner) |
Mjukvara
| Plattform | Alternativ |
|---|---|
| Operativsystem | Ubuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5) |
| Databas | PostgreSQL 14.9+ |
| Webbserver | NGINX (medföljer GitLab), Puma 6.4.2+ |
| Övrigt | Redis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+ |
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.
- Ubuntu
- Debian
- OpenSUSE
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
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 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
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 zypper install curl openssh perl
Se sedan till att OpenSSH-daemonen är aktiverad med följande kommandon:
sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd
Om du använder firewalld måste du se till att brandväggen tillåter nödvändig trafik.
Kolla om du använder firewalld med:
sudo systemctl status firewalld
Om du gör det, öppna nödvändiga portar (80 och 443 som standard):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
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 zypper install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
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.
- Ubuntu & Debian
- OpenSUSE
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
Följande script lägger till GitLabs arkiv till Zypper-pakethanteraren:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
När det är klart kan gitlab-ee-paketet installeras:
sudo zypper install 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.
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'] = []
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.
- Ubuntu & Debian
- OpenSUSE
sudo apt-get install -y ufw
sudo zypper install ufw
Öppna nödvändiga portar
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
Aktivera brandvägg
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.