Cet article date d'il y a plus d'un an.
Il est possible qu'il ne soit plus à jour.
Auto-héberger un serveur Git
J’ai déjà parlé à plusieurs reprises de Git, ce logiciel de gestion de versions créé par Linus lui-même.
Si vous souhaitez héberger votre propre serveur Git sous Debian ou Ubuntu, c’est très simple :
Côté serveur :
apt-get install git lighttpd ssh
adduser --system --shell /bin/bash --group --disabled-password --home /var/git/ git
chown git:git /var/git
Si vous ne voulez pas de mot de passe, uniquement un échange de clés SSH, modifier cette ligne dans le fichier /etc/ssh/sshd_config :
PasswordAuthentication no
Côté client :
Si vous n’avez pas encore de clés SSH :
ssh-keygen -t rsa
cat ~/.ssh/ip_rsa.pub
Copier la clé publique RSA affichée à l’écran.
Retour sur le serveur :
su - git
mkdir .ssh
vim .ssh/authorized_keys
Coller la clé RSA du client.
mkdir monprojetquitue.git
cd monprojetquitue.git
git init --bare
Pour un serveur Web (qui écoute sur le port 1234) :
git instaweb
Sur le client, ça marche comme chez Github :
git clone git@IP_ou_nom_du_serveur:monprojetquitue.git
cd monprojetquitue
Travailler sur le projet puis :
git add . --all
git commit -m "Premier commit"
git push origin master
N’oubliez pas de coller les clés publiques dans authorized_keys pour chaque nouveau client.
Et voili.