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 ist und eine umfassende Suite von Tools bietet, darunter Git-basierte Versionskontrolle, Continuous Integration/Continuous Delivery (CI/CD)-Pipelines, Issue-Tracking und Team-Collaboration-Funktionen — alles unter einem Dach. Egal ob Sie ein kleines Entwicklungsteam verwalten oder unternehmensweite Softwareprojekte durchführen, das Selbst-Hosting von GitLab auf Ubuntu gibt Ihnen vollständige Kontrolle über Ihre Daten, Workflows und Infrastruktur.
Diese Anleitung 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 Diensten.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes 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 Domänenname, der auf die IP-Adresse Ihres Servers verweist (optional, aber stark empfohlen für HTTPS)
- Ports 80 und 443 in Ihrer Firewall offen
> Tipp: Für die beste GitLab-Leistung sollten Sie auf einem VPS Hosting-Plan mit ausreichend RAM und CPU-Ressourcen bereitstellen. AlexHost VPS-Pläne sind für Linux-Workloads optimiert und bieten vollständigen Root-Zugriff, was sie zu einer idealen Umgebung für selbst gehostete DevOps-Plattformen wie GitLab macht.
Schritt 1: Systempaket aktualisieren
Bevor Sie Software installieren, ist es wichtig, sicherzustellen, dass der Paketindex Ihres Systems und die installierten Pakete vollständig aktuell sind. Dies verhindert Abhängigkeitskonflikte und stellt sicher, dass Sie mit den neuesten Sicherheitspatches arbeiten.
sudo apt update && sudo apt upgrade -yWarten 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, Zeitzonen-Management und Scripting. Installieren Sie diese mit dem folgenden Befehl:
sudo apt install -y curl openssh-server ca-certificates tzdata perlHier ist, was jedes Paket tut:
| Paket | Zweck |
|---|---|
curl | Lädt Skripte und Dateien aus dem Web herunter |
openssh-server | Ermöglicht SSH-Zugriff auf Ihren Server |
ca-certificates | Validiert SSL/TLS-Zertifikate |
tzdata | Stellt Zeitzonen-Daten bereit |
perl | Erforderlich 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 bashDieses 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 nun GitLab CE mit dem apt Paketmanager. Sie müssen die Umgebungsvariable EXTERNAL_URL auf die URL oder IP-Adresse setzen, über die Benutzer auf Ihre GitLab-Instanz zugreifen werden.
Wenn Sie einen Domänennamen haben:
sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ceWenn Sie eine IP-Adresse verwenden (z.B. für einen lokalen oder privaten Server):
sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ceErsetzen Sie gitlab.yourdomain.com oder YOUR_SERVER_IP durch Ihren tatsächlichen Domänennamen 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 bereitgestellten
EXTERNAL_URLkonfigurieren - Anfängliche Konfigurationsdateien in
/etc/gitlab/generieren
Schritt 5: GitLab-Neukonfiguration ausführen
Nach der Installation führen Sie den Neukonfigurationsbefehl aus, um das Setup abzuschließen, die Datenbank zu initialisieren und alle GitLab-Dienste zu starten:
sudo gitlab-ctl reconfigureDieser 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: GitLab in Ihrem Webbrowser aufrufen
Nach Abschluss der Neukonfiguration öffnen Sie Ihren Webbrowser und navigieren Sie zu der URL, die Sie während der Installation angegeben haben:
https://gitlab.yourdomain.comoder
http://YOUR_SERVER_IPErste Anmeldung
Bei Ihrem ersten Besuch werden Sie von GitLab aufgefordert, ein Administrator-Passwort zu setzen. Melden Sie sich danach mit den folgenden Anmeldedaten an:
- Benutzername:
root - Passwort: Das Passwort, das Sie gerade erstellt haben
> Sicherheitstipp: Ändern Sie die Anmeldedaten des Standard-Kontos root sofort nach Ihrer ersten Anmeldung. Erstellen Sie ein persönliches Admin-Konto und beschränken Sie das Konto root nur für den Notfall.
Schritt 7: E-Mail-Benachrichtigungen von GitLab konfigurieren (Optional)
Das Versenden von E-Mail-Benachrichtigungen ist für eine produktive GitLab-Instanz wichtig — 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.rbFü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'] = trueSpeichern 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 selbst gehostete Anwendungen wie GitLab integrieren und stabiles SMTP-Relay mit hoher Zustellbarkeit bieten.
Schritt 8: HTTPS mit Let’s Encrypt aktivieren (Empfohlen)
Das Ausführen von GitLab über HTTPS wird für jede produktive oder Team-Umgebung dringend empfohlen. GitLab hat integrierte Unterstützung für Let’s Encrypt, eine kostenlose und automatisierte Zertifizierungsstelle.
> Wichtig: Let’s Encrypt erfordert, dass Ihr Domänenname öffentlich zugänglich 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.rbFü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 reconfigureGitLab bezieht und installiert automatisch Ihr SSL-Zertifikat, und die Einstellung auto_renew stellt sicher, dass es vor Ablauf ohne manuelle Eingriffe erneuert wird.
> Alternative: Wenn Sie SSL-Zertifikate lieber unabhängig verwalten möchten oder Wildcard-/Multi-Domain-Zertifikate benötigen, bietet AlexHost eine Reihe von SSL-Zertifikaten, die manuell in GitLabs NGINX-Einstellungen konfiguriert werden können.
Schritt 9: Verwaltung von GitLab-Diensten
GitLab bündelt sein eigenes Service-Management-Tool namens gitlab-ctl. Verwenden Sie die folgenden Befehle, um GitLab-Dienste zu steuern:
GitLab starten
sudo gitlab-ctl startGitLab stoppen
sudo gitlab-ctl stopGitLab neu starten
sudo gitlab-ctl restartService-Status prüfen
sudo gitlab-ctl statusEchtzeit-Protokolle anzeigen
sudo gitlab-ctl tailProtokolle für einen bestimmten Dienst anzeigen (z.B. NGINX)
sudo gitlab-ctl tail nginxDiese 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: Anfängliche GitLab-Konfiguration für Ihre Organisation
Mit GitLab installiert und laufend ist es an der 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 Team-Mitglieder 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 im großen 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
