git

Git Daemon

In questo nuovo articolo ci occuperemo ancora della creazione di un repository git remoto in cui più utenti possono condividere uno o più progetti, ma questa volta lo faremo utilizzando il protocollo Git.

Questa modalità di gestione di un repository remoto è molto comoda in quei casi in cui si voglia realizzare un accesso in sola lettura non autenticato al repository, occorre pertanto ricordare che, questa modalità rende pubblicamente accessibile a tutti gli utenti della rete il repository. Quindi se il repository è fuori dal proprio network e non protetto dal firewall, allora l’accesso sarà pubblico, se invece il repository si trova all’interno del proprio network e quindi protetto dal firewall, allora sarà accessibile ai soli utenti della rete. L’accesso al repository sarà in sola lettura.

L’implementazione del protocollo git, per realizzare un repository accessibile in sola lettura, è piuttosto semplice, vediamo come realizzarlo.

Accediamo al nostro server e qualora non esista già creiamo l’utente git  mediante il comando

sudo adduser git

Logghiamoci come utente git mediante il comando

su git

Creiamo la cartella che ospiterà il nostro progetto

mkdir progetto.git

Accediamo alla cartella, progetto.git, appena creata

cd progetto.git

Copiamo i file del progetto all’interno della cartella progetto.git

Inizializziamo il repository mediante i comandi

git init

git add .

git commit -m "Descrizione commit"

Per finire avviamo il seguente comando come demone, magari inserendolo in uno script che venga mandato in esecuzione all’avvio del server.

git daemon --reuseaddr --export-all --base-path=/home/git/ /home/git/

–reuseaddr consente al server di riavviarsi senza attendere il  time out delle connessioni esistenti, l’opzione –base-path  permette  agli utenti di clonare il repository senza specificare l’intero percorso. Se c’è un firewall in esecuzione  occorre ricordarsi che la porta utilizzata è 9418.

Un modo molto comodo per rendere questo comando uno script avviabile al boot, su una distribuzione ubuntu, è creare il file seguente:

/etc/init/git-daemon.conf  e inserire al suo interno il seguente contenuto


start on startup
stop on shutdown
exec /usr/bin/git daemon \
        --user=git  --group=git \
        --reuseaddr \
        --export-all \
        --detach \
        --base-path=/opt/git/ \
        /opt/git/
respawn

A questo punto gli utenti che vogliono scaricare il progetto sulla propria postazione devono semplicemente digitare sul loro computer:

git clone git://indirizzo-o-nome-server:/progetto.git


Articoli correlati

2 Comments to “Git Daemon”

  1. Se t’avessi avuto come insegnante di matematica….!!!

    1. Mi avresti dato tante soddisfazioni ;->

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *