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
Se t’avessi avuto come insegnante di matematica….!!!
Mi avresti dato tante soddisfazioni ;->