HTTP Git-server met Nginx op Debian 8

Git is een versiebeheersysteem (VCS) dat het volgen van wijzigingen in de code mogelijk maakt. In deze tutorial zullen we doorlopen met het installeren van een HTTP (S) Git-server en het toevoegen van gebruikersnaam / wachtwoordverificatie.

Vereisten

  • Debian 8 (Jessie).
  • Sudo .
  • Teksteditor naar keuze ( nano, vim).

Benodigde software installeren

We moeten nginx, git, fcgiwrapen apache httpd utils. Ga je gang en typ de terminal in.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg zal Nginx niet installeren als een ander proces (zoals Apache) al is gebonden aan poort 80.

De Git-directory maken

Ervan uitgaande dat u de git-directory wilt maken op /var/www/git, moet u de volgende opdrachten uitvoeren:

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

Nginx configureren

Nu moeten we Nginx configureren om Git-verkeer door te geven aan Git. Dit kan worden toegevoegd aan de standaardconfiguratie, een aangepaste server {}op /etc/nginx/conf.dof /etc/nginx/sites-enabled.

De parameters en richtlijn van het configuratiebestand moeten worden toegevoegd in de volgorde waarin ze hieronder worden vermeld.

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
}

Als je je git repositories in een submap wilt hebben, dwz. http://your-domain.com/reposmaak de eerste regel location ~ /repos(/.*) {, het is een regex.

Zorg ervoor dat de server_namerichtlijn in uw server {}niet met iets anders botst, anders zal Nginx het verzoek niet doorgeven.

Wachtwoordverificatie toevoegen

Nginx accepteert Apache- htpasswdbestanden, om ze te maken, moeten we de volgende opdracht uitvoeren:

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

U wordt gevraagd uw wachtwoord in te voeren. Ga als volgt te werk om meer gebruikers toe te voegen:

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

Een laatste stap

Zorg ervoor dat u Nginx opnieuw laadt om alle wijzigingen toe te passen door te draaien:

sudo service nginx reload

Je hebt nu een privé Git-server! Genieten.

(Optioneel) Maak een script dat Git-opslagplaatsen initialiseert

Houd er rekening mee dat www-data(het gebruikersaccount waaronder FastCGI draait) lees- en schrijftoegang moet hebben tot de Git-repository, het maken van een script bespaart nu later hoofdpijn.

Open uw scriptbestand dwz. /var/www/git/gitinit.shen plak het volgende:

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

U kunt het script als volgt uitvoeren:

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

Vergeet niet om uitvoering toe te staan ​​door te draaien:

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


Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.