HTTP Git Server mit Nginx unter Debian 8

Git ist ein Versionskontrollsystem (VCS), mit dem Änderungen im Code verfolgt werden können. In diesem Tutorial werden wir einen HTTP (S) Git-Server installieren und die Authentifizierung mit Benutzername / Passwort hinzufügen.

Voraussetzungen

  • Debian 8 (Jessie).
  • Sudo .
  • Texteditor Ihrer Wahl ( nano, vim).

Benötigte Software installieren

Wir müssen nginx, git, fcgiwrapund Apache utils. Gehen Sie voran und tippen Sie in das Terminal.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg Nginx kann nicht installiert werden, wenn bereits ein anderer Prozess (z. B. Apache) an Port 80 gebunden ist.

Git-Verzeichnis erstellen

Angenommen, Sie möchten das Git-Verzeichnis unter erstellen /var/www/git, müssen Sie die folgenden Befehle ausführen:

mkdir /var/www/git
chown www-data:www-data /var/www/git # Make sure www-data (the user fastcgi runs) from has permissions.

Nginx konfigurieren

Jetzt müssen wir Nginx so konfigurieren, dass Git-Verkehr an Git weitergeleitet wird. Dies kann zur Standardkonfiguration hinzugefügt werden, eine benutzerdefinierte server {}bei /etc/nginx/conf.doder /etc/nginx/sites-enabled.

Die Parameter und Anweisungen der Konfigurationsdatei müssen in der Reihenfolge hinzugefügt werden, in der sie unten aufgeführt sind.

location ~ (/.*) {
    client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
    auth_basic "Git Login"; # Whatever text will do.
    auth_basic_user_file "/var/www/git/htpasswd";
    include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/git; # /var/www/git is the location of all of your git repositories.
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
    fastcgi_pass  unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}

Wenn Sie Ihre Git-Repositorys in einem Unterverzeichnis haben möchten, z. http://your-domain.com/reposMachen Sie die erste Zeile location ~ /repos(/.*) {, es ist eine Regex.

Stellen Sie sicher, dass die server_nameDirektive in Ihrer server {}nicht mit irgendetwas anderem kollidiert, sonst gibt Nginx die Anfrage nicht weiter.

Hinzufügen der Kennwortauthentifizierung

Nginx akzeptiert Apache- htpasswdDateien. Um sie zu erstellen, müssen Sie den folgenden Befehl ausführen:

htpasswd -c /var/www/git/htpasswd <your username>

Sie werden aufgefordert, Ihr Passwort einzugeben. Gehen Sie wie folgt vor, um weitere Benutzer hinzuzufügen:

htpasswd /var/www/git/htpasswd <another username>

Ein letzter Schritt

Stellen Sie sicher, dass Sie Nginx neu laden, um alle Änderungen zu übernehmen, indem Sie Folgendes ausführen:

sudo service nginx reload

Sie haben jetzt einen privaten Git-Server! Genießen.

(Optional) Erstellen Sie ein Skript, das Git-Repositorys initialisiert

Bitte beachten Sie, dass www-data(das Benutzerkonto, unter dem FastCGI ausgeführt wird) Lese- und Schreibzugriff auf das Git-Repository haben muss. Das Erstellen eines Skripts erspart später Kopfschmerzen.

Öffnen Sie Ihre Skriptdatei dh. /var/www/git/gitinit.shund fügen Sie Folgendes ein:

#!/bin/sh
sudo -u www-data mkdir $1
cd $1
sudo -u www-data git init --bare

Sie können das Skript folgendermaßen ausführen:

cd /var/www/git
./gitinit.sh repo-name

Denken Sie daran, die Ausführung durch Ausführen zuzulassen:

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


Leave a Comment

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

Installieren und Verwenden von Yunohost unter Debian 7 x64

Installieren und Verwenden von Yunohost unter Debian 7 x64

Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein

Chroot auf Debian einrichten

Chroot auf Debian einrichten

In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu

So installieren Sie PiVPN unter Debian

So installieren Sie PiVPN unter Debian

Einführung Eine einfache Möglichkeit, einen VPN-Server unter Debian einzurichten, ist PiVPN. PiVPN ist ein Installationsprogramm und ein Wrapper für OpenVPN. Es werden einfache Befehle für Sie erstellt

Richten Sie Cacti auf Debian Jessie ein

Richten Sie Cacti auf Debian Jessie ein

Einführung Cacti ist ein Open-Source-Überwachungs- und Grafiktool, das vollständig auf RRD-Daten basiert. Mit Cacti können Sie nahezu jede Art von Gerät überwachen

Einrichten von Teamspeak 3 auf Debian Wheezy

Einrichten von Teamspeak 3 auf Debian Wheezy

Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen. ich

Verwenden von MySQL Views unter Debian 7

Verwenden von MySQL Views unter Debian 7

Einführung MySQL verfügt über eine großartige Funktion, die als Ansichten bezeichnet wird. Ansichten sind gespeicherte Abfragen. Stellen Sie sich diese als Alias ​​für eine ansonsten lange Abfrage vor. In diesem Handbuch

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Hiawatha ist ein Webserver, der Einfachheit, Benutzerfreundlichkeit und Sicherheit im Auge hat. Es ist die perfekte Lösung für kleinere Server, ältere Hardware oder Embedde

Installieren Sie Lynis auf Debian 8

Installieren Sie Lynis auf Debian 8

Einführung Lynis ist ein kostenloses Open-Source-Tool zur Systemprüfung, das von vielen Systemadministratoren verwendet wird, um die Integrität zu überprüfen und ihre Systeme zu härten. ich

Überwachen Sie den Debian-Serverstatus mit Munin

Überwachen Sie den Debian-Serverstatus mit Munin

Munin ist ein Überwachungstool zur Überwachung von Prozessen und Ressourcen in Ihrer Maschine und präsentiert die Informationen in Diagrammen über eine Weboberfläche. Verwenden Sie die folgenden

So installieren Sie das NodeBB-Forum unter Debian 9

So installieren Sie das NodeBB-Forum unter Debian 9

Verwenden Sie ein anderes System? NodeBB ist ein Node.js-basiertes Forum. Es verwendet Web-Sockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB-Quellcode i

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? BigTree CMS 4.2 ist ein schnelles und leichtes, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen mit umfangreichen Funktionen

So installieren Sie Koel unter Debian 9

So installieren Sie Koel unter Debian 9

Verwenden Sie ein anderes System? Koel ist eine einfache webbasierte persönliche Audio-Streaming-App, die auf der Clientseite in Vue und auf der Serverseite in Laravel geschrieben wurde. Koe

Sticky Session mit Docker Swarm (CE) auf Debian 9

Sticky Session mit Docker Swarm (CE) auf Debian 9

Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Hier bei Vultr haben wir die Option, IPv6 auf allen bereitstellbaren VPS zu aktivieren. Aber damit bevorzugen einige Programme und Befehle den einen oder anderen Witz

So installieren Sie Automad CMS unter Debian 9

So installieren Sie Automad CMS unter Debian 9

Verwenden Sie ein anderes System? Einführung Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Automa

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

Verwenden Sie ein anderes System? Apache Cassandra ist ein kostenloses und Open-Source-NoSQL-Datenbankverwaltungssystem, das Skalierbarkeit bietet

So konfigurieren Sie Snort unter Debian

So konfigurieren Sie Snort unter Debian

Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.