Installation von GitLab auf einem Debian 9 VPS-Server + ISPconfig

Procédure

GitLab ist ein mächtiges Werkzeug, mit dem du deine verschiedenen Git-Repositories einfach verwalten kannst. Allerdings kann seine Einrichtung mit unseren Betriebssystemen, die mit ISPConfig 3 ausgestattet sind, leicht Kopfzerbrechen bereiten. Aus diesem Grund haben wir uns entschieden, dir eine vollständige Anleitung für diesen Vorgang zur Verfügung zu stellen.

Voraussetzungen

GitLab benötigt mindestens 2 GB Arbeitsspeicher. In Verbindung mit den mindestens 2 GB für ISPConfig 3 und der Anzahl der ausgeführten Prozesse (die fast 30 % der Quote für ISPConfig allein ohne jegliche Website ausmachen) reicht dasVPS L-Angebot der LWS Starter-Reihe für kleine Projekte aus, aber wir empfehlen die VPS Pro-Reihe für alle Projekte mit professionellem Anspruch.

Für dieses Tutorial verwenden wir einen VPS mit dem leeren Betriebssystem Debian 9 + ISPConfig 3 aus dem LWS-Panel. Hier sind die Links zu anderen Tutorials für andere Betriebssysteme :

Wenn Sie das Betriebssystem Ihres VPS ändern möchten, finden Sie hier einen Link zur Hilfedokumentation: Wie ändere ich das Betriebssystem meines VPS?

Bitte beachten Sie, dass dieses Tutorial nur auf einer VIERGE-Installation von Debian 9 + ISPConfig getestet wurde. Wenn Sie bereits Webseiten oder andere Dienste auf Ihrem VPS installiert haben, können wir nicht garantieren, dass das Tutorial effektiv ist und/oder dass alle Ihre anderen Dienste nach der Installation funktionsfähig sind.

Denken Sie daran, den SSH-Port in der Firewall Ihres VPS zu aktivieren und SSH Managed Services zu deaktivieren, damit Sie sich als Root an der SSH-Konsole anmelden können.

Zusammenfassung des Tutorials

Dies sind die Schritte, die in diesem Tutorial behandelt werden:

  1. Aktualisierung des Betriebssystems
  2. Installation von Gitlab
  3. Erstellen eines Let's Encrypt SSL-Zertifikats
  4. Einrichten eines Reverse Proxy auf Apache vor Gitlab.

1. Aktualisieren des Betriebssystems

Bevor Sie etwas installieren, empfiehlt es sich, die Paketliste und die Pakete selbst zu aktualisieren. Schreiben Sie auf Ihrer SSH-Konsole die folgenden Befehle:

apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y

Wir können auch ISPConfig aktualisieren.

2. Installation von Gitlab

Zunächst installieren wir die von Gitlab benötigten Abhängigkeiten:

apt-get install -y curl openssh-server ca-certificates.

Als nächstes fügen wir das Gitlab-Repository zu Ihrem VPS hinzu :

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

Nun installieren wir Gitlab auf Port 6080 (zufällig ausgewählter Port) :

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

Die Installation dauert mehrere Minuten, Sie können in der Zwischenzeit einen Tee trinken.

Tipp: Wenn Sie eine nicht sehr stabile Internetverbindung haben, können Sie screen einrichten, um sich bei einer ungeplanten Trennung der Verbindung wieder mit der Detachable-Konsole zu verbinden. Dokumentation zur Verwendung von screen.

Die Installation wird fehlschlagen. Das ist völlig normal. Das liegt daran, dass Gitlab versuchen wird, Änderungen am Kernel vorzunehmen. Diese Änderungen sind jedoch auf den VPS-Servern von LWS aufgrund der verwendeten Virtualisierungstechnologie nicht erlaubt. Um dies zu umgehen, müssen Sie die Kernelkonfigurationsdateien, die von Gitlab gepostet werden, "berühren" (den Befehl touch ausführen), um ihren Inhalt zu leeren und die Installation fortsetzen zu können:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Falls es noch weitere Konfigurationsdateien gibt, zögern Sie nicht, diese zu leeren. Führen Sie dann den folgenden Befehl aus, um die Gitlab-Konfigurationen neu zu generieren:

gitlab-ctl reconfigure

Nun müssen Sie GitLab stoppen, das, wie Sie überprüfen konnten, überhaupt nicht funktioniert:

gitlab-ctl stop

Das Problem liegt am Modul unicorn, das denselben Port wie ISPConfig verwendet. Wir werden daher seinen Port ändern, indem wir die Datei /etc/gitlab/gitlab.rb editieren:

nano /etc/gitlab/gitlab.rb

und editieren Sie die folgende Zeile:

# unicorn['port'] = 8080 unicorn['port'] = 8083

Vorher stand es als Kommentar und 8080 als Wert. Jetzt haben wir es dekomentiert und 8083 als Port gesetzt. Lassen Sie uns die Konfigurationsdateien neu erstellen :

gitlab-ctl reconfigure.

Nun müssen wir Gitlab neu starten:

gitlab-ctl restart

Tipp: Wenn unicorn sich weigert zu starten, gibt es Kinderprozesse, die noch nicht geschlossen wurden. Schließen Sie diese mit gitlab-ctl stop und versuchen Sie es dann erneut.

3. Erstellen Sie ein Let's Encrypt SSL-Zertifikat.

Um den Zugriff auf Gitlab zu sichern, werden wir ein Let's Encrypt SSL-Zertifikat erstellen, das dann auf dem Reverse Proxy installiert wird.

Hinweis: Wir werden das SSL-Zertifikat nicht auf Gitlab einrichten. Wir werden lediglich den Zugang auf seinem Reverse Proxy absichern. Tatsächlich wird auf Gitlab nur über den Reverse Proxy zugegriffen, wir können unserem VPS also zusätzlichen Rechenaufwand ersparen, indem wir Datenverkehr verschlüsseln, der den VPS nicht verlassen wird.

Dazu müssen wir zunächst git.example.com auf Ihren VPS verweisen. Danach verwenden wir certbot:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.example.com

Hinweis: ISPConfig (dank seines vhost und seiner .conf für Apache) leitet Anfragen, die /.well-known/ enthalten, direkt an /usr/local/ispconfig/interface/acme/ weiter. Wir verwenden also eine webroot-Authentifizierung und nutzen den dafür vorgesehenen Ordner von ISPConfig. Dies wird dafür sorgen, dass wir bei Erneuerungen nicht mit ISPConfig kollidieren.

Wenn Sie zum ersten Mal ein Let's Encrypt SSL-Zertifikat auf Ihrem VPS erstellen, sollten Sie eine E-Mail-Adresse angeben und die Nutzungsbedingungen von Let's Encrypt akzeptieren.

4. Einrichten des Apache-Reverse-Proxys

Nun müssen wir den Reverse-Proxy mit Apache konfigurieren, der mit ISPConfig und den zugehörigen Websites zusammenleben wird. Wir werden daher eine neue Konfigurationsdatei erstellen :

nano /etc/apache2/sites-available/gitlab.conf

und wir müssen den folgenden Inhalt einrichten:


    ServerName git.example.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/??(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.example.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted  ProxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.example.com/chain.pem.

Und aktivieren wir diesen neuen vhost :

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Aber bevor Sie Apache neu starten, müssen Sie die notwendigen Module aktivieren :

a2enmod proxy a2enmod proxy_http.

Starten Sie nun Apache neu :

systemctl restart apache2

Und das war's. Wenn Sie auf git.example.com zugreifen, werden Sie sehen, dass Gitlab bereit ist :

Installation von GitLab auf einem Debian 9 VPS-Server + ISPconfig

Diesen Artikel bewerten :

5/5 | 2 Hinweis

Dieser Artikel war hilfreich für Sie ?

Article utileJa

Article non utileNicht

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Ähnliche Artikel

3mn von Lesen

Wie kann ich auf meinem dedizierten VPS-Server auf ISPConfig zugreifen?

0mn von Lesen

Wie kann ich in ISPConfig auf einem dedizierten VPS-Server einen DNS-Server einrichten?

0mn von Lesen

Wie kann ich das Passwort für das ISPConfig-3-Panel ändern?

1mn von Lesen

Wie sichere ich den Zugriff auf mein ISPconfig-Panel mithilfe einer .htaccess-Datei?


Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft