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 -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, Zeitzonenverwaltung 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 Zeitzonendaten 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 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-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 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_URLkonfigurieren, 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 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: 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.comoder
http://YOUR_SERVER_IPErste 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.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 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.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 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 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: 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 daysFühren Sie jederzeit ein manuelles Backup mit aus:
sudo gitlab-backup createFirewall-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 statusFehlerbehebung bei häufigen Problemen
| Problem | Lösung |
|---|---|
| GitLab nach Installation nicht erreichbar | Firewall-Regeln überprüfen; EXTERNAL_URL in /etc/gitlab/gitlab.rb verifizieren |
| 502 Bad Gateway-Fehler | sudo gitlab-ctl restart ausführen; Protokolle mit sudo gitlab-ctl tail überprüfen |
| Let’s Encrypt-Zertifikatfehler | Stellen Sie sicher, dass Port 80 offen ist und die Domain-DNS korrekt konfiguriert ist |
| Hohe Speichernutzung | Puma-Worker in gitlab.rb reduzieren: puma['worker_processes'] = 2 |
| E-Mail-Benachrichtigungen werden nicht gesendet | SMTP-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.
bei allen Hosting-Diensten