Open Source Software

Tutorial – Eigene GitLab Domain unter i-MSCP konfigurieren

Wer auf seinem Server das open-source Server Management Tool i-MSCP installiert hat und lieber über eine SubDomain statt dem Port arbeiten möchte, dem zeige ich in diesem Tutorial wie das geht.

Vorweg: Ich gehe davon aus, dass ihr bereits gitlab auf eurem Server installiert haben und über den Port aufrufen könnt.

Schritt 1: Die zukünftige GitLab Domain einstellen

Damit GitLab weiß über welche Domain gearbeitet wird, muss in der GitLab Konfigurationsdatei die zukünftige Domain angegeben werden. Diese findet ihr unter /etc/gitlab/gitlab.rb.

In den ersten Zeilen befindet sich der Parameter „external_url“. In diesem müsst ihr die Domain eintragen. Da die folgenden Zeilen im Standard auskommentiert ist, könnt ihr diese Zeilen einfach mit in die Datei unter external_url kopieren:

nginx['listen_address'] = 'localhost'
nginx['listen_port'] = 8888
nginx['listen_https'] = false

Jetzt müssen die Änderungen nur noch übernommen werden. Dazu gebt unter Debian/Ubuntu einfach folgenden Befehl ein: service gitlab-ctl reconfigure

Schritt 2: Anlegen der vHost Datei

Da die Subdomain Funktion unter i-MSCP suboptimal ist, muss die Apache2 vHost Datei manuell angelegt werden. Wechselt dazu einfach in das Verzeichnis /etc/apache2/sites-availabe/ und legt eine vHost-Datei, etwa git.mein-server.tld.conf, an und kopiert folgenden Code hinein:


    ServerName git.mein-server.tld
    ServerAdmin webmaster@mein-server.tld

    ErrorLog /var/log/apache2/git.mein-server.tld/error.log

    Redirect / https://git.mein-server.tld/

Die IP Adresse und Domain muss du natürlich durch deine ersetzen!

Da die Domain über SSL aufgerufen wird, muss das ganze noch mal für den Port 443 wiederholt werden. Lege dazu die Datei git.mein-server.tld.ssl.conf an und kopiert dort folgenden Code hinein:


    ServerName git.mein-server.tld
    ServerAdmin your@git.mein-server.tld

    ErrorLog /var/log/apache2/git.mein-server.tld/error.log

    RequestHeader set Host "git.mein-server.tld"
    RequestHeader add X-Forwarded-Ssl on
    RequestHeader set X-Forwarded-For %{REMOTE_IP}e
    RequestHeader set X-Forwarded-Proto "https"

    ProxyPreserveHost On
    ProxyPass / http://localhost:8888/
    ProxyPassReverse / http://localhost:8888/

    SSLEngine On
    SSLCertificateFile /etc/gitlab/ssl/git.mein-server.tld.pem
    SSLCertificateChainFile /etc/gitlab/ssl/git.mein-server.tld.pem

Falls noch nicht aktiv, muss Apache Mod Headers aktiviert werden: a2enmod headers. Für die SSL Domain benötigt ihr natürlich ein Zertifikat. Vergesst also nicht das Zertifikat zu erstellen und den Pfad in der vHost Datei anzugeben!

Schritt 3: Neue vHost Datei aktivieren

Damit die neue Domain aktiviert wird, muss (UPDATE) die Konfigurationsdatei mit dem Befehl a2ensite git.mein-server.tld.conf aktiviert werden und (/UPDATE) der Apache Server neugestartet werden. Gebe dazu einfach diesen Befehl ein: sudo service apache2 reload
Fertig! Ab sofort könnt ihr mit GitLab unter einer eigenen Domain arbeiten.

Kommentare (3)

  1. Ein kleiner Fehler hat sich eingeschlichen: Es fehlt ein
    „a2ensite git.mein-server.tld.conf“ in Schritt 3.
    Sonst ist die neue Domain zwar angelegt, aber wird beim Restart nicht eingelesen => hat keinen Effekt.

    Eine weitere Kleinigkeit, die unter bestimmten Annahmen ignoriert werden kann:
    Ich musste bei mir in /etc/apache2/ports.conf
    „NameVirtualHost *:443“ einfügen, da sonst der virtuelle Hostname nicht akzeptiert wurde.
    Dieser Schritt ist aber nur einmal pro apache2-Installation nötig.

    • Vielen Dank für dein Kommentar. Bei mir hat es übrigens ohne a2ensite git.mein-server.tld.conf funktioniert. Deshalb habe ich dies nicht mit aufgenommen.

Kommentare sind geschlossen.