Installation und Konfiguration von GitLab CE auf CentOS 7

GitLab ist ein Open-Source-Repository-Manager, der auf Rails basiert, die von GitLab Inc. entwickelt wurden. Es ist ein webbasierter Git-Repository-Manager, der es Ihrem Team ermöglicht, bei der Programmierung, dem Testen und der Bereitstellung von Anwendungen zusammenzuarbeiten. GitLab bietet mehrere Funktionen, darunter Wikis, Problemverfolgung, Codeüberprüfungen und Aktivitäts-Feeds.

GitLab Inc. bietet 4 Produkte an:

  1. Gitlab CE (Community Edition) – selbst gehostet und kostenlos; Unterstützung durch das Community-Forum.
  2. Gitlab EE (Enterprise Edition) – selbst gehostet und bezahlt; mit zusätzlichen Funktionen ausgestattet.
  3. GitLab.com – SaaS und kostenlos.
  4. GitLab.io – Private GitLab-Instanz verwaltet von GitLab Inc.

In diesem Tutorial wird die schrittweise Installation von GitLab CE (Community Edition) auf CentOS 7 Server mit 4GB RAM erläutert. In einem unserer vorherigen Tutorials haben wir die GitLab-Installation manuell durchgeführt. Aber hier werden wir das von GitLab bereitgestellte Paket „omnibus“ für unsere Installation verwenden.

Was wir tun werden

  1. Pakete installieren
  2. GitLab installieren
  3. GitLab-URL konfigurieren
  4. Generieren Sie SSL Let’s encrypt und DHPARAM-Zertifikat.
  5. Nginx HTTPS für GitLab aktivieren
  6. Konfigurieren Sie fIrewalld
  7. GitLab-Installation durchführen
  8. Prüfung

Voraussetzungen

  • CentOS 7 Server – 64bit 64bit
  • Min. RAM 2GB
  • Root-Rechte

Schritt 1 – Pakete installieren

In diesem Schritt werden wir einige Pakete herunterladen/installieren, die für die Installation von GitLab benötigt werden. Wir werden curl verwenden, um den Repository-Installer, policycoreutils für SELinux-Manager, OpenSSH und Postfix als lokalen SMTP-Server herunterzuladen.

Installieren Sie alle diese Pakete mit dem folgenden yum-Befehl.

yum -y install curl policycoreutils openssh-server openssh-clients postfix

Danach starten Sie die Dienste ssh und postfix.

systemctl start sshd
systemctl start postfix

Aktivieren Sie nun, dass sie beim Booten automatisch ausgeführt werden.

systemctl enable sshd
systemctl enable postfix

Postfix und SSHD aktivieren

Alle für die Installation von GitLab benötigten Pakete sind nun auf dem Server installiert.

Schritt 2 – GitLab installieren

GitLab bietet ein Installationsprogramm zum Hinzufügen des GitLab CE-Repositorys. Laden Sie das Installationsprogramm mit Curl herunter und führen Sie das Skript (wie unten gezeigt) aus, um ein neues GitLab CE-Repository hinzuzufügen.

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

Das GitLab CE-Repository wurde dem System hinzugefügt.

Gitlab-Repository hinzufügen

Installieren Sie nun GitLab mit dem folgenden yum-Befehl.

yum -y install gitlab-ce

Wenn die Installation abgeschlossen ist, erhalten Sie das Ergebnis wie unten gezeigt.

Install Gitlab

Damit ist GitLab CE nun auf dem CentOS 7 Server installiert.

Schritt 3 – GitLab URL konfigurieren

Für dieses Tutorial werden wir einen Domainnamen für GitLab verwenden. Insbesondere werden wir den Domainnamen ‚gitlab.hakase-labs.co.‘ verwenden.

Gehen Sie in das GitLab-Konfigurationsverzeichnis ‚/etc/gitlab‘ und bearbeiten Sie dann die Konfigurationsdatei’gitlab.rb‘ mit dem vim-Editor.

cd /etc/gitlab/
vim gitlab.rb

Ändere die external_url Zeile mit dem Domainnamen‘gitlab.hakase-labs.co‚.

external_url 'http://gitlab.hakase-labs.co'

Speichern Sie die Änderungen und verlassen Sie vim.

Gitlab-Konfiguration bearbeiten

Schritt 4 – Generieren von SSL Let’s encrypt und DHPARAM-Zertifikat

Für die grundlegende Sicherheitsebene werden wir das SSL für unsere GitLab-Website verwenden. Wir werden ein kostenloses SSL-Zertifikat von Letsencrypt verwenden und ein DHPARAM-Zertifikat generieren, um eine zusätzliche Sicherheitsschicht hinzuzufügen.

Um das Letsencrypt-Zertifikat zu generieren, müssen wir das letsencrypt Kommandozeilen-Tool installieren, das im Repository verfügbar ist.

Installieren Sie das Letsencrypt-Tool auf CentOS 7 mit dem Befehl yum unten.

yum -y install letsencrypt

Nachdem die Installation abgeschlossen ist, generieren Sie ein neues SSL-Zertifikat letsencrypt mit dem folgenden Befehl.

letsencrypt certonly --standalone -d gitlab.hakase-labs.co

Hinweis: Stellen Sie bei der Generierung von SSL-Letsencrypt sicher, dass Ihr HTTP- und HTTPS-Port nicht durch die Firewall blockiert wird.

Geben Sie Ihre E-Mail-Adresse für die Verlängerung der Benachrichtigung ein, geben Sie dann ‚A‘ für die Allgemeinen Geschäftsbedingungen von Letsencrypt ein, und geben Sie schließlich ‚N‘ ein und drücken Sie erneut die Eingabetaste.

SSL-Zertifikat installieren

Und wenn Sie das Ergebnis wie unten gezeigt sehen, bedeutet dies, dass Ihr Zertifikat für den Domainnamen generiert und im Verzeichnis’/etc/letsencrypt/live‘ gespeichert wurde.

SSL-Zertifikat von Lets Encrypt erhalten

Erstellen Sie anschließend ein neues Verzeichnis’ssl‘ unter dem GitLab-Konfigurationsverzeichnis’/etc/gitlab/‘.

mkdir -p /etc/gitlab/ssl/

Erzeugen Sie nun die DHPARAM-Zertifikatspem-Datei mit OpenSSL. Das größere Stück ist sicherer.

sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Generierung von dhparam cert

Und nachdem das DHPARAM-Zertifikat generiert wurde, ändern Sie die Berechtigung der Zertifikatsdatei auf 600.

chmod 600 /etc/gitlab/ssl/*

So wurde das SSL Letsencrypt und DHPARAM Zertifikat für die GitLab Installation generiert.

Schritt 5 – Nginx HTTPS für GitLab aktivieren

Zu diesem Zeitpunkt haben wir bereits kostenlose SSL-Zertifikatsdateien von Letsencrypt und DHPARAM-Zertifikat, die mit dem OpenSSL-Befehl generiert werden. Und in diesem Schritt werden wir HTTPS für die GitLab-Site aktivieren. Wir werden HTTPS aktivieren und HTTP für die HTTPS-Verbindung erzwingen.

Gehen Sie zunächst in das Konfigurationsverzeichnis von GitLab und bearbeiten Sie die Konfigurationsdatei’gitlab.rb‘.

cd /etc/gitlab/
vim gitlab.rb

Und ändern Sie HTTP zu HTTPS auf der external_url Zeile.

external_url 'https://gitlab.hakase-labs.co'

Fügen Sie dann die folgende Konfiguration unter der Leitungskonfiguration „external_url“ ein.

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"

Speichern Sie die Änderungen und verlassen Sie vim.

Einrichten von Gitlab SSH-Zertifikaten

Zum Schluss wenden Sie die GitLab-Konfiguration mit dem folgenden Befehl an.

gitlab-ctl reconfigure

Und wenn alles abgeschlossen ist, sollten Sie das Ergebnis wie unten gezeigt erhalten.

Gitlab rekonfigurieren

Schritt 6 – Firewalldaten konfigurieren

In diesem Tutorial werden wir GitLab unter der Firewalld-Firewall ausführen. Stellen Sie also sicher, dass es auf dem System installiert ist. Wenn Sie das Paket nicht haben, können Sie es mit dem folgenden Befehl installieren.

yum -y install firewalld

Starten Sie die Firewall und aktivieren Sie sie so, dass sie beim Booten automatisch mit systemctl-Befehlen läuft, wie unten gezeigt.

systemctl start firewalld
systemctl enable firewalld

Als nächstes öffnen Sie neue Ports für unsere Dienste. Wir werden SSH-, HTTP- und HTTPS-Ports für unsere GitLab-Konfiguration öffnen. Führen Sie untenstehende Firewall-cmd-Befehle aus, um die Ports zu öffnen.

firewall-cmd --permanent --add-service ssh
firewall-cmd --permanent --add-service http
firewall-cmd --permanent --add-service https

Konfigurieren der Firewall

Laden Sie nun die Firewall neu und überprüfen Sie die Konfiguration der Firewall. Stellen Sie sicher, dass SSH, HTTP und HTTPS auf der Liste stehen.

firewall-cmd --reload
firewall-cmd --list-all

Liste der Firewall-Ports

Damit ist die Firewalld-Konfiguration für GitLab abgeschlossen.

Schritt 7 – Installation durchführen

GitLab wurde also im System installiert und läuft unter der Firewalld-Firewall. In diesem Schritt werden wir nach der Installation von GitLab auf dem Server einige kurze Einstellungen vornehmen.

GitLab Root-Passwort zurücksetzen

Öffnen Sie Ihren Webbrowser und geben Sie die Gitlab-URL’gitlab.hakase-labs.co‘ ein. Sie werden zur HTTPS-Verbindung weitergeleitet. Ändern Sie das Root-Passwort mit Ihrem eigenen Passwort und klicken Sie zur Bestätigung auf die Schaltfläche „Passwort ändern“.

Gitlab-Passwort festlegen

Jetzt können Sie sich mit dem Standardbenutzer’root‘ und Ihrem eigenen Passwort in das GitLab Dashboard einloggen.

Gitlab dashboard

Profil und Benutzernamen ändern

Nachdem Sie sich in das Dashboard von GitLab eingeloggt haben, klicken Sie oben rechts auf Ihr Symbolprofil und klicken Sie auf das Symbol „Einstellungen“, um Ihr Profil einzurichten.

Benutzername ändern

Ändern Sie auf der Registerkarte „Profil“ Ihren Namen und Ihre E-Mail-Adresse und klicken Sie dann zur Bestätigung auf die Schaltfläche „Profileinstellungen aktualisieren“ unten.

E-Mail-Adresse ändern

Als nächstes gehen Sie zur Registerkarte „Konto“ und ändern Sie den Standard-Root-Benutzernamen mit Ihrem eigenen Benutzernamen, und klicken Sie dann auf die Schaltfläche „Benutzernamen aktualisieren“.

Ändern des Standard-Root-Benutzernamens

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 ihn mit dem folgenden Befehl generieren.

ssh-keygen

SSH-Schlüssel generieren

Und du bekommst zwei Schlüssel im ~/.ssh/ Verzeichnis. ‚id_rsa‘ wäre dein privater Schlüssel und ‚id_rsa.pub‘ wäre dein öffentlicher Schlüssel.

Kehren Sie dann zum Webbrowser zurück und klicken Sie 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 „Schlüssel hinzufügen“.

SSH-Schlüssel in Gitlab hinzufügen

Damit wurde der SSH-Schlüssel aktualisiert.

Registrierungsbeschränkungen und Limiteinstellungen

Klicken Sie auf das Symbol „Admin-Bereich“, dann auf das Zahnradsymbol und wählen Sie „Einstellungen“.

Gitlab Limit-Einstellungen

Im Abschnitt „Konto- und Limiteinstellungen“ können Sie das maximale Projekt pro Benutzer konfigurieren. Und im Abschnitt „Anmeldebeschränkungen“ können Sie den Domänennamen Ihrer E-Mail zur Whitelist hinzufügen.

Konto- und Limiteinstellungen

Nachdem dies alles erledigt ist, scrollen Sie nach unten und klicken Sie auf’Speichern‘.

Das ist es. Das ist es. Die Grundkonfiguration von GitLab ist abgeschlossen.

Schritt 8 – Prüfung

Nun werden wir einige Tests mit unserem selbst gehosteten GitLab durchführen.

Neues Projekt erstellen

Klicken Sie auf das Plus-Symbol oben rechts, um ein neues Projekt-Repository zu erstellen.

Erstellen eines Gitlab-Projekts

Geben Sie Ihren Projektnamen, Ihre Beschreibung und die Sichtbarkeitseinstellungen für Ihr Projekt ein. Und klicken Sie dann auf die Schaltfläche „Projekt erstellen“.

Projektdetails festlegen

Damit ist das Projekt angelegt.

Test erster Commit

Nachdem Ihr Projekt erstellt wurde (in unserem Fall das Howtoforge), 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.

Für diesen Test müssen wir das Git-Konto auf dem Computer einrichten, was Sie mit den folgenden Befehlen tun können:

git config --global user.name "hakase"
git config --global user.email "admin@example.com"

Klonen Sie das Repository und fügen Sie eine neue README.md-Datei hinzu.

git clone https://hakase@gitlab.hakase-labs.co/hakase/howtoforge.git
cd howtoforge/
vim README.md

Sie werden nach dem hakase Passwort gefragt. Bitte geben Sie das gleiche Passwort ein, das wir beim ersten Zugriff auf GitLab verwendet haben, und fügen Sie dann neue Inhalte zur Datei README.md hinzu.

Übertragen Sie neue Änderungen am Repository mit den folgenden Befehlen.

git add .
git commit -m 'Add README.md file by hakase-labs'

Als nächstes verschieben Sie das Repository auf den GitLab-Server.

git push origin master

Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um fortzufahren. Sie sollten das Ergebnis wie unten gezeigt sehen.

Gitlab Test Commit

Öffnen Sie nun das Projekt (howtoforge in unserem Fall) von Ihrem Webbrowser aus, und Sie werden sehen, dass eine neue README.md-Datei zum Repository hinzugefügt wurde.

Gitlab-Projekt

Dies bestätigt also, dass Gitlab erfolgreich auf Ubuntu CentOS 7 mit 4 GB Speicher installiert wurde.

Referenz

Das könnte dich auch interessieren …