Tutorials  /  Linux Basics

Sicheren Git-Server mit Nginx auf Debian 8 einrichten

Ccentron Redaktion · Juli 2025 ·4 Min. Lesezeit ·Linux Basics, Tutorial

Git ist ein beliebtes Versionskontrollsystem, das Entwicklern hilft, Änderungen am Quellcode effizient zu verwalten. Diese Anleitung beschreibt die Schritte zur Einrichtung eines Git-Servers über HTTP(S) mit Benutzername- und Passwortschutz.

Voraussetzungen

  • Debian 8 (Jessie) als Betriebssystem
  • Zugriff mit Sudo-Rechten
  • Ein Texteditor nach Wahl (z. B. nano oder vim)
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Benötigte Pakete installieren

Installiere die erforderlichen Komponenten: nginx, git, fcgiwrap und Apache-HTTP-Tools. Verwende dazu folgenden Befehl:

sudo apt-get install nginx git fcgiwrap apache2-utils

Hinweis: Sollte Port 80 bereits durch einen anderen Dienst wie Apache belegt sein, schlägt die Installation von Nginx über dpkg fehl.

Verzeichnis für Git-Repositories erstellen

Um deine Repositories im Pfad /var/www/git zu speichern, führe die folgenden Befehle aus:

mkdir /var/www/git

chown www-data:www-data /var/www/git

Damit stellst du sicher, dass der Benutzer www-data (unter dem FastCGI läuft) über die nötigen Zugriffsrechte verfügt.

Nginx konfigurieren

Um Git-Anfragen korrekt weiterzuleiten, musst du die Nginx-Konfiguration anpassen. Diese Änderungen können im Standardserverblock oder in einer eigenen Datei unter /etc/nginx/conf.d bzw. /etc/nginx/sites-enabled erfolgen. Die Reihenfolge der Anweisungen muss exakt eingehalten werden:

location ~ (/.*) {

client_max_body_size 0;

auth_basic "Git Login";

auth_basic_user_file "/var/www/git/htpasswd";

include /etc/nginx/fastcgi_params;

fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;

fastcgi_param GIT_HTTP_EXPORT_ALL "";

fastcgi_param GIT_PROJECT_ROOT /var/www/git;

fastcgi_param REMOTE_USER $remote_user;

fastcgi_param PATH_INFO $1;

fastcgi_pass unix:/var/run/fcgiwrap.socket;

}

Falls du deine Repositories lieber unter einem Unterverzeichnis wie /repos anbieten möchtest, ändere die erste Zeile wie folgt:

location ~ /repos(/.*) {

Stelle außerdem sicher, dass der server_name in deiner Konfiguration nicht mit anderen Einträgen kollidiert – sonst kann Nginx die Anfrage nicht korrekt weiterleiten.

Passwortschutz aktivieren

Um den Zugriff einzuschränken, erstelle eine htpasswd-Datei mit folgendem Befehl:

htpasswd -c /var/www/git/htpasswd

Du wirst aufgefordert, ein Passwort einzugeben. Weitere Benutzer kannst du hinzufügen, indem du das -c-Flag weglässt:

htpasswd /var/www/git/htpasswd

Änderungen übernehmen

Starte den Nginx-Dienst neu, damit die Konfigurationsänderungen wirksam werden:

sudo service nginx reload

Dein Git-Server ist jetzt mit Passwortschutz aktiv und einsatzbereit.

Optional: Automatische Git-Repository-Erstellung per Skript

Um sicherzustellen, dass die Repositories korrekt erstellt und mit den richtigen Rechten versehen werden, bietet sich ein Skript an. Es sollte unter dem Benutzer www-data laufen, um spätere Zugriffsprobleme zu vermeiden. Erstelle eine Datei unter /var/www/git/gitinit.sh und füge folgenden Inhalt ein:

#!/bin/sh

sudo -u www-data mkdir $1

cd $1

sudo -u www-data git init --bare

So führst du das Skript aus:

cd /var/www/git

./gitinit.sh repo-name

Vergiss nicht, die Datei ausführbar zu machen:

chmod +x /var/www/git/gitinit.sh

Fazit

Mit der Einrichtung eines privaten Git-Servers auf Debian 8 in Kombination mit Nginx schaffst du eine sichere und leistungsstarke Lösung zur Verwaltung von Quellcode. Dank HTTP(S)-Zugriff, Passwortschutz und optionaler Automatisierung durch ein Skript eignet sich dieses Setup hervorragend für Teams, die Kontrolle über ihre Infrastruktur wünschen – ganz ohne externe Hosting-Dienste.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren