Server HTTP Git con Nginx su Debian 8

Git è un sistema di controllo della versione (VCS) che consente il rilevamento delle modifiche al codice. In questa esercitazione verrà descritta l'installazione di un server Git HTTP (S) e l'aggiunta dell'autenticazione nome utente / password.

Prerequisiti

  • Debian 8 (Jessie).
  • Sudo .
  • Editor di testo a scelta ( nano, vim).

Installazione del software necessario

Avremo bisogno nginx, git, fcgiwrape apache httpd utils. Vai avanti e digita nel terminale.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg non riuscirà a installare Nginx se un altro processo (come Apache) è già associato alla porta 80.

Creazione della directory Git

Supponendo che si desideri creare la directory git in /var/www/git, è necessario eseguire i seguenti comandi:

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

Configurare Nginx

Ora dobbiamo configurare Nginx per trasmettere il traffico Git a Git. Questo può essere aggiunto alla configurazione predefinita, una personalizzazione server {}su /etc/nginx/conf.do /etc/nginx/sites-enabled.

I parametri e la direttiva del file di configurazione devono essere aggiunti nell'ordine in cui sono elencati di seguito.

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
}

Se desideri avere i tuoi repository git in una sottodirectory, ad es. http://your-domain.com/reposfare la prima riga location ~ /repos(/.*) {, è una regex.

Assicurati che la server_namedirettiva nella tua server {}non sia in conflitto con nient'altro, altrimenti Nginx non passerà la richiesta.

Aggiunta dell'autenticazione password

Nginx accetta i htpasswdfile Apache , per crearli, dovremo eseguire il seguente comando:

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

Ti verrà richiesto di inserire la password. Per aggiungere più utenti, fai:

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

Un ultimo passo

Assicurati di ricaricare Nginx per applicare tutte le modifiche eseguendo:

sudo service nginx reload

Ora hai un server Git privato! Godere.

(Facoltativo) Crea uno script che inizializza i repository Git

Si noti che www-data(l'account utente su cui viene eseguito FastCGI) deve avere accesso in lettura e scrittura al repository Git, la creazione di uno script ora fa risparmiare più mal di testa in seguito.

Apri il tuo file di script, ad es. /var/www/git/gitinit.she incolla quanto segue:

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

Puoi eseguire lo script in questo modo:

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

Ricorda di consentire l'esecuzione eseguendo:

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


Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.