Installation de Gitolite

Submitted by ptitoliv (non vérifié) on ven, 12/18/2009 - 11:25

Pré requis

Pour installer gitolite, il faut disposer d'un serveur qui stockera tous les repositories GIT y compris le repository gitolite. C'est sur ce serveur que seront configurées et appliquées les ACLs sur les repositories.Ce serveur sera désigne dans la suite de cette article comme le serveur de référence.

Ce serveur doit être installé avec les composants suivants :

  • git (de préférence > à la version 1.6.2)
  • perl
  • Serveur SSH

L'installation ne se faisant pas directement sur le serveur de référence, il faut également disposer d'une machine cliente disposant également de git, perl et d'un client SSH pour communiquer avec le serveur de référence.

Préparation du serveur de référence

Ajout d'un utilisateur POSIX

Comme dit précédemment, toute l'application gitolite est gérée sous un seul utilisateur POSIX. La première opération est donc de créer cet utilisateur que nous appellerons git.

serveur-git:~# adduser git

Une fois créé tous les repositories seront stockées dans le home directory de ce compte.

Mise en place de clés SSH (optionnel)

Toute l'installation de gitolite se fait par une succession de commandes SSH entre le client et le serveur. Il est donc préférable de mettre en place une authentification par clé.

La première étape est donc de créer un couple de clé sur la machine cliente qui va nous servir à nous connecter au compte git du serveur de référence sans mot de passe.


ptitoliv@workstation:~$ ssh-keygen -t rsa -b 1024
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ptitoliv/.ssh/id_rsa):
Created directory '/home/ptitoliv/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ptitoliv/.ssh/id_rsa.
Your public key has been saved in /home/ptitoliv/.ssh/id_rsa.pub.
The key fingerprint is:
0e:1c:9a:d1:22:a4:e5:e3:d1:04:69:92:3d:d8:b3:ae ptitoliv@debian-vm
The key's randomart image is:
+--[ RSA 1024]----+
| =+o. |
|+=Bo . |
|.o=++ o |
| ..+ * . |
| .. o o S |
| . o |
| . . |
|E |
| |
+-----------------+

Une fois la clé publique générée, il faut la déployer sur le compte git du serveur de référence. Pour cela, on peut utiliser l'outil ssh-copy-id.

ptitoliv@workstation:~$ ssh-copy-id -i /home/ptitoliv/.ssh/id_rsa git@serveur-git
git@serveur-git's password:
Now try logging into the machine, with "ssh 'git@serveur-git'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Si ssh-copy-id n'est pas disponible, l'opération consiste juste à importé la clé publique générée dans le fichier ./ssh/authorized_keys du compte git. (Ne pas oublier de mettre les droits a 0644 sur le fichier).

Téléchargement de gitolite

Tout est prêt à présent pour installer gitolite. Afin de récupérer le logiciel, 2 méthodes sont possibles :

Téléchargement d'un des différents snapshots disponibles à l'adresse http://github.com/sitaramc/gitolite/downloads

ou bien récupération de la dernière version de développement en clonant le repository de référence sur GitHub :

ptitoliv@workstation:~$ git clone git://github.com/sitaramc/gitolite.git

ATTENTION : Le déploiement doit se faire sur la machine cliente et non le serveur de référence.

Le clone a créé un répertoire gitolite qui contient toutes les fichiers et notamment un script d'installation qui va permettre de configurer gitolite localement et de déployer cette configuration sur le serveur de référence.

Remarque : Il existe également des snapshots stables des différentes version de gitolite disponibles sur

Installation de gitolite

Le script d'installation est gl-easy-install dans le répertoire src.Il doit être lancé avec les paramètres suivants :

  • Nom de l'utilisateur POSIX sur le serveur de référence
  • Hostname du serveur de référence
  • Nom de l'utilisateur virtuel qui sera le premier administrateur de gitolite

Lancement de l'installation Sur la workstation:

ptitoliv@workstation:~/gitolite$ src/gl-easy-install git debian-vm gitoliteadm

Une fois l'installer lancé, celui-ci va exécuter les étapes suivantes :

  • Création d'un couple de clé pour l'administrateur gitolite. Ces clés serviront à authentifier l'administrateur gitolite pour mettre à jour les ACLs et la base des utilisateurs.
  • Déploiement de gitolite sur le serveur final
  • Configuration générale de gitolite. Il sera demander à l'administrateur de configurer tous les paramètres généraux de gitolite tels que la localisation des repositories, les droits UNIX des fichiers par défaut, la journalisation etc. etc. Le fichier une fois configuré sera pushé sur le serveur de référence
  • Création du repository d'administration gitolite-admin sur le serveur de référence
  • Clone du repository gitolite-admin depuis le serveur de référence sur la machine cliente locale

Si tout s'est bien passé gitolite est à présent installé et utilisable.