====== Exemple de mise en place d'un serveur Git sur OVH ======
* https://git-scm.com/book/fr/v1/Git-sur-le-serveur-Installation-de-Git-sur-un-serveur
Dans l'organisation qui suit on notera :
* Sur le serveur **OVH** un répertoire **git** contient l'ensemble des dépôts git
* Chaque dépôts ou groupe de dépôts est accessible grâce à une clef //ssh//
* Pour accéder à un dépôts ou groupe de dépôts une URI spécifique est ajouté sous la forme d'un compte **FTP** sur **OVH**. Ce compte autorise les accès **SSH**
===Organisation===
* __Serveur ssh__ : //boonum-cscolaire@ssh.cluster003.ovh.net//
//boonum-cscolaire@ssh.cluster003.ovh.net// pointe vers le répertoire **git/boonum-cscolaire/**
__Le dépôt **git** est organisé comme suit :__
/--- cscolaire
/ |
/ |---.ssh # gestion des clefs ssh
/ |
/ |---cscolaire.git # dépôt git
===== Installation sur le serveur =====
Pour réaliser l'installation initiale d'un serveur Git, il faut exporter un __dépôt existant__ dans un nouveau **__dépôt nu__** — un dépôt qui ne contient pas de copie de répertoire de travail.
Il est possible, également, de créer un dépôt à partir de
$ git init --bare
==== 1- Sur votre ordinateur personnel ====
**Créer un dépôt nu à partir d'un dépôt existant**.
$ git clone --bare cscolaire cscolaire.git
>> Par convention le nom d'un dépôt **Git** porte l'extension //**.git**//.
**Par défaut l'accès au dépôt est en __écriture__**
__Donner des droits d'écriture avec connexion SSH__
$ git init --bare --shared cscolaire.git
==== 2- Sur le serveur ====
=== 2-a Hébergement des dépôts git et accès SSH===
- Création du répertoire **/git/cscolaire** // ( héberge un ou plusieurs dépôt git)//
- Création du répertoire **/git/cscolaire/.ssh** //(nécessaire pour l'accès SSH)//
- Création du fichier **/git/cscolaire/.ssh/authorized_keys** //(Contient les clés publiques des utilisateurs autorisés à accéder aux dépôts git)//
=== 2-b Ajouter le dépôt git sur le serveur===
Copiez le dépôt nu **cscolaire.git** sur le serveur ce qui donnera :
#le dépôt se trouve sous /git/cscolaire/
/git/cscolaire/cscolaire.git/
====3- Accès sécurisé====
L'adresse du dépôt **cscolaire.git** est :
boonum-cscolaire@ssh.cluster003.ovh.net:cscolaire/cscolaire.git
* Le compte **boonum-csolaire** ne doit pas autoriser les accès **ssh** de type **ftp** car dans ce cas les utilisateurs de **Git** aurait accès aux ressources du répertoire en dehor de **Git**
===3-a Ajout des clés publiques SSH ===
Dans le fichier **scolaire/.ssh/authorized_keys** ajoutez les clés publiques des personnes autorisées à accéder au dépôt.
===== Clonage du dépôt sur un ordinateur =====
$ git clone boonum-cscolaire@ssh.cluster003.ovh.net:cscolaire.git
A partir de là vous pouvez :
* Mettre à jour localement le dépôt
* Mettre à jour le dépôts sur le serveur ( **push** )
* Tirer le dépôt ( ** pull** )
=====Linux=====
* http://www.octetmalin.net/linux/scripts/iptables-demarrer-arret-redemarrage-start-stop-restart-pare-feu-firewall.php
* https://www.cyberciti.biz/faq/bash-for-loop/
* https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux/43126-afficher-et-manipuler-des-variables
=====Liens=====
* https://blog.yadutaf.fr/2013/11/30/gerer-son-site-avec-git-sur-un-serveur-mutualise/
* https://git-scm.com/book/fr/v1/Git-sur-le-serveur-Installation-de-Git-sur-un-serveur
* https://git-scm.com/book/fr/v2/Git-sur-le-serveur-Mise-en-place-du-serveur
* https://blog.yadutaf.fr/2013/11/30/gerer-son-site-avec-git-sur-un-serveur-mutualise/
* https://delicious-insights.com/fr/articles/git-hooks/
* https://blog.yadutaf.fr/2013/11/30/gerer-son-site-avec-git-sur-un-serveur-mutualise/