GitLab auf Linux Debian 11 Bullseye installieren

Ich schreibe jetzt auf die schnelle nur die Voraussetzungen auf und die Befehle die Du runtertippen kannst um ein funktionierendes GitLab auf deinem Linux Debian 11 Bullseye Server zu installieren.

Voraussetzung zur Installation von GitLab CE auf Bullseye

  1. Linux Server mit Debian 11 Bullseye gerne mit: 8GB RAM, 4 Cores
  2. Eigene Server IP
  3. Domain die mit dieser IP verbunden ist
  4. root-Zugang zum Linux Debian 11 Server

Es wird in diesem Artikel davon ausgegangen, dass die Domain via DNS A Eintrag auf die Server-IP zeigt und der Server z.B. über Putty SSH-Client für Linux-Server-Administration erreichbar ist.

Logge dich via Putty auf deinem Linux Server als root ein.

Linux Befehle für die GitLab Installation

Du kannst, wenn Du im Linux als root eingeloogt bist, die Befehle in den grauen Kästchen einfach kopieren und einfügen. Das -y hinter dem Befehl bedeutet, dass alle Abfragen Y/N, Ja/Nein mit Ja beantwortet werden.

Zunächst werden wir den Debian Paketmanager aktualisieren:

apt-get update -y

Ist dein Linux nicht aktuell, so meldet dir der Befehl, dass Pakete aktualisiert werden sollten. Aktualisiere die Pakete mit:

apt-get upgrade -y

Nachdem Linux die Pakete installiert hat, werden Abhängigkeiten für GitLab installiert. Hierzu zählen vor allem SSL für https:</>

apt-get install curl ca-certificates apt-transport-https gnupg2 -y

Warte bis die Installation beendet ist und füge das GitLab Repository hinzu:

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

Wenn das GitLab-Repository im Debian hinterlegt ist, wird es aktualisiert:

apt-get update -y

Jetzt ist GitLab für die Installation bereit:

apt-get install gitlab-ce -y

Es dauert jetzt ein bisschen, aber wenn GitLab installiert ist, bekommst du folgene Meldung:

It looks like GitLab has not been configured yet; skipping the upgrade script.

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3

Jetzt muss GitLab konfiguriert werden. Wir nutzen den Linux Editor nano. Gib jetzt folgende Befehle ein:

nano /etc/gitlab/gitlab.rb

In die folgende Zeile, muss dein Domainname eingetragen werden:

external_url 'https://gitlab.DeineDomain.de'

Füge folgende Zeile direkt unter deinem DeineDomain-Eintrag hinzu:

letsencrypt['enable'] = true

Speichere die Datei mit STRG + O und verlasse den Editor mit STRG + X. Rekonfiguriere GitLab:

gitlab-ctl reconfigure

Das dauert auch wieder eine Weile, bis Linux und GitLab damit fertig sind. Du bekommst dann folgende Ausgabe:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!

GitLab hat ein Initial-Passwort für GitLab root erzeugt, welches immer 24 Stunden aktiv ist. Damit kannst du dich nun auf "https://gitlab.DeineDomain.de" einloggen. Rufe also im Browser: https://gitlab.DeineDomain.de auf. Dann gehst Du wieder zu Putty und holst Du dir das Initial Passwort:

cat /etc/gitlab/initial_root_password

Du bekommst folgende Meldung:

# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: 778JKJBgnk5466K5FeJVsJLKHGvbdjhgTGWm3EjDVEk==mg

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Unter Password: kannst du nun das Initial-Passwort kopieren und im Webinterface einfügen.

Fertig. Dein GitLab sollte nun laufen. Jetzt solltest du deinen GitLab-Server über das Webinterface konfigurieren. Passwort anlegen, Benutzer anlegen und so weiter. Du findes im Internet weitere Hilfen um den GitLab Server einzurichten.

Ich habe diese Anleitung selbst noch mal getestet und alles funktioniert. Wenn dein Server, deine Domain, deine Firewall richtig arbeiten, sollte die Installation auf diese Weise kein Problem sein.

Aktuelle Relases und Versionen von GitLab

Hier können die Versionen und Releases von GitLab eingesehen werden. Auch findet man hier alle Informationen rund um GitLab.

Aktualisiert: Ralf-Peter-Kleinert 07.01.2024

Ralf-Peter Kleinert - Autor - IT-Sichereit, Computersicherheit, Cybersecurity

Über den Autor: Ralf-Peter Kleinert

Über 25 Jahre Erfahrung in der IT legen meinen Fokus auf die Computer- und IT-Sicherheit. Auf meiner Website biete ich detaillierte Informationen zu aktuellen IT-Themen. Mein Ziel ist es, komplexe Konzepte verständlich zu vermitteln und meine Leser für die Herausforderungen und Lösungen in der IT-Sicherheit zu sensibilisieren.

Mehr über mich, Ausbildung, Zertifizierungen ...