Git » Historique » Version 2
« Précédent -
Version 2/69
(diff) -
Suivant » -
Version actuelle
Antoine Lubineau, 21/02/2012 19:38
Installation et utilisation dâun serveur Git¶
Les explications qui suivent ont été appliquées sur le serveur git.tetaneutral.net
de Tetaneutral.net, donc avec une Debian Squeeze.
Git est un gestionnaire de versions décentralisé, libre et développé en C. à noter la traduction française du Git community book.
La configuration se fera essentiellement au travers de Gitolite, qui permet de créer des dépôts, gérer les accès push/pull pour des accès en SSH, déléguer des droits, etc. git-daemon
permet de donner un accès au travers du protocole git
, et cgit
sera utilisé pour lâinterface web.
Gitolite¶
git-daemon¶
cgit¶
Comme il nây a pas de paquet Debian, il faut le compiler à la main. Au moment de la rédaction de ce guide, on ne pouvait pas compiler cgit contre la dernière version de Git (fonctionnel avec cgit 0.9.2.0 et Git 1.7.4).
wget
Avec les sources de Git 1.7.4, en spécifiant CGIT_SCRIPT_PATH = /var/www
et prefix = /usr/local/cgit
dans le Makefile
.
Pour que le serveur web ait les droits de lecture sur les dépôts, il faut ajouter www-data au groupe git
, faire un chmod -R g+rX
sur les dépôts existants, et changer $REPO_UMASK = 0077;
en $REPO_UMASK = 0027;
dans ~git/.gitolite.rc
(ce réglage ne vaut que pour les dépôts qui seront créés par la suite).
cgit récupère la liste des projets dans ~git/projects.list
. Cette liste est complétée par Gitolite pour les dépôts dont gitweb
a les droits en lecture (câest une dénomination spécifique à gitolite, qui nâest pas incluse dans @all
). Je ne suis pas tout à fait sûr par contre que le fichier projects.list
ait les bons droit lorsquâil est régénéré par gitolite.
La configuration de cgit
se trouve dans cgitrc(5)
:
virtual-root=/ project-list=/home/git/projects.list scan-path=/home/git/repositories/
Pour spécifier le propriétaire et la description dâun dépôt, voir le manuel de gitolite, section «â¯specifying gitweb and daemon accessâ¯Â».