Dlareg Blog

Aller au contenu | Aller au menu | Aller à la recherche

Installer son propre dépôt Git sous Mandriva 2010.1

Pré-requis

Avoir un serveur SSH fonctionnel.
Avoir git d'installer sur la machine chez moi ça donne ça :

$ rpm -qa | grep git
git-prompt-1.7.1-1mdv2010.1
git-cvs-1.7.1-1mdv2010.1
git-email-1.7.1-1mdv2010.1
git-arch-1.7.1-1mdv2010.1
gitk-1.7.1-1mdv2010.1
git-core-oldies-1.7.1-1mdv2010.1
git-1.7.1-1mdv2010.1
git-svn-1.7.1-1mdv2010.1
git-core-1.7.1-1mdv2010.1

Téléchargement

$ cd ~
$ mkdir dev
$ cd dev
$ git clone git://eagain.net/gitosis.git

Installation

Pour procéder à l'installation il vous faut le paquetage python-setuptools

# urpmi python-setuptools

Chez moi ça donne ça

$ rpm -qa | grep python | grep setuptools
python-setuptools-0.6c11-1mdv2010.1

Il y a un bug qui ne permet pas d'aller au bout de l'installation de gitosis, pour y remédier :

# export PYTHONDONTWRITEBYTECODE=

http://lists.mandriva.com/bugs/2010-05/msg02799.php
http://bitbucket.org/tarek/distribute/issue/168/easy_install-fails-with-byte-compiling

Installons pour de bon :

$ cd ~/dev/gitosis
# python setup.py install

Configuration de gitosis

Création d'un utilisateur git :

# groupadd git
# useradd -g git -d /home/git -s /bin/bash -m git

Avez-vous une clé public SSH ?

si non sous votre utilisateur :

$ ssh-keygen -t rsa

Le résultat se trouve dans /home/votre_utilisateur/.ssh/
Vous avez un fichier id_rsa.pub alors vous avez maintenant une clé public SSH.

si oui :

$ cp /home/votre_utilisateur/.ssh/id_rsa.pub /tmp/cle.pub

Hop en root :

# sudo -H -u git gitosis-init < /tmp/cle.pub

Vous devez obtenir le résultat suivant en cas de réussite :

Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

A ce stade vous devez avoir un tas de fichier dans /home/git/repositories/gitosis-admin.git/

# ll /home/git/repositories/gitosis-admin.git/

On peut supprimer sur le serveur le répertoire d'installation contenant le clone du dépôt de gitosis :

# rm -rf /home/votre_utilisateur/dev/gitosis

On va suivre le conseil de toki pona et on va changer les droits sur le fichier /home/git/repositories/gitosis-admin.git/hooks/post-update

# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

L'installation est terminée.

Se connecter, cloner et configurer le serveur pour d'autres utilisateurs

Sur la machine cliente vous pouvez maintenant cloner le dépôt qui est sur votre serveur :

$ git clone git@[adresse du serveur]:gitosis-admin.git

Tapez votre pass phrase, le dépôt est cloné.

$ cd gitosis-admin.git

Il y un fichier gitosis.conf et un répertoire keydir dans votre dépôt.
Le fichier contient vos dépôts et les utilisateurs autorisés à se connecter.
Le répertoire contient les clés publics de vos utilisateurs autorisés.

Pour ajouter un utilisateur et un dépôt je vous invite à lire la démarche sur l'article de toki pona :
http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html#ss_part_4

Vous éditez à votre convenance et poussez les modifications sur le serveur :

$ git commit -a -m "Ajout de l'utilisateur [toto]"
$ git push

Liens utiles

http://www.siteduzero.com/tutoriel-3-187504-heberger-des-depots-git-avec-gitosis.html

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

La discussion continue ailleurs

URL de rétrolien : http://www.dlareg.org/trackback/292

Fil des commentaires de ce billet