So richten Sie einen privaten Git-Server auf Ihrem Webhosting ein

Die Verwaltung von Code und die Zusammenarbeit mit Teammitgliedern ist für jedes Entwicklungsprojekt von entscheidender Bedeutung. Plattformen wie GitHub und GitLab sind zwar beliebt, aber die Einrichtung eines eigenen privaten Git-Servers auf Ihrem Webhosting kann Ihnen mehr Kontrolle über Ihre Projekte geben, die Privatsphäre gewährleisten und möglicherweise Kosten sparen. Dieses Tutorial führt Sie durch die Schritte zum Einrichten eines privaten Git-Servers auf Ihrem Webhosting.

1. Warum einen privaten Git-Server einrichten?

Bevor Sie mit der Einrichtung beginnen, ist es wichtig, die Vorteile eines eigenen Git-Servers zu verstehen:

  • Datenschutz: Ihr Code bleibt vollständig privat und unter Ihrer Kontrolle.
  • Anpassung: Passen Sie den Server an Ihre speziellen Bedürfnisse und Arbeitsabläufe an.
  • Keine Benutzerbeschränkungen: Vermeiden Sie Beschränkungen hinsichtlich der Anzahl privater Repositories oder Mitarbeiter.
  • Kostengünstig: Für Teams mit mehreren Benutzern kann das Self-Hosting günstiger sein als kostenpflichtige Pläne auf beliebten Plattformen.

2. Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Ein VPS oder dedizierter Server: Shared Hosting bietet normalerweise nicht den erforderlichen Zugriff und die Ressourcen zum Einrichten eines Git-Servers.
  • SSH-Zugriff: Sie benötigen SSH-Zugriff auf Ihren Server, um den Git-Server zu installieren und zu konfigurieren.
  • Grundlegende Linux-Kenntnisse: Kenntnisse der Befehlszeile und von Linux sind unbedingt erforderlich.

3. Installieren von Git auf Ihrem Server

Zuerst müssen Sie Git auf Ihrem Server installieren. Folgen Sie diesen Schritten:

  1. Aktualisieren Sie den Server: Run the following command to ensure your server’s package list is up to date:
    sudo apt-get update
  2. Installieren Sie Git: Install Git by running:
    sudo apt-get installiere git
  3. Installation überprüfen: Check that Git has been installed correctly by typing:
    git --version

4. Erstellen eines Git-Benutzers

Es empfiehlt sich, einen separaten Benutzer für die Verwaltung Ihrer Git-Repositorys zu erstellen:

  1. Neuen Benutzer erstellen: Run the following command to create a user named ‘git’:
    sudo adduser git
  2. SSH-Zugriff einrichten: Add your SSH key to the new user’s authorized keys to enable secure access:
    sudo mkdir /home/git/.ssh
    sudo touch /home/git/.ssh/authorized_keys
    sudo nano /home/git/.ssh/authorized_keys

    Fügen Sie Ihren öffentlichen SSH-Schlüssel in die Datei authorized_keys ein, speichern und beenden Sie den Vorgang.

  3. Berechtigungen festlegen: Adjust permissions for the SSH directory:
    sudo chown -R git:git /home/git/.ssh
    sudo chmod 700 /home/git/.ssh
    sudo chmod 600 /home/git/.ssh/authorized_keys

5. Erstellen eines Repositorys

Jetzt können Sie Ihr erstes Git-Repository erstellen:

  1. Erstellen Sie ein Verzeichnis für Repositories: Log in as the ‘git’ user and create a directory for your repositories:
    sudo su - git
    mkdir repos
    cd repos
  2. Initialisieren Sie ein Repository: Create a new Git repository by running:
    git init --bare Ihr Projekt.git

    Dadurch wird ein nacktes Repository erstellt, das sich ideal für Remote-Repositorys eignet, in die Code gepusht und aus denen er abgerufen wird.

6. Klonen und Übertragen in das Repository

Nachdem Ihr Repository eingerichtet ist, können Sie es jetzt auf Ihren lokalen Computer klonen und Code dorthin übertragen:

  1. Klonen Sie das Repository: On your local machine, run:
    git clone git@Ihre-Server-IP:/home/git/repos/Ihr-Projekt.git
  2. Dateien hinzufügen und festschreiben: Add your files to the repository, commit them, and push the changes:
    cd your-project
    echo "# Your Project" >> README.md
    git add .
    git commit -m "Initial commit"
    git push origin master

7. Verwalten mehrerer Repositories

Wenn Sie mehrere Repositories hosten möchten, können Sie die Schritte zum Erstellen eines Repositorys einfach für jedes Projekt wiederholen:

  • Erstellen Sie für jedes Repository ein neues Verzeichnis unter /home/git/repos/.
  • Initialisieren Sie jedes neue Repository mit git init --bare your-new-project.git.
  • Greifen Sie über SSH unabhängig auf jedes Repository zu und verwalten Sie es.

8. Sichern Ihres Git-Servers

Sicherheit ist ein kritischer Aspekt beim Hosten eines privaten Git-Servers. Hier sind einige Schritte zur Verbesserung der Sicherheit:

  • Deaktivieren Sie die Kennwortauthentifizierung: Konfigurieren Sie SSH so, dass nur eine schlüsselbasierte Authentifizierung zulässig ist, indem Sie /etc/ssh/sshd_config bearbeiten und PasswordAuthentication no festlegen.
  • Firewall-Konfiguration: Verwenden Sie Tools wie UFW, um nur erforderliche Ports (z. B. SSH) zuzulassen und andere zu blockieren.
  • Regelmäßige Backups: Führen Sie regelmäßige Backups Ihrer Repositories durch, um Datenverlust zu vermeiden.

9. Einrichten von Webschnittstellen (optional)

Wenn Sie zur Verwaltung Ihrer Repositories eine Weboberfläche bevorzugen, können Sie Software wie GitWeb oder Gitea installieren:

  • GitWeb: Eine einfache Weboberfläche zum Anzeigen von Git-Repositorys.
  • Gitea: Ein selbst gehosteter Git-Dienst, der eine benutzerfreundliche Oberfläche ähnlich wie GitHub bietet.

Beide Optionen erfordern zusätzliche Einrichtung und Konfiguration, können jedoch die Benutzerfreundlichkeit Ihres Git-Servers erheblich verbessern.

Abschluss

Das Einrichten eines privaten Git-Servers auf Ihrem Webhosting bietet vollständige Kontrolle über Ihren Code, bietet Privatsphäre und ermöglicht die Anpassung an Ihren Arbeitsablauf. Wenn Sie dieser Anleitung folgen, können Sie Ihre eigenen Git-Repositorys erstellen und verwalten und so sicherstellen, dass Ihr Entwicklungsprozess sicher und effizient bleibt.