소스 검색

corrections gogs, readme

Eric Streit 5 년 전
부모
커밋
241cd8dc42
6개의 변경된 파일215개의 추가작업 그리고 277개의 파일을 삭제
  1. 18 0
      README.md
  2. 2 4
      docs/14-quatorze.md
  3. 187 273
      docs/19-dixneuf.md
  4. BIN
      docs/Images/gogs1.png
  5. 4 0
      docs\\14-quatorze.html
  6. 4 0
      docs\\19-dixneuf.html

+ 18 - 0
README.md

@@ -0,0 +1,18 @@
+# Bienvenue sur le Wiki !
+
+
+J'ai écrit ce tutoriel pour d'abord comprendre ce que je faisais, pour pouvoir dépanner quand je rencontrais des problèmes.
+
+J'ai comme beaucoup, suivi des tutoriels pas à pas, et pour finir de me retrouvé coincé car "quelque chose" ne marchait pas et comme les explications étaient la plupart du temps spartiates, je ne réussissais pas à corriger.
+
+J'ai donc décrit les étapes que je suivais, après expérimentations, lectures de dizaines de tutoriels.
+
+J'ai testé ce tutoriel sur mes différents serveurs en l'améliorant au fur et à mesure.
+
+Ce n'est pas parfait, je ne suis pas un professionnel de l'informatique, juste un passionné.
+
+Voilà, j'espère que ce tutoriel vous servira, ou que vousd apprendrez quelque chose.
+
+N'hésitez pas à me soumettre des améliorations, corrections.
+
+Eric Streit

+ 2 - 4
docs/14-quatorze.md

@@ -1,6 +1,4 @@
-# Gestion de clefs SSH multiples
-
-Le problème est le suivant: comment se connecter à partir du même poste client à plusieurs serveurs, avec des clefs différentes.
-
 
+# Gestion de clefs SSH multiples
 
+Le problème est le suivant: comment se connecter à partir du même poste client à plusieurs serveurs, avec des clefs différentes.

+ 187 - 273
docs/19-dixneuf.md

@@ -1,15 +1,16 @@
-# Installation de *git*
+
+# Installation de *git*
 
 Il y a plusieurs façons d'installer un serveur *git* sur notre serveur. Nous allons essayer plusieurs solutions, d'une solution complètement basique sans serveur graphique, suivie de solutions graphiques avec plus ou moins de capacités (suivi de tickets, wiki, gestion des utilisateurs, intégration continue.
 
-## Installation d'un serveur *basique" 
+## Installation d'un serveur git *basique* (mais parfaitement fonctionnel :) )
 
 ### Installation de *git*
 
 ```shell
 root@atom:/home/ericadmin# apt install git
 Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances       
+Construction de l'arbre des dépendances
 Lecture des informations d'état... Fait
 The following additional packages will be installed:
   git-man
@@ -33,7 +34,9 @@ Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
 Paramétrage de git (1:2.11.0-3+deb9u4) ...
 root@atom:/home/ericadmin# mc
 ```
+
 ### Installation de l'utilisateur *git* et du groupe *git*
+
 ```shell
 root@atom:/home/ericadmin# adduser git
 Ajout de l'utilisateur « git » ...
@@ -41,35 +44,43 @@ Ajout du nouveau groupe « git » (1001) ...
 Ajout du nouvel utilisateur « git » (1001) avec le groupe « git » ...
 Création du répertoire personnel « /home/git »...
 Copie des fichiers depuis « /etc/skel »...
-Entrez le nouveau mot de passe UNIX : 
-Retapez le nouveau mot de passe UNIX : 
+Entrez le nouveau mot de passe UNIX :
+Retapez le nouveau mot de passe UNIX :
 passwd: password updated successfully
 Changing the user information for git
 Enter the new value, or press ENTER for the default
-	Full Name []: 
-	Room Number []: 
-	Work Phone []: 
-	Home Phone []: 
-	Other []: 
+	Full Name []:
+	Room Number []:
+	Work Phone []:
+	Home Phone []:
+	Other []:
 Cette information est-elle correcte ? [O/n]o
-root@atom:/home/ericadmin# 
+root@atom:/home/ericadmin#
 ```
 
-Un répertoire /home/git a été créé ainsi que le groupe git et l'utilisateur git, avec son mot de passe que vous avez saisi dans l'étape ci-dessus. 
+Un répertoire /home/git a été créé ainsi que le groupe git et l'utilisateur git, avec son mot de passe que vous avez saisi dans l'étape ci-dessus.
 
 ### Copie de la clef *ssh* pour un accès sans mot de passe.
 
 Pour cela, il faut ajouter l'utilisateur *git* dans le fichier de configuration de *sshd*. Modifiez la ligne qui contient AllowUsers pour obtenir ceci:
+
 > AllowUsers ericadmin git
 
 Rechargez *sshd* en lançant:
+
+> service sshd restart
+
+Copie de  votre clef sur le serveur: dans un premier temps, il faut remettre la configuration d'origine de *sshd*.
+
+Pour cela, copiez cotre fichier actuel en sshd_config.n. Copiez le fichier /etc/ssh/sshd_config.orig en /etc/ssh/sshd_config et relancez sshd avec service sshd restart.
+
 > service sshd restart
-Copie de  votre clef sur le serveur: dans un premier temps, il faut remettre la configuration d'origine de *sshd*. Pour cela, copiez cotre fichier actuel en sshd_config.n. Cipiez le fichier /etc/ssh/sshd_config.orig en /etc/ssh/sshd_config et relancez sshd avec service sshd restart.
-> 
+>
 Vous devez pouvoir vous connecter sur le compte git en tapant ceci:
+
 ```shell
 eric@aldebaran:~$ ssh git@atom
-git@atom's password: 
+git@atom's password:
 Linux atom 4.9.0-8-686-pae #1 SMP Debian 4.9.130-2 (2018-10-27) i686
 
 The programs included with the Debian GNU/Linux system are free software;
@@ -86,7 +97,7 @@ Déconnectez-vous en tapant Ctrl D et copiez votre clef sur le serveur:
 eric@aldebaran:~$ ssh-copy-id git@atom
 /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
 /usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
-git@atom's password: 
+git@atom's password:
 
 Number of key(s) added: 2
 
@@ -108,20 +119,27 @@ individual files in /usr/share/doc/*/copyright.
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law.
 Last login: Sun Dec 30 09:40:18 2018 from 192.168.111.150
-git@atom:~$ 
+git@atom:~$
 ```
+
 Vous avez pu vous connecter sans taper votre mot de passe.
+
 Déconnectez-vous à nouveau (Ctrl D)
+
 Remettez le fichier sshd_config (qui contient le AllowUsers que nous avons configuré auparavant).
+
 Test:
+
 ```shell
 eric@aldebaran:~$ ssh 'git@atom'
 Last login: Sun Dec 30 09:45:36 2018 from 192.168.111.150
 git@atom:~$
 ```
+
 Ça marche. Nous avons un accès à notre compte *git* sans mot de passe, par échange de clefs, et avons bloqué l'accès par mot de passe, comme pour notre utilisateur d'administration *ericadmin*.
 
 ### Création d'un répertoire qui va contenir nos dépots *git*
+
 On se connecte sous l'utilisateur git et on crée un répertoire *Repos* (Choisissez le nom que vous voulez ...)
 
 ```shell
@@ -130,22 +148,28 @@ Last login: Sun Dec 30 09:48:14 2018 from 192.168.111.150
 git@atom:~$ mkdir Repos
 git@atom:~$ ls
 Repos
-git@atom:~$ 
+git@atom:~$
 ```
+
 Voilà, le répertoire est créé.
 
 ### Création d'un premier dépot sur le serveur
+
+La commande **git init --bare** permet la création, d'un dépot qui ne contient que les données **git** sans les sources/documents.
+
 ```shell
 git@atom:~$ cd Repos/
 git@atom:~/Repos$ mkdir Essai1.git
 git@atom:~/Repos$ cd Essai1.git/
 git@atom:~/Repos/Essai1.git$ git init --bare
 Dépôt Git vide initialisé dans /home/git/Repos/Essai1.git/
-git@atom:~/Repos/Essai1.git$ 
+git@atom:~/Repos/Essai1.git$
 ```
 
 ### Création d'un projet sur la machine locale
-(pour moi dans le répertoire /home/Eric/Devs)
+
+(pour moi dans le répertoire /home/eric/Devs)
+
 ```shell
 eric@aldebaran:~/Devs$ mkdir Essai1
 eric@aldebaran:~/Devs$ cd Essai1/
@@ -156,20 +180,23 @@ total 12
 drwxr-xr-x  3 eric eric 4096 déc.  30 10:01 .
 drwxr-xr-x 18 eric eric 4096 déc.  30 10:00 ..
 drwxr-xr-x  7 eric eric 4096 déc.  30 10:01 .git
-eric@aldebaran:~/Devs/Essai1$ 
+eric@aldebaran:~/Devs/Essai1$
 ```
+
 Le répertoire de notre projet est vide, nous venons de le créer. Ajoutons un premier fichier *README.md* avec un contenu quelconque au projet.
+
 ```shell
 eric@aldebaran:~/Devs/Essai1$ touch README.md
 eric@aldebaran:~/Devs/Essai1$ ls
 README.md
-eric@aldebaran:~/Devs/Essai1$ echo "Un premier fichier" > README.md 
-eric@aldebaran:~/Devs/Essai1$ cat README.md 
+eric@aldebaran:~/Devs/Essai1$ echo "Un premier fichier" > README.md
+eric@aldebaran:~/Devs/Essai1$ cat README.md
 Un premier fichier
-eric@aldebaran:~/Devs/Essai1$ 
+eric@aldebaran:~/Devs/Essai1$
 ```
 
 Ajoutons-le à la base *git*
+
 ```shell
 eric@aldebaran:~/Devs/Essai1$ git add .
 eric@aldebaran:~/Devs/Essai1$ git commit -m "mon premier commit"
@@ -181,7 +208,9 @@ Sur la branche master
 rien à valider, la copie de travail est propre
 eric@aldebaran:~/Devs/Essai1$
 ```
+
 Notre fichier a été ajouté à notre base git locale. Nous allons ajouter le dépot distant situé sur notre serveur.
+
 ```shell
 eric@aldebaran:~/Devs/Essai1$ git remote add origin ssh://git@atom.yojik.net:Repos/Essai1.git
 eric@aldebaran:~/Devs/Essai1$ git remote
@@ -191,9 +220,11 @@ origin	ssh://git@atom/Repos/Essai1.git (fetch)
 origin	ssh://git@atom/Repos/Essai1.git (push)
 eric@aldebaran:~/Devs/Essai1$
 ```
+
 J'ai ajouté les commandes de vérification.
 
 Nous allons "pousser" notre projet sur le serveur.
+
 ```shell
 eric@aldebaran:~/Devs/Essai1$ git push origin master
 Décompte des objets: 3, fait.
@@ -202,8 +233,11 @@ Total 3 (delta 0), reused 0 (delta 0)
 To atom.yojik.net:Repos/Essai1.git
  * [new branch]      master -> master
 ```
+
 Tests suivants:
+
 Effacement des projets sur notre machine locale et clonage de notre dépôt distant, avec le protocole *git* ainsi qu'avec le protocole *https*:
+
 **Protocole *git***:
 
 ```shell
@@ -215,10 +249,10 @@ Réception d'objets: 100% (3/3), fait.
 eric@aldebaran:~/Devs$ cd Essai1/
 eric@aldebaran:~/Devs/Essai1$ ls
 README.md
-eric@aldebaran:~/Devs/Essai1$ cat README.md 
+eric@aldebaran:~/Devs/Essai1$ cat README.md
 Essai2
-eric@aldebaran:~/Devs/Essai1$  echo " d'un deuxième poussage" >> README.md 
-eric@aldebaran:~/Devs/Essai1$ cat README.md 
+eric@aldebaran:~/Devs/Essai1$  echo " d'un deuxième poussage" >> README.md
+eric@aldebaran:~/Devs/Essai1$ cat README.md
 Essai2
  d'un deuxième poussage
 eric@aldebaran:~/Devs/Essai1$ git add .
@@ -231,11 +265,24 @@ Décompte des objets: 3, fait.
 Total 3 (delta 0), reused 0 (delta 0)
 To atom.yojik.net:Repos/Essai1.git
    e9cd815..4edff63  master -> master
-eric@aldebaran:~/Devs/Essai1$ 
+eric@aldebaran:~/Devs/Essai1$
 ```
+
 **Protocole *https***:
-```shell
 
+Essai de clonage du dépot git contenant les sources de ce tutorial avec la commande suivante; vous noterez que les sources du dépot sont légèrement différentes, suite à l'installation de **gogs**, mais le principe est le même.
+
+> git clone https://git.yojik.net/eric/InstallationServeur.git
+
+```shell
+eric@aldebaran:~/temp$ git clone https://git.yojik.net/eric/InstallationServeur.git
+Clonage dans 'InstallationServeur'...
+remote: Décompte des objets: 431, fait.
+remote: Compression des objets: 100% (357/357), fait.
+remote: Total 431 (delta 145), reused 252 (delta 30)
+Réception d'objets: 100% (431/431), 4.74 MiB | 6.37 MiB/s, fait.
+Résolution des deltas: 100% (145/145), fait.
+eric@aldebaran:~/temp$
 ```
 
 Voilà, la configuration d'un serveur git de base est effectuée;  il nous faut bien sûr nous loguer sur le serveur pour créer un dépot avant de l'utiliser. Des programmes, souvent graphiques d'ailleurs, permettent de créer les dépots à partir d'une interface *web*. Nous allons en voir quelques uns en commençant par le serveur graphique fourni avec *git*, appelé *gitweb*.
@@ -243,10 +290,11 @@ Voilà, la configuration d'un serveur git de base est effectuée;  il nous faut
 ## Installation et configuration de *gitweb*
 
 ### Installation
+
 ```shell
 root@atom:/home/ericadmin# apt install gitweb
 Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances       
+Construction de l'arbre des dépendances
 Lecture des informations d'état... Fait
 The following additional packages will be installed:
   libcgi-fast-perl libcgi-pm-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl
@@ -264,42 +312,20 @@ Réception de:3 http://deb.debian.org/debian stretch/main i386 libcgi-pm-perl al
 Réception de:4 http://deb.debian.org/debian stretch/main i386 gitweb all 1:2.11.0-3+deb9u4 [676 kB]
 Réception de:5 http://deb.debian.org/debian stretch/main i386 libfcgi-perl i386 0.78-2 [40,2 kB]
 Réception de:6 http://deb.debian.org/debian stretch/main i386 libcgi-fast-perl all 1:2.12-1 [11,2 kB]
-1 067 ko réceptionnés en 0s (6 128 ko/s)     
-Sélection du paquet libhtml-tagset-perl précédemment désélectionné.
-(Lecture de la base de données... 40075 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../0-libhtml-tagset-perl_3.20-3_all.deb ...
-Dépaquetage de libhtml-tagset-perl (3.20-3) ...
-Sélection du paquet libhtml-parser-perl précédemment désélectionné.
-Préparation du dépaquetage de .../1-libhtml-parser-perl_3.72-3_i386.deb ...
-Dépaquetage de libhtml-parser-perl (3.72-3) ...
-Sélection du paquet libcgi-pm-perl précédemment désélectionné.
-Préparation du dépaquetage de .../2-libcgi-pm-perl_4.35-1_all.deb ...
-Dépaquetage de libcgi-pm-perl (4.35-1) ...
-Sélection du paquet gitweb précédemment désélectionné.
-Préparation du dépaquetage de .../3-gitweb_1%3a2.11.0-3+deb9u4_all.deb ...
-Dépaquetage de gitweb (1:2.11.0-3+deb9u4) ...
-Sélection du paquet libfcgi-perl précédemment désélectionné.
-Préparation du dépaquetage de .../4-libfcgi-perl_0.78-2_i386.deb ...
-Dépaquetage de libfcgi-perl (0.78-2) ...
-Sélection du paquet libcgi-fast-perl précédemment désélectionné.
-Préparation du dépaquetage de .../5-libcgi-fast-perl_1%3a2.12-1_all.deb ...
-Dépaquetage de libcgi-fast-perl (1:2.12-1) ...
-Paramétrage de libhtml-tagset-perl (3.20-3) ...
-Paramétrage de libhtml-parser-perl (3.72-3) ...
-Paramétrage de libcgi-pm-perl (4.35-1) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de libfcgi-perl (0.78-2) ...
-Paramétrage de gitweb (1:2.11.0-3+deb9u4) ...
-apache2_invoke: Enable configuration gitweb
-Paramétrage de libcgi-fast-perl (1:2.12-1) ...
-root@atom:/home/ericadmin# 
+1 067 ko réceptionnés en 0s (6 128 ko/s)
+etc...
+root@atom:/home/ericadmin#
 ```
-### Configuration
+### Configuration de *gitweb*
+
 La seule chose à configurer pour une utilisation basique est le fichier /etc/gitweb.conf. En faire une copie avant modification et modifiez la ligne suivante pour obtenir ce qui suit:
+
 > $projectroot = "/home/git/Repos";
+
 C'est la racine de nos dépots.
 
-Activez *cgi* dans *apache* et rechargez la configuration:
+Activez le module *cgi* dans *apache* et rechargez la configuration de *apache*:
+
 ```shell
 root@atom:/home/ericadmin# a2enmod cgi
 Enabling module cgi.
@@ -307,205 +333,77 @@ To activate the new configuration, you need to run:
   systemctl restart apache2
 root@atom:/home/ericadmin# systemctl restart apache2
 ```
-Vous pouvez accéder directement à l'interface graphique avec l'url suivante: atom.yojik.net/gitweb. Pour être honnête, je ne vois pas vraiment l'intérêt de cette interface, à par visualiser les projets sur le serveur. Je n'ai pas trouvé s'il est possible de télécharger une archive du projet, s'il est possible de créer un projet, pas plus que je n'ai vu la possibilité de gérer des utilisateurs. Il faudra approfondir la question ... L'utilisation de l'url par défaut n'est pas sécurisée non plus (pas de https).  
 
-## Installation de *git* et de *gogs*
+Vous pouvez accéder directement à l'interface graphique avec l'url suivante: atom.yojik.net/gitweb. Pour être honnête, je ne vois pas vraiment l'intérêt de cette interface, à part visualiser les projets sur le serveur. Je n'ai pas trouvé s'il est possible de télécharger une archive du projet, s'il est possible de créer un projet, pas plus que je n'ai vu la possibilité de gérer des utilisateurs. Il faudra approfondir la question ... L'utilisation de l'url par défaut n'est pas sécurisée non plus (pas de https).
+
+## Installation de *gogs*
 
 Nous allons installer un serveur git sur notre petit serveur. Gogs est un serveur git écrit en **go**.
 Nous allons l'installer progressivement, en ajoutant ensuite le démarrage par un service, et l'accès sur un port standard servi par **apache** et redirigé vers le port 3000 servi par **gogs**. Nous allons reprendre une installation à partir du début (avec l'installation de git etc ...)
+
 Je me suis inspiré de la documentation officielle ainsi que de ce tutorial:
+
 [# How to Install Gogs Go Git Service on Ubuntu 16.04](https://www.howtoforge.com/tutorial/how-to-install-gogs-go-git-service-on-ubuntu-1604/)
 
-Commençons par installer **git**.
+Commençons par installer **git**, si nous ne l'avons pas encore fait auparavant.
 
 ### Installation de *git*
 
-```shell  
-root@atom:~# apt-get install git  
-Lecture des listes de paquets... Fait  
-Construction de l'arbre des dépendances         
-Lecture des informations d'état... Fait  
-The following additional packages will be installed:  
-  git-man liberror-perl patch rsync  
-Paquets suggérés :  
-  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn ed diffutils-doc  
-Les NOUVEAUX paquets suivants seront installés :  
-  git git-man liberror-perl patch rsync  
-0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.  
-Il est nécessaire de prendre 6 869 ko dans les archives.  
-Après cette opération, 35,9 Mo d'espace disque supplémentaires seront utilisés.  
-Souhaitez-vous continuer ? [O/n] o  
-Réception de:1 http://deb.debian.org/debian stretch/main i386 liberror-perl all 0.17024-1 [26,9 kB]  
-Réception de:2 http://deb.debian.org/debian stretch/main i386 git-man all 1:2.11.0-3+deb9u4 [1 433 kB]  
-Réception de:3 http://deb.debian.org/debian stretch/main i386 git i386 1:2.11.0-3+deb9u4 [4 879 kB]  
-Réception de:4 http://deb.debian.org/debian stretch/main i386 patch i386 2.7.5-1+deb9u1 [124 kB]  
-Réception de:5 http://deb.debian.org/debian stretch/main i386 rsync i386 3.1.2-1+deb9u1 [407 kB]  
-6 869 ko réceptionnés en 0s (12,4 Mo/s)  
-Sélection du paquet liberror-perl précédemment désélectionné.  
-(Lecture de la base de données... 37491 fichiers et répertoires déjà installés.)  
-Préparation du dépaquetage de .../liberror-perl_0.17024-1_all.deb ...  
-Dépaquetage de liberror-perl (0.17024-1) ...  
-Sélection du paquet git-man précédemment désélectionné.  
-Préparation du dépaquetage de .../git-man_1%3a2.11.0-3+deb9u4_all.deb ...  
-Dépaquetage de git-man (1:2.11.0-3+deb9u4) ...  
-Sélection du paquet git précédemment désélectionné.  
-Préparation du dépaquetage de .../git_1%3a2.11.0-3+deb9u4_i386.deb ...  
-Dépaquetage de git (1:2.11.0-3+deb9u4) ...  
-Sélection du paquet patch précédemment désélectionné.  
-Préparation du dépaquetage de .../patch_2.7.5-1+deb9u1_i386.deb ...  
-Dépaquetage de patch (2.7.5-1+deb9u1) ...  
-Sélection du paquet rsync précédemment désélectionné.  
-Préparation du dépaquetage de .../rsync_3.1.2-1+deb9u1_i386.deb ...  
-Dépaquetage de rsync (3.1.2-1+deb9u1) ...  
-Paramétrage de git-man (1:2.11.0-3+deb9u4) ...  
-Paramétrage de liberror-perl (0.17024-1) ...  
-Paramétrage de rsync (3.1.2-1+deb9u1) ...  
-Created symlink /etc/systemd/system/multi-user.target.wants/rsync.service → /lib/systemd/system/rsync.service.  
-Paramétrage de patch (2.7.5-1+deb9u1) ...  
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u6) ...  
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...  
-Paramétrage de git (1:2.11.0-3+deb9u4) ...  
-root@atom:~#   
-```
-### Création de l'utilisateur *git* au sein du système  
-
-> commande adduser  
-```  
-root@atom:/home/ericadmin# adduser --disabled-login --gecos 'Gogs' git  
-Ajout de l'utilisateur « git » ...  
-Ajout du nouveau groupe « git » (1001) ...  
-Ajout du nouvel utilisateur « git » (1001) avec le groupe « git » ...  
-Création du répertoire personnel « /home/git »...  
-Copie des fichiers depuis « /etc/skel »...  
-root@atom:/home/ericadmin#
+```shell
+root@atom:~# apt-get install git
+etc ...
+root@atom:~#
+```
+
+### Création de l'utilisateur *git* au sein du système
+
+> commande adduser
 
+```shell
+root@atom:/home/ericadmin# adduser --disabled-login --gecos 'Gogs' git
+Ajout de l'utilisateur « git » ...
+Ajout du nouveau groupe « git » (1001) ...
+Ajout du nouvel utilisateur « git » (1001) avec le groupe « git » ...
+Création du répertoire personnel « /home/git »...
+Copie des fichiers depuis « /etc/skel »...
+root@atom:/home/ericadmin#
+```
 
 ### Installation de la base de données *Postgresql*
+
 Nous aurions pu utiliser à la place de **Postgresql**, **mysql** ou **sqlite3**.
 
-```
+```shell
 root@atom:/home/ericadmin# apt install -y postgresql postgresql-client libpq-dev
-Lecture des listes de paquets... Fait
-Construction de l'arbre des dépendances       
-Lecture des informations d'état... Fait
-The following additional packages will be installed:
-  libpq5 libsensors4 postgresql-9.6 postgresql-client-9.6 postgresql-client-common postgresql-common postgresql-contrib-9.6 sysstat
-Paquets suggérés :
-  postgresql-doc-9.6 lm-sensors postgresql-doc locales-all libdbd-pg-perl isag
-Les NOUVEAUX paquets suivants seront installés :
-  libpq-dev libpq5 libsensors4 postgresql postgresql-9.6 postgresql-client postgresql-client-9.6 postgresql-client-common postgresql-common
-  postgresql-contrib-9.6 sysstat
-0 mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour.
-Il est nécessaire de prendre 7 398 ko dans les archives.
-Après cette opération, 33,7 Mo d'espace disque supplémentaires seront utilisés.
-Réception de:1 http://deb.debian.org/debian stretch/main i386 libpq5 i386 9.6.10-0+deb9u1 [142 kB]
-Réception de:2 http://deb.debian.org/debian stretch/main i386 libpq-dev i386 9.6.10-0+deb9u1 [224 kB]
-Réception de:3 http://deb.debian.org/debian stretch/main i386 libsensors4 i386 1:3.4.0-4 [54,0 kB]
-Réception de:4 http://deb.debian.org/debian stretch/main i386 postgresql-client-common all 181+deb9u2 [79,2 kB]
-Réception de:5 http://deb.debian.org/debian stretch/main i386 postgresql-client-9.6 i386 9.6.10-0+deb9u1 [1 271 kB]
-Réception de:6 http://deb.debian.org/debian stretch/main i386 postgresql-common all 181+deb9u2 [217 kB]
-Réception de:7 http://deb.debian.org/debian stretch/main i386 postgresql-9.6 i386 9.6.10-0+deb9u1 [4 395 kB]
-Réception de:8 http://deb.debian.org/debian stretch/main i386 postgresql all 9.6+181+deb9u2 [55,8 kB]
-Réception de:9 http://deb.debian.org/debian stretch/main i386 postgresql-client all 9.6+181+deb9u2 [55,8 kB]
-Réception de:10 http://deb.debian.org/debian stretch/main i386 postgresql-contrib-9.6 i386 9.6.10-0+deb9u1 [531 kB]
-Réception de:11 http://deb.debian.org/debian stretch/main i386 sysstat i386 11.4.3-2 [373 kB]
-7 398 ko réceptionnés en 0s (11,8 Mo/s)           
-Préconfiguration des paquets...
-Sélection du paquet libpq5:i386 précédemment désélectionné.
-(Lecture de la base de données... 38406 fichiers et répertoires déjà installés.)
-Préparation du dépaquetage de .../00-libpq5_9.6.10-0+deb9u1_i386.deb ...
-Dépaquetage de libpq5:i386 (9.6.10-0+deb9u1) ...
-Sélection du paquet libpq-dev précédemment désélectionné.
-Préparation du dépaquetage de .../01-libpq-dev_9.6.10-0+deb9u1_i386.deb ...
-Dépaquetage de libpq-dev (9.6.10-0+deb9u1) ...
-Sélection du paquet libsensors4:i386 précédemment désélectionné.
-Préparation du dépaquetage de .../02-libsensors4_1%3a3.4.0-4_i386.deb ...
-Dépaquetage de libsensors4:i386 (1:3.4.0-4) ...
-Sélection du paquet postgresql-client-common précédemment désélectionné.
-Préparation du dépaquetage de .../03-postgresql-client-common_181+deb9u2_all.deb ...
-Dépaquetage de postgresql-client-common (181+deb9u2) ...
-Sélection du paquet postgresql-client-9.6 précédemment désélectionné.
-Préparation du dépaquetage de .../04-postgresql-client-9.6_9.6.10-0+deb9u1_i386.deb ...
-Dépaquetage de postgresql-client-9.6 (9.6.10-0+deb9u1) ...
-Sélection du paquet postgresql-common précédemment désélectionné.
-Préparation du dépaquetage de .../05-postgresql-common_181+deb9u2_all.deb ...
-Ajout de « détournement de /usr/bin/pg_config en /usr/bin/pg_config.libpq-dev par postgresql-common »
-Dépaquetage de postgresql-common (181+deb9u2) ...
-Sélection du paquet postgresql-9.6 précédemment désélectionné.
-Préparation du dépaquetage de .../06-postgresql-9.6_9.6.10-0+deb9u1_i386.deb ...
-Dépaquetage de postgresql-9.6 (9.6.10-0+deb9u1) ...
-Sélection du paquet postgresql précédemment désélectionné.
-Préparation du dépaquetage de .../07-postgresql_9.6+181+deb9u2_all.deb ...
-Dépaquetage de postgresql (9.6+181+deb9u2) ...
-Sélection du paquet postgresql-client précédemment désélectionné.
-Préparation du dépaquetage de .../08-postgresql-client_9.6+181+deb9u2_all.deb ...
-Dépaquetage de postgresql-client (9.6+181+deb9u2) ...
-Sélection du paquet postgresql-contrib-9.6 précédemment désélectionné.
-Préparation du dépaquetage de .../09-postgresql-contrib-9.6_9.6.10-0+deb9u1_i386.deb ...
-Dépaquetage de postgresql-contrib-9.6 (9.6.10-0+deb9u1) ...
-Sélection du paquet sysstat précédemment désélectionné.
-Préparation du dépaquetage de .../10-sysstat_11.4.3-2_i386.deb ...
-Dépaquetage de sysstat (11.4.3-2) ...
-Paramétrage de libpq5:i386 (9.6.10-0+deb9u1) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-Paramétrage de postgresql-client-common (181+deb9u2) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u6) ...
-Paramétrage de postgresql-common (181+deb9u2) ...
-Adding user postgres to group ssl-cert
-
-Creating config file /etc/postgresql-common/createcluster.conf with new version
-
-Creating config file /etc/logrotate.d/postgresql-common with new version
-Building PostgreSQL dictionaries from installed myspell/hunspell packages...
-Removing obsolete dictionary files:
-Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/system/postgresql.service.
-Paramétrage de libsensors4:i386 (1:3.4.0-4) ...
-Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
-Paramétrage de libpq-dev (9.6.10-0+deb9u1) ...
-Paramétrage de sysstat (11.4.3-2) ...
-
-Creating config file /etc/default/sysstat with new version
-update-alternatives: utilisation de « /usr/bin/sar.sysstat » pour fournir « /usr/bin/sar » (sar) en mode automatique
-Paramétrage de postgresql-client-9.6 (9.6.10-0+deb9u1) ...
-update-alternatives: utilisation de « /usr/share/postgresql/9.6/man/man1/psql.1.gz » pour fournir « /usr/share/man/man1/psql.1.gz » (psql.1.gz) en mode automatique
-Paramétrage de postgresql-9.6 (9.6.10-0+deb9u1) ...
-Creating new cluster 9.6/main ...
-  config /etc/postgresql/9.6/main
-  data   /var/lib/postgresql/9.6/main
-  locale fr_FR.UTF-8
-  socket /var/run/postgresql
-  port   5432
-update-alternatives: utilisation de « /usr/share/postgresql/9.6/man/man1/postmaster.1.gz » pour fournir « /usr/share/man/man1/postmaster.1.gz » (postmaster.1.gz) en mode automatique
-Paramétrage de postgresql (9.6+181+deb9u2) ...
-Paramétrage de postgresql-client (9.6+181+deb9u2) ...
-Paramétrage de postgresql-contrib-9.6 (9.6.10-0+deb9u1) ...
-Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u6) ...
-Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
-root@atom:/home/ericadmin# 
+etc...
+root@atom:/home/ericadmin#
 ```
 
 Lancement  du serveur Postgresql et configuration pour un lancement automatique au démarrage de la machine:
-> systemctl start postgresql
-systemctl enable postgresql
-```
+
+```shell
 root@atom:/home/ericadmin# systemctl start postgresql
 root@atom:/home/ericadmin# systemctl enable postgresql
 Synchronizing state of postgresql.service with SysV service script with /lib/systemd/systemd-sysv-install.
 Executing: /lib/systemd/systemd-sysv-install enable postgresql
 root@atom:/home/ericadmin#
 ```
+
 Nous allons nous connecter sous le user "postgres" pour configurer notre serveur de base de données et créer la base initiale pour **gogs**, ainsi que l'utilisateur **gogs**..
 
 Voici les données que nous allons utiliser:
-> gestionnaire principal de la base de données postgres: postgres
-> mot de passe correspondant : ****
-> utilisateur de la base de données postgres:  git 
-> mot de passe de l'utlisateur git dans postgres: ****
-> base de données postgres, appartenant à l'utilisateur git de postgres: gogsdb
-```
+
+* gestionnaire principal de la base de données postgres: postgres
+* mot de passe correspondant : ****
+* utilisateur de la base de données postgres:  git
+* mot de passe de l'utlisateur git dans postgres: ****
+* base de données postgres, appartenant à l'utilisateur git de postgres: gogsdb
+
+```shell
 root@atom:/home/ericadmin# su - postgres
-postgres@atom:~$ 
+postgres@atom:~$
 ```
+
 Nous allons lancer le shell *postgres* qui nous permettra de configurer notre base:
 
 ```shell
@@ -515,66 +413,60 @@ Saisissez « help » pour l'aide.
 
 postgres=#
 ```
+
 Création de l'utilisateur *git* ainsi que le *mot de passe* pour cet utilisateur:
-```
+
+```shell
 postgres=# CREATE USER git CREATEDB;
 CREATE ROLE
 postgres=# \password git
 Saisissez le nouveau mot de passe : ****
 Saisissez-le à nouveau : ****
-postgres=# 
+postgres=#
 ```
+
 Remplacez bien sûr les **** par un vrai mot de passe et notez le bien soigneusement.
 
 Création de la base de donnée et vérification:
-```
+
+```shell
 postgres=# CREATE DATABASE gogsdb OWNER git;
 CREATE DATABASE
 postgres=# \du
                                              Liste des rôles
- Nom du rôle |                                    Attributs                                    | Membre de 
+ Nom du rôle |                                    Attributs                                    | Membre de
 -------------+---------------------------------------------------------------------------------+-----------
  git         | Créer une base                                                                  | {}
  postgres    | Superutilisateur, Créer un rôle, Créer une base, Réplication, Contournement RLS | {}
 
 postgres=#  \l
                                   Liste des bases de données
-    Nom    | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès     
+    Nom    | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès
 -----------+--------------+----------+-----------------+--------------+-----------------------
- gogsdb    | git          | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
- postgres  | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
+ gogsdb    | git          | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  |
+ postgres  | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  |
  template0 | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
            |              |          |                 |              | postgres=CTc/postgres
  template1 | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
            |              |          |                 |              | postgres=CTc/postgres
 (4 lignes)
 
-postgres=# 
-
+postgres=#
 ```
-Voilà, nous avons installé le serveur de base de données (postgres), la base de données nécessaire à *gogs* (gogsdb), ainsi que l'utilisateur *git* (au sein de la base de données) qui pourra gérer les données de **gogs**. 
 
-### Création de l'utilisateur *git* au sein du système
-> commande adduser
-Avant, n'oubliez pas de repasser sous utilisateur *root* en tapant *Ctrl D*
-```
-root@atom:/home/ericadmin# adduser --disabled-login --gecos 'Gogs' git
-Ajout de l'utilisateur « git » ...
-Ajout du nouveau groupe « git » (1001) ...
-Ajout du nouvel utilisateur « git » (1001) avec le groupe « git » ...
-Création du répertoire personnel « /home/git »...
-Copie des fichiers depuis « /etc/skel »...
-root@atom:/home/ericadmin# 
-```
+Voilà, nous avons installé le serveur de base de données (postgres), la base de données nécessaire à *gogs* (gogsdb), ainsi que l'utilisateur *git* (au sein de la base de données) qui pourra gérer les données de **gogs**.
+
 ### Création d'un répertoire réservé au binaire *gogs* appartenant à l'utilisateur  *git*
 
-```
+```shell
 root@atom:/home/ericadmin# su - git
 git@atom:~$ mkdir -p /home/git/bin
-git@atom:~$ 
+git@atom:~$
 ```
+
 ### Téléchargement du binaire *gogs* dans notre répertoire nouvellement créé
-```
+
+```shell
 git@atom:~$ cd bin
 git@atom:~/bin$ wget https://dl.gogs.io/0.11.66/gogs_0.11.66_linux_386.tar.gz
 --2018-11-29 14:12:26--  https://dl.gogs.io/0.11.66/gogs_0.11.66_linux_386.tar.gz
@@ -584,18 +476,19 @@ requête HTTP transmise, en attente de la réponse… 200 OK
 Taille : 20296268 (19M) [application/x-gzip]
 Sauvegarde en : « gogs_0.11.66_linux_386.tar.gz »
 
-gogs_0.11.66_linux_386.tar.gz        100%[====================================================================>]  19,36M  6,65MB/s    in 2,9s    
+gogs_0.11.66_linux_386.tar.gz        100%[====================================================================>]  19,36M  6,65MB/s    in 2,9s
 
 2018-11-29 14:12:30 (6,65 MB/s) — « gogs_0.11.66_linux_386.tar.gz » sauvegardé [20296268/20296268]
 
-git@atom:~/bin$ 
+git@atom:~/bin$
 ```
+
 Mon serveur est en i386, et pas en amd64: prenez la version qui correspond au système d'exploitation que vous avez installé. Maintenant, c'est quasi exclusivement du amd64 . Mon serveur est vieux .... (mais vaillant :) )
 
 ### Décompression de l'archive et suppression de l'archive
 
-```
-git@atom:~/bin$ tar vxfz gogs_0.11.66_linux_386.tar.gz && rm gogs_0.11.66_linux_386.tar.gz 
+```shell
+git@atom:~/bin$ tar vxfz gogs_0.11.66_linux_386.tar.gz && rm gogs_0.11.66_linux_386.tar.gz
 ```
 Notez bien que toutes ces dernières étapes se font sous utilisateur **git**.
 
@@ -608,26 +501,35 @@ git@atom:~/bin/gogs$
 ```
 Bien, tous nos éléments sont en place, base de données, utilisateur *git*, programme *gogs*. Il nous reste à connecter le tout.
 Tapez :
+
 > ./gogs web
 
 et lancez votre navigateur sur le nom de votre serveur suivi de :3000
-Vous arriverez sur la page de configuration de *gogs*. Remplissez les champs avec les données précédemment entrées et que vous avez bien sûr notées ;). 
+
+Vous arriverez sur la page de configuration de *gogs*. Remplissez les champs avec les données précédemment entrées et que vous avez bien sûr notées ;).
+
 Confirmez votre choix, reconnectez-vous et ça y est:)
+
 Créez ensuite un *utilisateur* avec son mot de passe (à noter précieusement ...)
+
 Il nous reste à installer les fichiers de lancement *systemd* ou *init*; pour moi, *systemd*, la redirection *apache*, les certificats *letsencrypt*.
 
-### Création de l'enregistrement *bind* 
+### Création de l'enregistrement *bind*
+
 On ajoute un enregistrement CNAME
+
 > git	IN	CNAME atom.yojik.net.
 
 ### Création du fichier de configuration d'*apache*
-On crée le fichier */etc/apache2/sites-available/git.conf avec le contenu suivant:
-Il faut activer les modules *apache* suivants avec *a2enmod*, parce que il y aura une redirection du port 443 (https) vers le port 3000 interne (non -accessible de l'extérieur du serveur):
+
+* On crée le fichier */etc/apache2/sites-available/git.conf avec le contenu suivant:
+* Il faut activer les modules *apache* suivants avec *a2enmod*, parce que il y aura une redirection du port 443 (https) vers le port 3000 interne (non -accessible de l'extérieur du serveur):
+
 > proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html
 
 ```shell
 <VirtualHost *:80>
-    
+
     ServerAdmin webmaster@localhost
 
     ProxyPreserveHost On
@@ -637,38 +539,42 @@ Il faut activer les modules *apache* suivants avec *a2enmod*, parce que il y aur
     # Usage:
     # ProxyPass / http://[IP Addr.]:[port]/
     # ProxyPassReverse / http://[IP Addr.]:[port]/
-    # Example: 
+    # Example:
     ProxyPass / http://localhost:3000/
     ProxyPassReverse / http://localhost:3000/
 
     ServerName git.yojik.net
-    
+
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>
 ```
 
 On *relance *apache*
+
 > service apache2 restart
 
 
-### Création du certificat *letsencrypt* correspondant 
+### Création du certificat *letsencrypt* correspondant
 
 On lance la commande suivante:
+
 > certbot --apache
+
 Et on suit les instructions ...
 
 ### Création des fichiers de configuration *systemd*
+
 Il y a un exemple de fichier dans le sous-répertoire scripts/systemd de *gogs*
 
 ```shell
-root@atom:/etc/systemd/system# cat gogs.service 
+root@atom:/etc/systemd/system# cat gogs.service
 [Unit]
  Description=Gogs
  After=syslog.target
  After=network.target
  After=postgresql.service
- 
+
  [Service]
  # Modify these two values and uncomment them if you have
  # repos with lots of files and get an HTTP error 500 because
@@ -683,23 +589,28 @@ root@atom:/etc/systemd/system# cat gogs.service
  ExecStart=/home/git/bin/gogs/gogs web
  Restart=always
  Environment=USER=git HOME=/home/git/
- 
+
  [Install]
  WantedBy=multi-user.target
-root@atom:/etc/systemd/system# 
+root@atom:/etc/systemd/system#
 ```
+
 Pour le lancer automatiquement au démarrage et activer la prise en compte par *systemd*, lancer:
+
 > systemctl daemon-reload
+
 > systemctl enable gogs
 
 ```shell
 root@atom:/etc/systemd/system# systemctl enable gogs
 Created symlink /etc/systemd/system/multi-user.target.wants/gogs.service → /etc/systemd/system/gogs.service.
-root@atom:/etc/systemd/system# 
+root@atom:/etc/systemd/system#
 ```
 
 ### Tests
+
 Lancez les commandes suivantes pour vous assurer que tout est fonctionnel:
+
 ```shell
 root@atom:/etc/systemd/system# service gogs start
 root@atom:/etc/systemd/system# tail -f /var/log/daemon.log
@@ -728,9 +639,12 @@ Dec 16 17:16:33 atom gogs[2053]: 2018/12/16 17:16:33 [TRACE] Log path: /home/git
 Dec 16 17:16:33 atom gogs[2053]: 2018/12/16 17:16:33 [TRACE] Log Mode: File (Trace)
 Dec 16 17:16:33 atom gogs[2053]: 2018/12/16 17:16:33 [ INFO] Gogs on Yojik.net 0.11.66.0916
 ```
+
 Le lancement de *gogs* marche parfaitement.
 Connectez-vous à partir de votre navigateur sur *git.yojik.net* (ou plutôt l'url que vous avez définie auparavant); vous devez vous retrouver sur la page d'accueil de *gogs*.
 
-### Tests
+Voilà une capture d'écran de ce que vous devez obtenir (ici, avec le dépot de ce tutoriel)
 
+![Gogs: projet de tutoriel](Images/gogs1.png)
 
+### Tests

BIN
docs/Images/gogs1.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
docs\\14-quatorze.html


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 0
docs\\19-dixneuf.html


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.