Héberger ses dépôts Git sur son serveur

Ce tutoriel décrit comment héberger ses dépôts Git sur son serveur Debian (et à priori dérivés) en suivant les étapes suivantes:

  1. Installer Git,
  2. Créer l’utilisateur git,
  3. Ajouter une clé SSH,
  4. Initialiser et travailler avec le dépôt,
  5. Visualiser ses dépôts.

Installer Git

Pour cela, rien de bien compliqué, il suffit d’installer le paquet git-core.

apt-get install git-core

Créer l’utilisateur git

Pour gérer les dépôts, il faut créer un utilisateur qui permettra de travailler avec le dépôt. Et pour le nom, rien d’original: git. Nullement besoin de mot de passe, il faut juste lui attribuer le git-shell comme shell de connexion afin qu’on ne puisse pas se connecter via SSH avec cet utilisateur.

adduser git --disabled-password --shell "/usr/bin/git-shell"

On se place dans le répertoire de l’utilisateur git pour la suite des opérations :

cd /home/git

Ajouter une clé SSH

Créer un répertoire .ssh ainsi qu’un fichier authorized_keys si besoin.

mkdir /home/git/.ssh
touch /home/git/.ssh/authorized_keys

Pour ajouter une clé, verser la fichier de la clé publique SSH sur votre serveur et saisissez la commande suivante :

cat /chemin/clessh.pub >> /home/git/.ssh/authorized_keys

Bien sûr, répéter l’opération pour chaque ajout d’utilisateur.

Initialiser et travailler avec le dépôt

Vu que nous sommes sur le serveur de dépôt nul besoin de répertoire de travail, il suffit d’ajouter l’option --bare au moment de l’initialisation. Par convention, le nom du répertoire se termine par .git.

mkdir /home/git/myRemoteRepository.git
cd /home/git/myRemoteRepository.git/
git --bare init

Pour que le dépôt puisse être cloné il vous faut faire un premier commit, pour se faire, sur votre machine locale (attention : il faut que vous ayez ajouté la clé SSH publique de votre utilisateur local) :

mkdir myLocalRepository
cd myLocalRepository
git init
touch README
git add README
git commit -am "Initial commit."
git remote add origin git@myServer:myRemoteRepository.git
git push origin master

Visualiser ses dépôts

Il existe pléthore d’outils pour visualiser (et faire pleins d’autres choses) mais je n’en citerai qu’un seul, très simple d’installation, développé avec Silex : GitList, tout est dans le fichier README.

Enjoy!

2 réflexions au sujet de « Héberger ses dépôts Git sur son serveur »

  1. As-tu eu l’occasion de tester gogs ? Écrit en Go, c’est un github like qui s’installe très facilement et qui permet de gérer les accès en fonction du dépot. Tu as également Gitlab mais c’est une vraie misère à installer.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *