Sparen Sie 15% bei allen Hosting-Diensten

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux Verwaltung

Wie man GitLab auf Ubuntu installiert: Vollständiger Schritt-für-Schritt-Leitfaden

GitLab ist eine der leistungsstärksten Open-Source-DevOps-Plattformen, die heute verfügbar sind und eine umfassende Suite von Tools bietet, einschließlich Git-basierter Versionskontrolle, Continuous Integration/Continuous Delivery (CI/CD)-Pipelines, Issue-Tracking und Team-Collaboration-Features — alles unter einem Dach. Egal ob Sie ein kleines Entwicklungsteam verwalten oder unternehmensweite Softwareprojekte durchführen, das Self-Hosting von GitLab auf Ubuntu gibt Ihnen vollständige Kontrolle über Ihre Daten, Workflows und Infrastruktur.

Dieser Leitfaden führt Sie durch jeden Schritt der Installation und Konfiguration von GitLab Community Edition (CE) auf einem Ubuntu-Server, von der anfänglichen Systemvorbereitung bis zur Aktivierung von HTTPS und der Verwaltung von Services.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllt haben:

  • Ein Server mit Ubuntu 20.04 oder 22.04 LTS (Neuinstallation empfohlen)
  • Mindestens 4 GB RAM und 2 CPU-Kerne (GitLab empfiehlt mindestens 4 Kerne für den Produktivbetrieb)
  • Root- oder sudo-Zugriff auf den Server
  • Ein registrierter Domainname, der auf die IP-Adresse Ihres Servers verweist (optional, aber stark empfohlen für HTTPS)
  • Ports 80 und 443 in Ihrer Firewall geöffnet

> Tipp: Für optimale GitLab-Leistung sollten Sie die Bereitstellung auf einem VPS Hosting-Plan mit ausreichend RAM und CPU-Ressourcen in Betracht ziehen. AlexHost VPS-Pläne sind für Linux-Workloads optimiert und bieten vollständigen Root-Zugriff, was sie zu einer idealen Umgebung für selbstgehostete DevOps-Plattformen wie GitLab macht.

Schritt 1: Systempakete aktualisieren

Bevor Sie Software installieren, ist es wichtig, sicherzustellen, dass der Paketindex Ihres Systems und die installierten Pakete vollständig aktualisiert sind. Dies verhindert Abhängigkeitskonflikte und stellt sicher, dass Sie mit den neuesten Sicherheitspatches arbeiten.

sudo apt update && sudo apt upgrade -y

Warten Sie, bis der Upgrade-Prozess abgeschlossen ist, bevor Sie zum nächsten Schritt übergehen.

Schritt 2: Erforderliche Abhängigkeiten installieren

GitLab benötigt mehrere unterstützende Pakete, um ordnungsgemäß zu funktionieren, einschließlich Tools für sichere Kommunikation, Zeitzonenverwaltung und Scripting. Installieren Sie diese mit dem folgenden Befehl:

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

Hier ist, was jedes Paket tut:

PaketZweck
curlLädt Skripte und Dateien aus dem Web herunter
openssh-serverErmöglicht SSH-Zugriff auf Ihren Server
ca-certificatesValidiert SSL/TLS-Zertifikate
tzdataStellt Zeitzonendaten bereit
perlErforderlich für GitLabs interne Skripte

Schritt 3: Offizielles GitLab-Repository hinzufügen

GitLab verwaltet ein offizielles Paket-Repository, das Installation und zukünftige Upgrades vereinfacht. Verwenden Sie den folgenden Befehl, um das Repository-Setup-Skript herunterzuladen und auszuführen:

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

Dieses Skript führt automatisch folgende Aktionen durch:

  • Erkennt Ihre Ubuntu-Version
  • Fügt das GitLab-Paket-Repository zu Ihren APT-Quellen hinzu
  • Importiert den GPG-Signaturschlüssel des Repositorys zur Paketverifizierung

Nach Abschluss des Skripts ist Ihr System bereit, GitLab direkt aus der offiziellen Quelle zu installieren.

Schritt 4: GitLab Community Edition installieren

Installieren Sie GitLab CE jetzt mit dem apt Package Manager. Sie müssen die EXTERNAL_URL Umgebungsvariable auf die URL oder IP-Adresse setzen, über die Benutzer auf Ihre GitLab-Instanz zugreifen werden.

Wenn Sie einen Domainnamen haben:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Wenn Sie eine IP-Adresse verwenden (z. B. für einen lokalen oder privaten Server):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Ersetzen Sie gitlab.yourdomain.com oder YOUR_SERVER_IP durch Ihren tatsächlichen Domainnamen oder Ihre IP-Adresse.

> Hinweis: Der Installationsprozess kann mehrere Minuten dauern, da alle GitLab-Komponenten heruntergeladen und konfiguriert werden, einschließlich PostgreSQL, Redis, NGINX und Sidekiq.

Während der Installation wird GitLab:

  • Alle gebündelten Dienste installieren (Datenbank, Cache, Webserver usw.)
  • Sich basierend auf dem EXTERNAL_URL konfigurieren, das Sie angegeben haben
  • Anfängliche Konfigurationsdateien in /etc/gitlab/ generieren

Schritt 5: GitLab-Neukonfiguration ausführen

Nach der Installation führen Sie den Rekonfigurationsbefehl aus, um das Setup abzuschließen, die Datenbank zu initialisieren und alle GitLab-Dienste zu starten:

sudo gitlab-ctl reconfigure

Dieser Befehl liest die Konfiguration aus /etc/gitlab/gitlab.rb und wendet alle Einstellungen an. Er generiert auch SSL-Zertifikate (falls Let’s Encrypt konfiguriert ist), richtet das Datenbankschema ein und startet alle erforderlichen Hintergrunddienste.

Sie sollten eine lange Ausgabe sehen, die mit einer Meldung ähnlich der folgenden endet:

gitlab Reconfigured!

Schritt 6: Zugriff auf GitLab in Ihrem Webbrowser

Nachdem die Neukonfiguration abgeschlossen ist, öffnen Sie Ihren Webbrowser und navigieren Sie zu der URL, die Sie während der Installation angegeben haben:

https://gitlab.yourdomain.com

oder

http://YOUR_SERVER_IP

Erste Anmeldung

Bei Ihrem ersten Besuch werden Sie von GitLab aufgefordert, ein Administratorpasswort festzulegen. Melden Sie sich nach dem Festlegen mit den folgenden Anmeldedaten an:

  • Benutzername: root
  • Passwort: Das Passwort, das Sie gerade erstellt haben

> Sicherheitstipp: Ändern Sie die Standardanmeldedaten des root-Kontos unmittelbar nach Ihrer ersten Anmeldung. Erstellen Sie ein persönliches Admin-Konto und beschränken Sie das root-Konto nur für Notfälle.

Schritt 7: GitLab-E-Mail-Benachrichtigungen konfigurieren (Optional)

Das Versenden von E-Mail-Benachrichtigungen ist für eine produktive GitLab-Instanz unverzichtbar – es ermöglicht Funktionen wie Kontobestätigung, Merge-Request-Updates, CI/CD-Warnungen und Passwort-Zurücksetzen. Konfigurieren Sie SMTP-Einstellungen in der GitLab-Hauptkonfigurationsdatei:

sudo nano /etc/gitlab/gitlab.rb

Fügen Sie den folgenden SMTP-Konfigurationsblock hinzu oder ändern Sie ihn:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Speichern Sie die Datei und wenden Sie die Änderungen an:

sudo gitlab-ctl reconfigure

> Suchen Sie nach einer zuverlässigen E-Mail-Infrastruktur? AlexHost bietet professionelle Email-Hosting-Dienste, die sich nahtlos in selbstgehostete Anwendungen wie GitLab integrieren und stabiles SMTP-Relaying mit hoher Zustellbarkeit bieten.

Schritt 8: HTTPS mit Let's Encrypt aktivieren (Empfohlen)

Die Ausführung von GitLab über HTTPS wird für jede Produktions- oder Team-Umgebung dringend empfohlen. GitLab hat integrierte Unterstützung für Let's Encrypt, eine kostenlose und automatisierte SSL-Zertifizierungsstelle.

> Wichtig: Let's Encrypt erfordert, dass Ihr Domänenname öffentlich erreichbar ist und dass Port 80 auf Ihrem Server offen ist. Es funktioniert nicht mit reinen IP-Adressen.

Öffnen Sie die GitLab-Konfigurationsdatei:

sudo nano /etc/gitlab/gitlab.rb

Fügen Sie die folgende Konfiguration hinzu:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Speichern Sie die Datei und konfigurieren Sie GitLab neu:

sudo gitlab-ctl reconfigure

GitLab ruft Ihr SSL-Zertifikat automatisch ab und installiert es, und die auto_renew Einstellung stellt sicher, dass es vor Ablauf ohne manuelle Eingriffe erneuert wird.

> Alternative: Wenn Sie SSL-Zertifikate unabhängig verwalten möchten oder Wildcard-/Multi-Domain-Zertifikate benötigen, bietet AlexHost eine Reihe von SSL-Zertifikaten, die manuell in den NGINX-Einstellungen von GitLab konfiguriert werden können.

Schritt 9: Verwaltung von GitLab-Diensten

GitLab enthält ein eigenes Service-Management-Tool namens gitlab-ctl. Verwenden Sie die folgenden Befehle, um GitLab-Dienste zu steuern:

GitLab starten

sudo gitlab-ctl start

GitLab stoppen

sudo gitlab-ctl stop

GitLab neu starten

sudo gitlab-ctl restart

Service-Status prüfen

sudo gitlab-ctl status

Echtzeit-Protokolle anzeigen

sudo gitlab-ctl tail

Protokolle für einen bestimmten Dienst anzeigen (z. B. NGINX)

sudo gitlab-ctl tail nginx

Diese Befehle sind von unschätzbarem Wert für die Fehlerbehebung und regelmäßige Wartung. Der Befehl status zeigt den Status aller GitLab-Unterdienste an, einschließlich PostgreSQL, Redis, Sidekiq, Puma (Webserver) und NGINX.

Schritt 10: Erste GitLab-Konfiguration für Ihre Organisation

Mit GitLab installiert und ausgeführt ist es Zeit, es für die Anforderungen Ihres Teams zu konfigurieren. Hier sind die wichtigsten Bereiche, die über die GitLab-Weboberfläche eingerichtet werden:

Benutzerverwaltung

Navigieren Sie zu Admin Area → Users, um Benutzerkonten für Ihre Teamkollegen zu erstellen. Sie können Authentifizierungsmethoden konfigurieren, einschließlich LDAP, OAuth und SAML für Enterprise Single Sign-On.

Gruppen und Projekte

  • Gruppen ermöglichen es Ihnen, verwandte Projekte zu organisieren und Berechtigungen in großem Maßstab zu verwalten
  • Projekte sind einzelne Repositories mit ihren eigenen Issue-Trackern, Wikis und CI/CD-Pipelines

CI/CD-Pipelines

GitLabs integriertes CI/CD ist eines seiner leistungsstärksten Features. Erstellen Sie eine .gitlab-ci.yml-Datei im Repository-Root, um automatisierte Build-, Test- und Deployment-Pipelines zu definieren.

Repository-Einstellungen

Konfigurieren Sie Branch-Schutzregeln, Merge-Request-Genehmigungen und Code-Review-Workflows im Abschnitt Settings → Repository jedes Projekts.

Backup-Konfiguration

Richten Sie automatisierte Backups ein, indem Sie Folgendes in /etc/gitlab/gitlab.rb konfigurieren:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Führen Sie jederzeit ein manuelles Backup mit aus:

sudo gitlab-backup create

Firewall-Konfiguration

Wenn Sie UFW (Uncomplicated Firewall) auf Ihrem Ubuntu-Server aktiviert haben, stellen Sie sicher, dass Sie HTTP- und HTTPS-Verkehr zulassen:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Fehlerbehebung bei häufigen Problemen

ProblemLösung
GitLab nach Installation nicht erreichbarFirewall-Regeln überprüfen; EXTERNAL_URL in /etc/gitlab/gitlab.rb verifizieren
502 Bad Gateway-Fehlersudo gitlab-ctl restart ausführen; Protokolle mit sudo gitlab-ctl tail überprüfen
Let’s Encrypt-ZertifikatfehlerStellen Sie sicher, dass Port 80 offen ist und die Domain-DNS korrekt konfiguriert ist
Hohe SpeichernutzungPuma-Worker in gitlab.rb reduzieren: puma['worker_processes'] = 2
E-Mail-Benachrichtigungen werden nicht gesendetSMTP-Anmeldedaten überprüfen und sudo gitlab-rails console zum Testen ausführen

Fazit

Die Installation von GitLab auf Ubuntu ist ein unkomplizierter Prozess, der eine unternehmensgerechte DevOps-Plattform unter Ihrer vollständigen Kontrolle bereitstellt. Indem Sie dieser Anleitung folgen, haben Sie eine vollständig funktionsfähige GitLab-Instanz mit HTTPS-Verschlüsselung, E-Mail-Benachrichtigungen und ordnungsgemäßer Service-Verwaltung eingerichtet – bereit für echte Entwicklungs-Workflows.

Das Selbst-Hosting von GitLab gibt Ihrem Team die Freiheit, Workflows anzupassen, Datensouveränität zu wahren und sich in Ihre bestehende Infrastruktur zu integrieren – ohne wiederkehrende SaaS-Abonnementkosten. Der Schlüssel zu einer reibungslosen GitLab-Erfahrung ist der Start mit einem zuverlässigen, leistungsstarken Server.

Für Teams, die eine robuste Grundlage für GitLab benötigen, bieten AlexHost’s Dedicated Servers maximale Leistung und Isolation, während VPS Hosting Pläne eine kostengünstige und skalierbare Alternative für kleinere Teams und wachsende Projekte bieten. Beide Optionen bieten vollständigen Root-Zugriff, SSD-Speicher und 24/7 technischen Support – alles, was Sie benötigen, um GitLab mit Zuversicht auszuführen.