So richten Sie einen Git-Server ein

Wenn es um Git-Hosting geht, haben Sie eine Reihe von Optionen zur Verfügung. GitHub, Gitlab und Bitbucket sind beliebte Lösungen, aber auch der Betrieb eines eigenen Git-Servers ist eine überlegenswerte Alternative.

Das Einrichten eines Git-Servers ermöglicht es Ihnen, private Repositories ohne die Einschränkungen der kostenlosen Pläne der Anbieter zu erstellen.

In dieser Anleitung erklären wir, wie Sie einen reinen Git-Server auf Linux einrichten. Dieses Setup ist gut, wenn Sie nur wenige Repositories haben und die Mitarbeiter technisch versiert sind. Andernfalls sollten Sie die Installation einer selbst gehosteten Git-Anwendung wie Gitea, Gogs oder Gitlab in Betracht ziehen.

Der Git-Server kann auf einem beliebigen entfernten Linux-Rechner oder sogar auf Ihrem lokalen System eingerichtet werden.

Einrichten des Git-Servers

Der erste Schritt ist die Installation von Git auf Ihrem Server.

Wenn Sie Debian oder Ubuntu verwenden, aktualisieren Sie den lokalen Paketindex und installieren Sie Git, indem Sie die folgenden Befehle als sudo-Benutzer ausführen:

sudo apt update && sudo apt install git

Um das Git-Paket auf CentOS-Servern zu installieren, geben Sie ein:

sudo yum install git

Nachfolgend erstellen Sie einen neuen Benutzer, der die Git-Repositories verwalten wird:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

Das Home-Verzeichnis des Benutzers wird auf /home/git gesetzt. Alle Repositories werden unter diesem Verzeichnis gespeichert. Für den Benutzer „git“ haben wir kein Passwort gesetzt, die Anmeldung wird nur über die ssh-Schlüssel möglich sein.

Wechseln Sie mit dem Befehl su zum Benutzer „git“:

sudo su - git

Führen Sie die folgenden Befehle aus, um das SSH-Verzeichnis anzulegen und die richtigen Berechtigungen zu setzen:

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

Erstellen Sie eine Datei mit dem Namen ~/.ssh/authorized_keys, die die SSH-Schlüssel der autorisierten Benutzer enthalten wird:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

Das war’s. Die Einrichtung des Servers ist abgeschlossen. Jetzt können Sie Ihr erstes Git-Repository erstellen.

Führen Sie den folgenden Befehl aus, um ein neues leeres Repository zu erstellen:

git init --bare ~/projectname.git

Sie können das Verzeichnis beliebig benennen. Wichtig ist, dass das Repository unter dem Home-Verzeichnis des „git“-Benutzers angelegt wird.

Initialized empty Git repository in /home/git/projectname.git/

Lokales Git-Repository konfigurieren

Um die lokalen Git-Änderungen auf den Git-Server pushen zu können, müssen Sie den öffentlichen SSH-Schlüssel des lokalen Benutzers in die authorized_keys-Datei des entfernten „git“-Benutzers einfügen.

Wenn Sie bereits ein SSH-Schlüsselpaar auf Ihrem lokalen System erstellt haben, können Sie den öffentlichen Schlüssel anzeigen, indem Sie Folgendes eingeben:

cat ~/.ssh/id_rsa.pub

Die Ausgabe sollte etwa wie folgt aussehen:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

Wenn Sie die Fehlermeldung No such file or directory erhalten, bedeutet dies, dass Sie kein SSH-Schlüsselpaar auf Ihrem lokalen Rechner erzeugt haben.

Um ein neues SSH-Schlüsselpaar zu erzeugen, verwenden Sie den folgenden Befehl:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Kopieren Sie die Ausgabe des obigen cat-Befehls und gehen Sie zurück zur Git-Serverkonsole.

Öffnen Sie auf dem Server Ihren Texteditor und fügen Sie den öffentlichen Schlüssel, den Sie von Ihrem lokalen Rechner kopiert haben, in die ~/.ssh/authorized_keys-Datei ein:

sudo nano /home/git/.ssh/authorized_keys

Der gesamte Text des öffentlichen Schlüssels sollte in einer einzigen Zeile stehen.

Wir gehen davon aus, dass das Git-Paket bereits auf Ihrem lokalen Rechner installiert ist. Wenn nicht, installieren Sie es auf die gleiche Weise, wie in den vorherigen Abschnitten beschrieben.

Wenn Sie ein bestehendes, nicht versioniertes Projekt haben, navigieren Sie zum Projektverzeichnis. Wenn Sie von Grund auf neu beginnen, erstellen Sie das Projektverzeichnis und navigieren Sie dorthin:

cd /path/to/local/project

Initialisieren Sie ein Git-Repository:

git init .

Der letzte Schritt ist das Hinzufügen der Git-Remote zu Ihrem lokalen Repository:

git remote add origin git@git_server_ip:projectname.git

Vergessen Sie nicht, git_server_ip durch den Hostnamen oder die IP-Adresse Ihres Git-Servers zu ersetzen.

Um zu überprüfen, ob alles richtig eingerichtet ist, erstellen Sie eine Testdatei:

touch test_file

Fügen Sie die Änderungen dem Staging-Bereich hinzu:

git add .

Übertragen Sie die Änderungen:

git commit -m "descriptive message"

Pushen Sie die Änderungen des lokalen Repositorys in ein Remote-Repository:

git push -u origin master

Wenn alles richtig eingerichtet ist, sollte die Ausgabe etwa so aussehen:

Um einen neuen Mitarbeiter hinzuzufügen, kopieren Sie einfach dessen öffentlichen SSH-Schlüssel in die ~/.ssh/authorized_keys-Datei des „git“-Benutzers.

Sie können die gleichen Schritte verwenden, um neue Repositories zu erstellen. Es ist wichtig zu beachten, dass das entfernte Repository existieren muss, bevor Sie das git remote zu Ihrem lokalen Repository hinzufügen.

Abschluss #

In dieser Anleitung haben wir Ihnen gezeigt, wie Sie Ihren eigenen privaten Git-Server einrichten und Repositories erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.