HTTP Git-server med Nginx på Debian 8

Git er et versionskontrolsystem (VCS), der muliggør sporing af ændringer i kode. I denne tutorial vil vi gennemgå installationen af ​​en HTTP(S) Git-server og tilføje brugernavn/adgangskodegodkendelse.

Forudsætninger

  • Debian 8 (Jessie).
  • Sudo .
  • Teksteditor efter eget valg ( nano, vim).

Installation af nødvendig software

Vi skal bruge nginx, git, fcgiwrapog apache httpd utils. Gå videre og skriv ind i terminalen.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg will fail to install Nginx if another process (such as Apache) is already bound to port 80.

Oprettelse af Git-mappen

Forudsat at du ønsker at oprette git-mappen på /var/www/git, skal du køre følgende kommandoer:

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

Konfiguration af Nginx

Nu skal vi konfigurere Nginx til at videregive Git-trafik til Git. Dette kan føjes til standardkonfigurationen, en brugerdefineret server {}/etc/nginx/conf.deller /etc/nginx/sites-enabled.

The configuration file's parameters and directive must be added in the order in which they are listed below.

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
}

Hvis du gerne vil have dine git-repositories i en undermappe, dvs. http://your-domain.com/reposlav den første linje location ~ /repos(/.*) {, det er et regex.

Make sure the server_name directive in your server {} doesn't clash with anything else or else Nginx wont pass the request on.

Tilføjelse af adgangskodegodkendelse

Nginx accepterer Apache- htpasswdfiler, for at oprette dem skal vi udføre følgende kommando:

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

Du vil blive bedt om at indtaste din adgangskode. For at tilføje flere brugere skal du gøre:

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

Et sidste skridt

Sørg for at genindlæse Nginx for at anvende alle ændringerne ved at køre:

sudo service nginx reload

Du har nu en privat Git-server! God fornøjelse.

(Valgfrit) Lav et script, der initialiserer Git-lagre

Bemærk venligst, at www-data(den brugerkonto, som FastCGI kører under) skal have læse- og skriveadgang til Git-lageret, at oprette et script sparer nu hovedpine senere.

Åbn din script-fil, dvs. /var/www/git/gitinit.shog indsæt følgende:

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

Du kan køre scriptet sådan her:

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

Husk at tillade udførelse ved at køre:

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

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere