GitLab Installations- und Konfigurationsanleitung
GitLab ist eine Open-Source-Anwendung, die man hauptsächlich für das Hosting von Git-Repositories verwendet, mit zusätzlichen entwicklungsspezifischen Funktionen wie der Verfolgung von Aufgaben. Sie wurde entwickelt, um auf Ihrer eigenen Infrastruktur gehostet zu werden, und bietet Flexibilität beim Einsatz als internes Repository für Ihr Entwicklungsteam, als öffentliche Schnittstelle für Benutzer oder als Möglichkeit für Mitwirkende, ihre eigenen Projekte zu hosten.
Voraussetzungen
Wenn Sie Ubuntu in der Version 16.04 oder darunter verwenden, empfehlen wir Ihnen, auf eine aktuellere Version zu aktualisieren, da Ubuntu für diese Versionen keinen Support mehr bietet. Diese Sammlung von Anleitungen hilft Ihnen beim Upgrade Ihrer Ubuntu-Version.
Um diesem Tutorial zu folgen, benötigen Sie:
- Einen Server mit Ubuntu sowie einen Benutzer ohne Root-Rechte mit Sudo-Berechtigungen und eine aktive Firewall.
- Die veröffentlichten Hardware-Anforderungen von GitLab empfehlen die Verwendung eines Servers mit mindestens:
- 4 Kernen für Ihre CPU
- 4 GB RAM für den Speicher
Obwohl es möglich ist, RAM durch Swap-Speicher zu ersetzen, wird dies nicht empfohlen.
- Einen Domainnamen, der auf Ihren Server zeigt.
Schritt 1 – Installation der Abhängigkeiten
Bevor Sie GitLab installieren, ist es wichtig, die Software zu installieren, die während der Installation und im laufenden Betrieb genutzt wird. Die benötigte Software kann aus den Standardpaket-Repositories von Ubuntu installiert werden.
Zuerst aktualisieren Sie den lokalen Paketindex:
sudo apt update
Installieren Sie dann die Abhängigkeiten mit folgendem Befehl:
sudo apt install ca-certificates curl openssh-server postfix tzdata perl
Einige dieser Softwarepakete könnten bereits installiert sein. Wählen Sie bei der Installation von Postfix die Option „Internet Site“, wenn Sie dazu aufgefordert werden. Geben Sie im nächsten Bildschirm den Domainnamen Ihres Servers ein, um zu konfigurieren, wie das System E-Mails versendet.
Schritt 2 – Installation von GitLab
Mit den installierten Abhängigkeiten können Sie GitLab installieren. Dieser Prozess nutzt ein Installationsskript, um Ihr System mit den GitLab-Repositories zu konfigurieren.
Wechseln Sie zuerst in das Verzeichnis /tmp
:
cd /tmp
Laden Sie dann das Installationsskript herunter:
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
Untersuchen Sie das heruntergeladene Skript, um sicherzustellen, dass Sie mit den auszuführenden Aktionen einverstanden sind:
less /tmp/script.deb.sh
Führen Sie das Installationsskript aus, sobald Sie mit dessen Sicherheit zufrieden sind:
sudo bash /tmp/script.deb.sh
Das Skript richtet Ihren Server so ein, dass die GitLab-eigenen Repositories verwendet werden. Sobald dies abgeschlossen ist, installieren Sie die GitLab-Anwendung mit apt:
sudo apt install gitlab-ce
Schritt 3 – Anpassen der Firewall-Regeln
Bevor Sie GitLab konfigurieren, stellen Sie sicher, dass Ihre Firewall-Regeln ausreichend permissiv sind, um Web-Traffic zuzulassen.
Prüfen Sie den aktuellen Status Ihrer aktiven Firewall mit folgendem Befehl:
sudo ufw status
Ausgabe:
Status: active
Um den Zugang zu Webdiensten zu ermöglichen, erlauben Sie HTTP- und HTTPS-Traffic:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
Prüfen Sie den Firewall-Status erneut:
sudo ufw status
Schritt 4 – Bearbeiten der GitLab-Konfigurationsdatei
Bevor Sie die Anwendung verwenden, aktualisieren Sie die Konfigurationsdatei und führen Sie einen Neukonfigurationsbefehl aus. Öffnen Sie die Konfigurationsdatei von GitLab:
sudo nano /etc/gitlab/gitlab.rb
Suchen Sie die Zeile external_url
und aktualisieren Sie sie mit Ihrem Domainnamen:
external_url 'https://your_domain'
Speichern Sie die Änderungen und führen Sie den Neukonfigurationsbefehl aus:
sudo gitlab-ctl reconfigure
Schritt 5 – Erste Konfiguration über die Weboberfläche
Nachdem GitLab läuft, können Sie die Anwendung über die Weboberfläche initial konfigurieren.
Rufen Sie den Domainnamen Ihres GitLab-Servers in Ihrem Webbrowser auf:
https://your_domain
Bei Ihrem ersten Besuch werden Sie mit einer Login-Seite begrüßt. Melden Sie sich als root
an.
GitLab generiert ein sicheres Initialpasswort für Sie, das in einer Datei gespeichert ist, auf die ein administrativer sudo-Benutzer zugreifen kann:
sudo nano /etc/gitlab/initial_root_password
Verwenden Sie das generierte Passwort, um sich anzumelden. Nach der Anmeldung gelangen Sie zum GitLab-Dashboard.
Eine der ersten Aufgaben sollte das Aktualisieren Ihres Passworts sein. Gehen Sie hierzu wie folgt vor:
- Klicken Sie auf das Benutzersymbol in der oberen rechten Ecke und wählen Sie Edit Profile.
- Gehen Sie in der linken Navigationsleiste zu Password.
- Aktualisieren Sie Ihr Passwort und klicken Sie auf Save password.
Nach dem Speichern werden Sie ausgeloggt und aufgefordert, sich mit Ihrem neuen Passwort erneut anzumelden.
Schritt 6 – Einschränken oder Deaktivieren öffentlicher Registrierungen
Standardmäßig kann sich jeder auf Ihrer GitLab-Instanz registrieren. Um diese Einstellungen anzupassen:
- Gehen Sie in den Bereich Admin, indem Sie auf das Hamburger-Menü in der oberen Navigationsleiste klicken.
- Klicken Sie in der linken Navigationsleiste auf Settings.
Registrierungen deaktivieren
Wenn Sie Registrierungen vollständig deaktivieren möchten, gehen Sie zum Abschnitt Sign-up Restrictions und deaktivieren Sie das Kontrollkästchen Sign-up enabled. Klicken Sie auf Save changes.
Registrierungen auf bestimmte Domains beschränken
Wenn Ihre Organisation E-Mail-Adressen bereitstellt, die mit einer bestimmten Domain verknüpft sind, können Sie Registrierungen auf diese Domains beschränken:
- Wählen Sie das Kontrollkästchen Send confirmation email on sign-up.
- Fügen Sie Ihre Domain(s) in das Feld Whitelisted domains for sign-ups ein, jeweils eine Domain pro Zeile. Verwenden Sie ein Sternchen (*) für Wildcards, falls erforderlich.
Klicken Sie auf Save changes, um die Änderungen zu speichern.
Einschränkung der Projekt-Erstellung
Standardmäßig können neue Benutzer bis zu 10 Projekte erstellen. Um dies einzuschränken:
- Gehen Sie zum Abschnitt Account and Limit Settings.
- Setzen Sie das Feld Default projects limit auf 0, um zu verhindern, dass neue Benutzer Projekte erstellen.
Klicken Sie auf Save changes, nachdem Sie die Einstellungen aktualisiert haben.
Erneuerung von Let’s Encrypt-Zertifikaten
Standardmäßig erneuert GitLab die Let’s Encrypt-Zertifikate jeden vierten Tag nach Mitternacht. Um diesen Zeitplan anzupassen:
-
- Öffnen Sie die GitLab-Konfigurationsdatei:
sudo nano /etc/gitlab/gitlab.rb
-
- Finden und entfernen Sie die Kommentare (#) vor den folgenden Zeilen, und passen Sie den Zeitplan nach Ihren Wünschen an:
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = "12"
letsencrypt['auto_renew_minute'] = "30"
letsencrypt['auto_renew_day_of_month'] = "*/7"
- Speichern und schließen Sie die Datei. Die Änderungen treten beim nächsten Erneuerungszyklus in Kraft.
Um die automatische Erneuerung zu deaktivieren, setzen Sie letsencrypt['auto_renew']
auf false
.
Fazit
Sie haben nun eine funktionierende GitLab-Instanz auf Ihrem eigenen Server. Sie können damit beginnen, neue Projekte zu importieren oder zu erstellen und den entsprechenden Zugriff für Ihr Team zu konfigurieren. GitLab fügt regelmäßig neue Funktionen hinzu und aktualisiert die Plattform. Besuchen Sie die Projekt-Homepage, um sich über Verbesserungen und wichtige Hinweise auf dem Laufenden zu halten.