Serveur HTTP Git avec Nginx sur Debian 8

Git est un système de contrôle de version (VCS) qui permet le suivi des changements de code. Dans ce didacticiel, nous allons parcourir l'installation d'un serveur HTTP (S) Git et l'ajout de l'authentification par nom d'utilisateur / mot de passe.

Conditions préalables

  • Debian 8 (Jessie).
  • Sudo .
  • Editeur de texte de votre choix ( nano, vim).

Installation des logiciels nécessaires

Nous aurons besoin nginx, git, fcgiwrapet apache httpd utils. Allez-y et tapez dans le terminal.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg échouera à installer Nginx si un autre processus (comme Apache) est déjà lié au port 80.

Création du répertoire Git

En supposant que vous souhaitiez créer le répertoire git à /var/www/git, vous devrez exécuter les commandes suivantes:

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

Configuration de Nginx

Maintenant, nous devons configurer Nginx pour transmettre le trafic Git à Git. Cela peut être ajouté à la configuration par défaut, un personnalisé server {}à /etc/nginx/conf.dou /etc/nginx/sites-enabled.

Les paramètres et la directive du fichier de configuration doivent être ajoutés dans l'ordre dans lequel ils sont répertoriés ci-dessous.

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
}

Si vous souhaitez avoir vos dépôts git dans un sous-répertoire ie. http://your-domain.com/reposfaire la première ligne location ~ /repos(/.*) {, c'est une expression régulière.

Assurez-vous que la server_namedirective dans votre server {}ne se heurte à rien d'autre, sinon Nginx ne transmettra pas la demande.

Ajout de l'authentification par mot de passe

Nginx accepte les htpasswdfichiers Apache , pour les créer, nous devrons exécuter la commande suivante:

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

Vous serez invité à saisir votre mot de passe. Pour ajouter plus d'utilisateurs, procédez comme suit:

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

Une dernière étape

Assurez-vous de recharger Nginx pour appliquer toutes les modifications en exécutant:

sudo service nginx reload

Vous avez maintenant un serveur Git privé! Prendre plaisir.

(Facultatif) Créez un script qui initialise les référentiels Git

Veuillez noter que www-data(le compte utilisateur sous lequel FastCGI s'exécute) doit avoir un accès en lecture et en écriture au référentiel Git, la création d'un script évite désormais les maux de tête plus tard.

Ouvrez votre fichier script ie. /var/www/git/gitinit.shet collez ce qui suit:

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

Vous pouvez exécuter le script comme ceci:

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

N'oubliez pas d'autoriser l'exécution en exécutant:

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


Leave a Comment

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.