====== 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/