Utiliser gitolite

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


Utiliser gitolite

Ce tutoriel pour installer un serveur GIT n'est pas fonctionnel

Gitolite est un serveur GIT.
Le tutoriel sur cette page n'est pas fonctionnel.
Entre temps, j'ai découvert Gitea et c'est la solution Gitea qui a été retenue.

Sur Debian 8.7.1

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install git ssh openssh-client

Créer le repo git

En root !

Créer le dossier utilisateur

# création du dossier de l'utilisateur git 
mkdir /home/git
# on va dans le dossier de l'utilisateur git 
cd /home/git
# on crée l'utilisateur git dans le groupe www-data 
useradd -G www-data -d /home/git git
# on donne les droits sur le dossier à l'utilisateur git 
chown -R git /home/git
# on lui permet d'écrire dedans 
chmod u+w /home/git

Ajouter une ligne dans /etc/sudoers

apt install sudo

Ouvrir /etc/sudoers avec nano. nano /etc/sudoers

Ajouter sous d'autres lignes qui commencent par "Defaults"
Defaults:git !authenticate
Enregistrer avec Ctrl + X et quitter.


# Ne fonctionne pas
su git
affiche $
mkdir bin
permission non accordée
# Fonctionne.
su - git
mkdir bin
ls
Affiche bien un dossier bin qui vient d'être créé.
ls /home/git/bin
Affiche dollar $
echo "$USER"
Affiche git

git clone gitolite

git clone git://github.com/sitaramc/gitolite
Fait.
gitolite/install -ln ~/bin
ssh-keygen
Indiquer le chemin du fichier : home/git/.ssh/id_rsa/user-git-for-gitolite.ssh
Ajouter une passphrase : "LcfVS"
Your identification key has been saved in user-git-for-gitolite.ssh
Your public key has been saved in user-git-for-gitolite.ssh.pub
The key fingerprint is:
45:31:d5:00:31:ad:75:96:c7:a4:f7:98:dd:79:99:3d git@debian-8
The key's randomart image is:
+---[RSA 2048]----+
|          B*oo +.|
|         . oo =.o|
|          .o o...|
|         ..    =B|
|        S     oE*|
|                o|
|                 |
|                 |
|                 |
+-----------------+
$
PATH=~/bin:$PATH
gitolite setup -pk la-clef-publique.pub
gitolite setup -pk /home/git/.ssh/id_rsa/user-git-for-gitolite.ssh.pub
FATAL: errors found but logfile could not be created
FATAL: /home/git/.gitolite/logs/gitolite-2017-02.log: Aucun fichier ou dossier de ce type
FATAL: die	'/home/git/.ssh/id_rsa/user-git-for-gitolite.pub' not a readable file
Erreur de path pour la clé .ssh.pub , le path suivant " fonctionne ".
gitolite setup -pk /home/git/user-git-for-gitolite.ssh.pub
Des Warnings sont affichés.
gitolite setup -pk user-git-for-gitolite.ssh.pub
Dépôt Git vide initialisé dans /home/git/repositories/gitolite-admin.git/
Dépôt Git vide initialisé dans /home/git/repositories/testing.git/
WARNING: /home/git/.ssh missing; creating a new one (this is normal on a brand new install)
WARNING: /home/git/.ssh/authorized_keys missing; creating a new one (this is normal on a brand new install)
Déplacement de la clé .ssh présente dans le dossier git et changement de nom vers le ficher /home/USER/git.ssh
mv /home/git/user-git-for-gitolite.ssh /home/userone/git.ssh
chown userone /home/userone/git.ssh
chmod 700 /home/userone/git.ssh
Je préfère conserver le nom user-git-for-gitolite.ssh
mv /home/userone/git.ssh /home/userone/user-git-for-gitolite.ssh
chown userone /home/userone/user-git-for-gitolite.ssh
chmod 700 /home/userone/user-git-for-gitolite.ssh
Repasser en utilisateur normal.
su UtilisateurNormal
su userone (Dans mon cas)
Vérifier la présence du dossier .ssh dans /home/userone/ avec ls -la
Si ce dossier n'existe pas, le créer.
mkdir .ssh
Ajouter un fichier de configuration dans /home/userone/.ssh
nano config
Ajouter le contenu suivant dans le fichier config
Host gitolite-admin
HostName 127.0.0.1
User git
IdentityFile ~/user-git-for-gitolite.ssh
On test si tout fonctionne ?
ssh git@gitolite-admin
userone@debian-8:~/.ssh$ ssh git@gitolite-admin
/home/userone/.ssh/config: line 4: Bad configuration option: identifyfile
/home/userone/.ssh/config: terminating, 1 bad configuration options
Le fichier de conf a été mal copié. identity n'est pas identify. Fonctionne avec identity.
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is e2:27:dc:6e:06:d3:5f:69:20:71:64:b6:b9:cf:78:52.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/userone/user-git-for-gitolite.ssh': 
Enter passphrase for key '/home/userone/user-git-for-gitolite.ssh': 
PTY allocation request failed on channel 0
hello user-git-for-gitolite.ssh, this is git@debian-8 running gitolite3 v3.6.6-6-g7c8f0ab on git 2.1.4

R W	gitolite-admin
R W	testing
Connection to 127.0.0.1 closed.

A suivre

git clone git@gitolite-admin:gitolite-admin

Pour Windows

Installer git-for-windows
cd ~/.ssh (Accès direct au dossier ssh) (Si introuvable, résoudre les commandes suivantes.)
cd ~/
cd %userprofile%
ls .ssh (Si il n'existe pas, créer le dossier.)
mkdir .ssh
touch config (Pour créer un fichier config)
Ajouter le contenu suivant dans le fichier config :
Host mon_serveur 
HostName ip.de.ton.serveur 
User NomPourUtilisateur 
IdentityFile ~/.ssh/chemin/vers/ta/clef.ssh

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.