Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 3.26 KB

File metadata and controls

68 lines (48 loc) · 3.26 KB

Dimoni Git

A continuació, configurarem un dimoni que serveixi repositoris utilitzant el protocol “Git”. Aquesta és una opció comuna per a un accés ràpid i no autenticat a les vostres dades Git. Recorda que, ja que aquest no és un servei autenticat, qualsevol cosa que serveixis a través d’aquest protocol és pública dins de la seva xarxa.

Si esteu executant això en un servidor fora del vostre tallafocs, s’hauria d’utilitzar només per a projectes que siguin públicament visibles per al món. Si el servidor en el qual l’esteu executant està dins del vostre tallafocs, podríeu utilitzar-lo per a projectes als quals un gran nombre de persones o ordinadors (servidors d’integració contínua o de compilació) tenen accés de només lectura, quan no voleu haver d’afegir una clau SSH per a cadascun.

En qualsevol cas, el protocol Git és relativament fàcil de configurar. Bàsicament, heu d’executar aquesta ordre de manera desatendida:

$ git daemon --reuseaddr --base-path=/srv/git/ /srv/git/

L’opció --reuseaddr permet al servidor reiniciar-se sense esperar que les connexions antigues caduquin, mentre que l’opció --base-path permet a les persones clonar projectes sense especificar tot el camí, i el camí al final indica al dimoni Git on buscar els repositoris per exportar. Si esteu executant un tallafocs, també haureu de fer un forat a port 9418 a la caixa on esteu configurant això.

Podeu fer que aquest procés es converteixi en un dimoni de diverses maneres, depenent del sistema operatiu que esteu utilitzant.

Ja que systemd és el sistema d’inici més comú entre les distribucions Linux modernes, podeu utilitzar-lo per a aquest propòsit. Simplement col·loqueu un fitxer a /etc/systemd/system/git-daemon.service amb aquest contingut:

[Unit]
Description=Inicia el Dimoni Git

[Service]
ExecStart=/usr/bin/git daemon --reuseaddr --base-path=/srv/git/ /srv/git/

Restart=always
RestartSec=500ms

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=git-daemon

User=git
Group=git

[Install]
WantedBy=multi-user.target

Potser heu notat que el dimoni Git s’inicia aquí amb git com a grup i usuari. Modifiqueu-lo per adaptar-lo a les vostres necessitats i assegureu-vos que l’usuari proporcionat existeixi al sistema. A més, comproveu que el binari de Git es trobi realment a /usr/bin/git i canvieu el camí si és necessari.

Finalment, executareu systemctl enable git-daemon per iniciar automàticament el servei en arrencar, i podeu iniciar i aturar el servei amb, respectivament, systemctl start git-daemon i systemctl stop git-daemon.

En altres sistemes, potser voldreu utilitzar xinetd, un script al vostre sistema sysvinit, o alguna altra cosa, sempre que aconseguiu que aquesta ordre es converteixi en un dimoni i es vigili d’alguna manera.

A continuació, heu d’indicar a Git quins repositoris permetre l’accés basat en servidor Git sense autenticació. Podeu fer això en cada repositori creant un fitxer anomenat git-daemon-export-ok.

$ cd /path/to/project.git
$ touch git-daemon-export-ok

La presència d’aquest fitxer indica a Git que és acceptable servir aquest projecte sense autenticació.