Wie man GitLab unter Ubuntu 16.04 installiert und konfiguriert
GitLab ist ein Open-Source-GIT-Repository-Manager, der auf Rails basiert und von GitLab Inc. entwickelt wurde. Es handelt sich um einen webbasierten GIT-Repository-Manager, der es Ihrem Team ermöglicht, an Code zu arbeiten, Fehler und Funktionsanforderungen zu verfolgen sowie Anwendungen zu testen und bereitzustellen. GitLab bietet Funktionen wie ein Wiki, Problemverfolgung, Codeüberprüfungen, Aktivitätsfeeds und Merge-Management. Es ist in der Lage, mehrere Projekte zu hosten.
GitLab ist in vier Editionen erhältlich:
- Gitlab CE (Community Edition) – selbst gehostet, kostenlos und mit Unterstützung des Community-Forums.
- Gitlab EE (Enterprise Edition) – selbst gehostete, kostenpflichtige App, mit zusätzlichen Funktionen.
- GitLab.com – SaaS, kostenlos.
- GitLab.io – Private GitLab-Instanz verwaltet von GitLab Inc.
In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie GitLab CE (Community Edition) auf Ihrem eigenen Ubuntu 16.04 Xenial Xerus Server installieren. In diesem Tutorial werde ich das von GitLab bereitgestellte Paket ‚omnibus‘ für eine einfache Installation verwenden.
Was wir tun werden:
- Pakete installieren
- GitLab installieren
- GitLab-URL konfigurieren
- SSL generieren Let’s encrypt und DHPARAM-Zertifikat
- Nginx HTTPS für GitLab aktivieren
- UFW Firewall konfigurieren
- Durchführung der GitLab-Installation
- Prüfung
Voraussetzungen
- Ubuntu 16.04 Server – 64bit
- Min. RAM 2GB
- Root-Privilegien
Schritt 1 – Installation der benötigten Ubuntu-Pakete
Der erste Schritt besteht darin, die für die Installation von GitLab benötigten Pakete zu installieren. Bitte melden Sie sich als Root-Benutzer am Server an und aktualisieren Sie das Ubuntu-Repository.
ssh root@GitLabServer apt-get update
Installieren Sie nun die Pakete mit Curl zum Herunterladen des GitLab-Repository, Ca-Zertifikaten und Postfix für die SMTP-Konfiguration.
Installieren Sie alle Pakete mit dem Befehl apt unten.
sudo apt install curl openssh-server ca-certificates postfix
Während der Postfix-Installation werden Sie zur Konfiguration aufgefordert, wählen Sie’Internet-Site‘.
und geben Sie dann den Server-Domänennamen ein, der für den Versand einer E-Mail verwendet werden soll.
Schritt 2 – Gitlab installieren
In diesem Schritt werden wir GitLab mit den Omnibus-Paketen installieren. Omnibus installiert alle Pakete, Dienste und Tools, die für den Betrieb von GitLab auf Ihrem Server erforderlich sind.
Fügen Sie das GitLab-Repository mit dem Befehl curl hinzu.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Und dann installieren Sie GitLab CE Community Edition mit dem Befehl apt.
sudo apt install gitlab-ce
Warten Sie, bis der Server das gitlab-Paket heruntergeladen und installiert hat. Wenn die Installation abgeschlossen ist, sehen Sie die Ergebnisse wie folgt.
Schritt 3 – Gitlab Haupt-URL konfigurieren
Nun sollten wir die URL konfigurieren, die für den Zugriff auf unseren GitLab-Server verwendet wird. Ich werde den Domainnamen ‚gitlab.hakase-labs.co‘ für die GitLab-URL hier verwenden (bitte wählen Sie Ihren eigenen Domainnamen) und ich werde HTTPS für die Zugangssicherheit der Benutzer verwenden.
Die Hauptkonfiguration von GitLab befindet sich im Verzeichnis’/etc/gitlab‘. Gehen Sie in dieses Verzeichnis und bearbeiten Sie die Konfigurationsdatei’gitlab.rb‘ mit vim.
cd /etc/gitlab vim gitlab.rb
Gehen Sie in der GitLab-Konfiguration zu Zeile 9 ‚external_url‘ und ändern Sie die URL in Ihre URL ‚gitlab.hakase-labs.co‘.
external_url 'http://gitlab.hakase-labs.co'
Speichern Sie die Datei und verlassen Sie den Editor. Im nächsten Schritt wird HTTPS für GitLab aktiviert.
Schritt 4 – Generieren Sie SSL Let’s encrypt und DHPARAM Zertifikat
In diesem Schritt werden wir das HTTPS-Protokoll für GitLab aktivieren. Ich werde ein kostenloses SSL-Zertifikat verwenden, das von let’s encrypt für den gitlab-Domainnamen bereitgestellt wird.
Installiere letsencrypt Kommandozeilen-Tool mit apt-Befehl.
sudo apt install letsencrypt -y
Wenn die Installation abgeschlossen ist, generieren Sie ein neues Zertifikat für den gitlab-Domänennamen mit dem folgenden Befehl.
letsencrypt certonly -d gitlab.hakase-labs.co
Geben Sie Ihre E-Mail-Adresse für die Benachrichtigung zur Verlängerung des SSL-Zertifikats ein.
Wählen Sie’Einverstanden‘ für die Let’s Encrypt Nutzungsbedingungen und warten Sie.
Wenn es fertig ist, sehen Sie das Ergebnis unten.
Neue Let’s encrypt Zertifikatsdateien für GitLab wurden generiert. Sie finden die Zertifikatsdateien im Verzeichnis’/etc/letsencrypt/live‘.
Erstellen Sie anschließend ein neues Verzeichnis namens’ssl‘ im Konfigurationsverzeichnis von GitLab.
mkdir -p /etc/gitlab/ssl/
Und erzeugen Sie dhparam pem-Dateien im ssl-Verzeichnis mit dem Befehl openssl.
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Ändern Sie nun die Berechtigungen der Zertifikatsdateien auf 600.
chmod 600 /etc/gitlab/ssl/*
Das SSL Let’s encrypt cert für GitLab und das DHPARAM-Zertifikat wurde generiert.
Schritt 5 – Nginx HTTPS für GitLab aktivieren
In diesem Stadium haben wir die Zertifikatsdateien von Letsencrypt im Verzeichnis’/etc/letsencrypt/live‘ und das DHPARAM-Zertifikat im Verzeichnis’/etc/gitlab/ssl‘.
In diesem Schritt werden wir ein GitLab konfigurieren, um unsere Zertifikatsdateien zu verwenden. Gehen Sie in das Verzeichnis’/etc/gitlab‘ und bearbeiten Sie die Konfiguration’gitlab.rb‘ mit vim.
cd /etc/gitlab/ vim gitlab.rb
Ändern Sie die externe URL so, dass sie’https‘ anstelle von’http‘ verwendet.
external_url 'https://gitlab.hakase-labs.co'
Fügen Sie dann die neue SSL-Konfiguration für gitlab wie unten beschrieben hinzu.
nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem" nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
Hinweis:
Wir werden HTTP zu HTTPS Umleitung in gitlab aktivieren.
Speichern Sie die Datei und beenden Sie vim.
Nun müssen wir den folgenden Befehl als root ausführen, um die neue gitlab-Konfiguration anzuwenden.
sudo gitlab-ctl reconfigure
Sie werden die Ergebnisse wie folgt sehen.
Die HTTPS-Konfiguration für GitLab ist abgeschlossen.
Schritt 6 – UFW Firewall konfigurieren
In diesem Schritt werden wir die UFW-Firewall aktivieren. Es ist bereits auf dem System installiert, wir müssen nur den Dienst starten. Wir werden GitLab hinter der UFW-Firewall betreiben, daher müssen wir die HTTP- und HTTPS-Ports öffnen.
Aktivieren Sie die UFW-Firewall mit dem folgenden Befehl.
ufw enable
Der Befehl führt den ufw-Dienst aus und fügt ihn hinzu, um ihn automatisch zum Startzeitpunkt zu starten.
Als nächstes öffnen Sie neue Ports ssh, HTTP und HTTPS.
ufw allow ssh ufw allow http ufw allow https
Überprüfen Sie nun den Firewall-Status und stellen Sie sicher, dass die Ports ssh, http und https auf der Liste stehen.
ufw status
HTTP- und HTTPS-Ports sind konfiguriert.
Schritt 7 – Gitlab nach der Installation
GitLab wurde auf dem System installiert und läuft hinter der UFW-Firewall. In diesem Schritt werden wir einige schnelle Einstellungen vornehmen, wie z.B. das Ändern von Passwort, Benutzername und Profileinstellungen.
Öffnen Sie Ihren Webbrowser und geben Sie die gitlab-URL ein, meine ist’gitlab.hakase-labs.co‘. Sie werden zur HTTPS-Verbindung weitergeleitet.
GitLab Root-Passwort zurücksetzen
Melden Sie sich nun mit dem Benutzer’root‘ und Ihrem Passwort bei GitLab an.
Benutzername und Profil ändern
Klicken Sie oben rechts auf Ihr Profil und wählen Sie’Profileinstellungen‘.
Tauschen Sie auf der Registerkarte Profil den Standardnamen mit Ihrem Namen und die E-Mail-Adresse mit Ihrer E-Mail-Adresse aus. Klicken Sie nun auf’Profil aktualisieren‘.
Klicken Sie auf den Tab’Konto‘, ändern Sie den Benutzernamen mit Ihrem eigenen Benutzernamen. Klicken Sie dann auf’Benutzername aktualisieren‘.
SSH-Schlüssel hinzufügen
Stellen Sie sicher, dass Sie bereits einen Schlüssel haben, wenn Sie keinen SSH-Schlüssel haben, können Sie damit mit dem folgenden Befehl generieren.
ssh-keygen
Und Sie erhalten zwei Schlüssel, ‚id_rsa‘ Ihren privaten Schlüssel und ‚id_rsa.pub‘ Ihren öffentlichen Schlüssel.
Klicken Sie anschließend auf die Registerkarte’SSH Key‘, kopieren Sie den Inhalt der Datei’id_rsa.pub‘ und fügen Sie ihn in das Schlüsselfeld ein, und klicken Sie auf’Add Key‘.
Ein neuer SSH-Schlüssel wurde hinzugefügt.
Registrieren Sie sich für Einschränkungen und Limit-Einstellungen.
Klicken Sie auf das Symbol „Admin-Bereich“, dann auf das Zahnradsymbol und wählen Sie „Einstellungen“.
Unter’Konto- und Limiteinstellungen‘ – Sie können maximale Projekte pro Benutzer konfigurieren und unter’Anmeldeeinschränkungen‘ können Sie den Domänennamen Ihrer E-Mail zur Whitelist hinzufügen.
Und wenn alles vollständig ist, scrollen Sie nach unten und klicken Sie auf „Speichern“.
Die Grundkonfiguration von GitLab ist abgeschlossen.
Schritt 8 – Prüfung
Schließlich werden wir einige Tests durchführen, um sicherzustellen, dass unser GitLab-System ordnungsgemäß funktioniert.
Neues Projekt erstellen
Klicken Sie auf das Plus-Symbol oben, um ein neues Projekt-Repository zu erstellen. Geben Sie Ihren Projektnamen, Ihre Beschreibung und die Sichtbarkeitseinstellungen Ihres Projekts ein. Klicken Sie dann auf die Schaltfläche’Projekt erstellen‘.
Das neue Projekt wurde angelegt.
Test des ersten Commits und Push
Nachdem das Projekt „howtoforge“ erstellt wurde, werden Sie auf die Projektseite weitergeleitet. Beginnen Sie nun, neue Inhalte zum Repository hinzuzufügen. Stellen Sie sicher, dass Git auf Ihrem Computer installiert ist und richten Sie den globalen Benutzernamen und die E-Mail-Adresse für git mit dem folgenden Befehl ein.
git config --global user.name "hakase" git config --global user.email "admin@hakase-labs.co"
Klonen Sie das Repository und fügen Sie eine README.md-Datei hinzu.
git clone https://hakase@gitlab.irsyadf.me/hakase/howtoforge.git cd howtoforge/ vim README.md
Sie werden nach dem Benutzerpasswort „hakase“ gefragt. Bitte geben Sie das gleiche Passwort ein, das Sie beim ersten Zugriff auf GitLab verwendet haben.
Übertragen Sie eine neue Datei in das Howtoforge-Repository.
git add . git commit -m 'Add README.md file by hakase-labs'
Als nächstes verschieben Sie die Änderung in das Repository auf dem GitLab-Server.
git push origin master
Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um fortzufahren. Sie werden das Ergebnis wie folgt sehen.
Öffnen Sie nun das Howtoforge-Projekt in Ihrem Webbrowser, und Sie werden sehen, dass die neue Datei README.md zum Repository hinzugefügt wurde.
Gitlab wurde auf einem Ubuntu 16.04 Xenial Xerus Server installiert.