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.