Migration von GitHub zu einem selbstgehosteten GitLab CE auf Ubuntu 18.04

Seit der Übernahme von GitHub durch Microsoft haben viele Entwickler beschlossen, ihre Quellcode-Repositories zu selbstverwalteten Alternativen umzuziehen. Besonders die GitLab Community Edition (CE) hat sich hierbei als bevorzugte Lösung etabliert.

GitLab CE überzeugt durch ein breites Funktionsspektrum und flexible Einsatzmöglichkeiten. Obwohl es mehrere Wege zur Einrichtung gibt, konzentriert sich diese Anleitung ausschließlich auf die offiziell empfohlene Methode: die Installation über das Omnibus-Paket.

Voraussetzungen vor dem Start

  • Eine frische Ubuntu 18.04 LTS x64-Instanz mit mindestens 4 GB Arbeitsspeicher. Für bis zu 100 Benutzer werden 8 GB oder mehr empfohlen. Beispielhafte IPv4-Adresse des Servers: 203.0.113.1.
  • Zugriff auf ein Benutzerkonto mit sudo-Rechten.
  • Ein Domainname wie gitlab.example.com, der korrekt auf die genannte Instanz verweist.

Wichtig: Ersetze in deiner eigenen Serverumgebung alle Beispielangaben in dieser Anleitung durch tatsächliche Werte.

 

 

Schritt 1: Grundkonfiguration zur Bereitstellung von GitLab CE

Beginne mit dem Start einer SSH-Verbindung und melde dich auf deinem Ubuntu 18.04 LTS x64-Server als Benutzer mit sudo-Rechten an.

Swap-Partition einrichten und Swappiness anpassen

Wenn du GitLab CE Version 11.x auf einem Server mit 4 GB RAM installierst, ist eine 4 GB große Swap-Partition erforderlich, um einen stabilen Betrieb sicherzustellen:

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Hinweis: Die benötigte Größe der Swap-Partition kann je nach Serverkonfiguration variieren.

Zur Verbesserung der Systemleistung sollte der Swappiness-Wert des Kernels auf 10 gesetzt werden. Nutze hierfür folgende Befehle:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Der letzte Befehl sollte den Wert 10 ausgeben.

Hostname und FQDN konfigurieren

Vergebe als Hostnamen gitlab und setze gitlab.example.com als vollständig qualifizierten Domainnamen (FQDN) wie folgt:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Überprüfe anschließend die Konfiguration mit diesen Befehlen:

 

Firewall-Zugriff konfigurieren

Erlaube eingehende Verbindungen für SSH, HTTP und HTTPS mit folgenden Befehlen:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Betriebssystem aktualisieren

Stelle sicher, dass alle Pakete auf deinem Server aktuell sind, indem du diesen Befehl ausführst:

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Während des Upgrade-Vorgangs kann eine Meldung zur Änderung der GRUB-Konfigurationsdatei erscheinen. Wähle in diesem Fall mit den Pfeiltasten die Option, die Version des Paketbetreuers zu verwenden, und bestätige mit Enter.

Sobald der Server neu gestartet ist, melde dich erneut mit demselben sudo-Benutzerkonto an, um mit der Installation fortzufahren.

 

 

Schritt 2: Notwendige Abhängigkeiten installieren

Bevor du GitLab CE installieren kannst, müssen einige grundlegende Pakete auf deinem System vorhanden sein. Installiere diese mit folgendem Befehl:

sudo apt install -y curl openssh-server ca-certificates

Wenn du Benachrichtigungen per E-Mail über Postfix versenden möchtest, installiere Postfix mit folgendem Befehl:

sudo apt install -y postfix

Während der Installation von Postfix erscheint möglicherweise eine Konfigurationsoberfläche. Folge diesen Schritten:

  • Drücke Tab, um die Schaltfläche <OK> zu markieren, und bestätige mit Enter.
  • Wähle Internet Site aus und drücke Enter.
  • Gib bei der Mail-Domain den vollständigen Domainnamen deines Servers ein, z. B. gitlab.example.com, und bestätige erneut mit Enter.
  • Sollten weitere Dialoge erscheinen, akzeptiere die Standardwerte durch Drücken von Enter.

Nachdem Postfix installiert ist, aktiviere und starte den Dienst mit diesen Befehlen:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Ergänze danach die Firewall-Regeln, um Postfix-Verkehr zuzulassen:

sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'

Nachdem die Installation abgeschlossen ist, passe die zentrale Konfigurationsdatei unter /etc/postfix/main.cf individuell an dein Serversystem an.

Alternative Option: Wenn du einen anderen Maildienst verwenden möchtest, kannst du auf die Installation von Postfix verzichten und GitLab CE später so konfigurieren, dass ein externer SMTP-Dienst genutzt wird.

 

 

Schritt 3: GitLab APT-Repository einrichten und GitLab CE installieren

Um mit der Installation zu beginnen, füge das GitLab Community Edition (CE) APT-Repository zu deinem System hinzu. Führe dazu folgenden Befehl aus:

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

Installiere anschließend GitLab CE Version 11.x mit folgendem Befehl:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

Beachte, dass dieser Vorgang einige Zeit in Anspruch nehmen kann.

Sobald die Installation abgeschlossen ist, öffne deinen bevorzugten Webbrowser und rufe die Adresse http://gitlab.example.com auf. Du wirst dort aufgefordert, ein neues Passwort festzulegen, um die Einrichtung abzuschließen.

Danach kannst du dich mit folgenden Zugangsdaten am Administrationsbereich anmelden:

  • Benutzername: root
  • Passwort: <dein-neues-passwort>

 

 

Schritt 4: GitLab mit HTTPS und Let’s Encrypt SSL-Zertifikat absichern

Zu diesem Zeitpunkt ist GitLab CE 11.x erfolgreich auf deinem Server eingerichtet und kann über das unsichere HTTP-Protokoll erreicht werden. Um die Kommunikation abzusichern, empfiehlt es sich, HTTPS durch ein Let’s Encrypt-Zertifikat zu aktivieren.

Öffne zunächst die zentrale Konfigurationsdatei von GitLab mit dem Editor vi:

sudo vi /etc/gitlab/gitlab.rb

Suche in der Datei nach folgenden Zeilen:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Ersetze sie wie folgt, um HTTPS zu aktivieren und eine Kontaktadresse anzugeben:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']

Speichere die Änderungen und beende den Editor mit folgendem Befehl:

Wende die neue Konfiguration mit folgendem Befehl an:

sudo gitlab-ctl reconfigure

Dieser Vorgang kann einige Minuten in Anspruch nehmen.

Nach erfolgreicher Neukonfiguration wird jede Verbindung zur GitLab-Seite automatisch über das HTTPS-Protokoll hergestellt.

Hinweis: Nach dem Wechsel von HTTP zu HTTPS kann es zu einem GitLab 422-Fehler kommen, der durch veraltete Browser-Cookies verursacht wird. Leere einfach den Cookie-Cache deines Browsers, um das Problem zu beheben.

Fazit

Mit dieser Anleitung hast du GitLab Community Edition 11.x erfolgreich auf einem Ubuntu 18.04 LTS Server installiert und konfiguriert. Vom Einrichten der Systemgrundlagen und notwendigen Pakete über die Integration des offiziellen Repositories bis hin zur Absicherung per HTTPS ist dein GitLab-Server jetzt betriebsbereit und sicher zugänglich.

Stelle sicher, dass du alle Platzhalter wie Domains und E-Mail-Adressen durch deine eigenen Werte ersetzt. Ob für private Projekte oder Teamarbeit – diese selbstgehostete GitLab-Installation bietet eine leistungsfähige und flexible Basis für Versionsverwaltung und DevOps-Prozesse.

 

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: