Outils pour utilisateurs

Outils du site


nethserver_101_cahier_09_duplicator_migration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nethserver_101_cahier_09_duplicator_migration [2019-08-06 19:15] michelandrenethserver_101_cahier_09_duplicator_migration [2025-01-12 19:30] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +\\ 
 +[[cours_nethserver_101|{{ Images_Cahier-101-09-0000.png?650 }}]]
 +\\ 
 +====== Description générale ======
  
 +Le **Cahier-09** du cours **NethServer-101** décrit la sauvegarde et la récupération d'un site WordPress avec l'extension **Duplicator**.
 +
 +Nous avons un Serveur SME physique //dorgee.micronator-101.com// **SOURCE** qui héberge un site WordPress-5.1 et dans lequel nous avons déjà installé l'extension //Duplicator//. Nous créerons un "Paquet" //(sauvegarde par Duplicator)// du site SOURCE incluant sa base de données MySQL. Nous restaurerons ce "Paquet" sur un serveur virtuel LOCAL //tchana.micronator-dev.net// **DESTINATION**.
 +
 +{{Images_Cahier-101-03-005.png?25}} Cette marche à suivre peut aussi bien servir pour la création d'un clone d'un site Web LOCAL/virtuel vers un site sur une quincaillerie physique que l'inverse, c.à-d. physique vers LOCAL/virtuel.
 +
 +{{Images_Cahier-101-03-003.png?22}} L'extension //Duplicator// est particulièrement intéressante pour créer un clone d'un site afin de pouvoir vérifier de nouvelles extensions, thèmes ou mises à jour __sans compromettre l'intégrité du site original__.
 +
 +{{Images_Cahier-101-03-006.png?25}} La limite pour une sauvegarde en utilisant la version gratuite de l'extension //Duplicator// est de //2Go//.
 +
 +===== Extension Duplicator =====
 +
 +//Référence:// [[https://fr-ca.wordpress.org/plugins/duplicator/|https://fr-ca.wordpress.org/plugins/duplicator/]].
 +
 +{{ Images_Cahier-101-09-000.png?400}}
 +//Duplicator// permet aux administrateurs WordPress de migrer, copier ou cloner un site d’un emplacement à un autre. L’extension peut aussi servir d’outil de sauvegarde basique. //Duplicator// est compatible avec le remplacement des chaînes sérialisées //(base64 ou non)//. Si vous devez déplacer ou sauvegarder WordPress, cette extension vous aidera à le faire simplement.
 +\\
 +
 +==== Duplicator vous permet de: ====
 +
 +  - Déplacer un site d’un domaine à un autre ou d’un hébergeur à un autre.
 +  - Récupérer un site en ligne et le restaurer en LOCAL pour des tests/développements.
 +  - Sauvegarder manuellement un site.
 +  - Dupliquer un site en production vers un site de pré-production et vice-versa.
 +  - "Packager" un site WordPress entier pour le ré-utiliser ou le distribuer.
 +
 +{{Images_Cahier-101-03-005.png?25}} Contrairement à d'autres systèmes de sauvegardes et restaurations, //Duplicator// est entièrement gratuit et la version //Pro// n'impose aucune limite quant à la taille du site à sauvegarder.
 +
 +=== Déplacement et sauvegarde ===
 +
 +//Duplicator// crée un "Paquet" qui inclut le contenu du site, sa base de données, les thèmes, extensions et fichiers de WordPress dans une ''archive zip''. Ce Paquet peut ensuite être utilisé pour restaurer un site à l’emplacement de votre choix. Déplacez-le sur le même serveur, sur un autre serveur ou sur n’importe quel emplacement où l’on pourrait installer un site WordPress.
 +
 +=== Améliorez vos processus ===
 +
 +//Duplicator// peut également éliminer les tâches répétitives qui consistent à installer un thème, des extensions ou intégrer du contenu de base. Plutôt que de le faire manuellement, configurez un seul site que vous transformerez en Paquet. Ensuite, vous n’aurez plus qu’à l’installer pour créer des sites pré-configurés! Les concepteurs Web et les développeurs peuvent gagner du temps en créant plusieurs versions de Paquets en fonction des "bases" de sites qu’ils utilisent régulièrement.
 +
 +=== À prendre en considération ===
 +
 +{{Images_Cahier-101-03-005.png?25}} Les logiques de sauvegarde, déplacement, restauration et migration de WordPress sont très complexes. Il est impossible de connaître chaque configuration système.
 +
 +=== Avertissement ===
 +
 +{{Images_Cahier-101-03-006.png?25}} Cette extension demande un minimum de connaissances techniques. Si vous envisagez de déplacer ou sauvegarder WordPress, vous le faites à vos propres risques et nous vous conseillons alors de sauvegarder vos fichiers et votre base de données dans un premier temps. Si vous débutez avec WordPress ou que vous n’êtes pas à l’aise avec l’informatique, nous vous suggérons de demander l’aide d’un professionnel pour votre première utilisation de l’extension.
 +
 +=== Répertoire wp-snapshots ===
 +
 +Ce répertoire a déjà été dans le [[nethserver_101_cahier_06_nethserver_wordPress|Cahier-06]]: //NethServer & WordPress//, section //Installation d'une extension & d'un thème// au paragraphe //Répertoire de stockage//.
 +
 +===== Cours NethServer-101 =====
 +
 +Le //Cours NethServer-101//, se voulant une base solide pour la création d'un site de **Commerce en ligne**, comprend plusieurs cahiers:
 +
 +  - [[nethserver_101_cahier_01_linux|Cahier-01]]: -> Les bases de Linux.
 +  - [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis|Cahier-02]]: -> Installation et configuration des logiciels prérequis sur le poste de travail.
 +  - [[nethserver_101_cahier_03_creation_un_serveur_virtuel|Cahier-03]]: -> Création d'un Serveur NethServer virtuel.
 +  - [[nethserver_101_cahier_04_local_certificat_let_encrypt|Cahier-04]]: -> Serveur NethServer LOCAL & Let's Encrypt.
 +  - [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver|Cahier-05]]: -> FAI, modem VDSL, domaine FQDN(( **FQDN**: Dans le //DNS//, un Fully Qualified Domain Name //(FQDN, ou nom de domaine complètement qualifié)// est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence //DNS// en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le //FQDN// est ponctué par un point final.\\ 
 +//Référence:// [[https://fr.wikipedia.org/wiki/Fully_qualified_domain_name|https://fr.wikipedia.org/wiki/Fully_qualified_domain_name]]. \\ \\ )) et Serveur NethServer physique.
 +  - [[nethserver_101_cahier_06_nethserver_wordPress|Cahier-06]]: -> Installation de WordPress.
 +  - [[nethserver_101_cahier_07_nethserver_wordPress_wordfence|Cahier-07]]: -> Installation de l'extension de sécurité Wordfence.
 +  - [[nethserver_101_cahier_08_woocommerce_paypal_stripe|Cahier-08]]: -> WooCommerce, comptes chez Stripe et   PayPal pour les paiements en ligne.
 +  - [[nethserver_101_cahier_09_duplicator_migration|Cahier-09]]: -> Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator.
 +  - [[nethserver_101_cahier_10_mandataire_inverse|Cahier-10]]: -> Serveur mandataire inversé.
 +  - [[nethserver_101_cahier_11_nethserver_backuppc|Cahier-11]]: -> Sauvegarde/restauration avec BackupPC.
 +
 +==== Cours NethServer-201 ====
 +
 +Le //Cours NethServer-201// décrit l'installation et la configuration d'applications sur un serveur NethServer.
 +
 +  - [[nethserver_201_cahier_01_nethserver_et_dolibarr|Cahier-201-01]]: -> Dolibarr.
 +  - [[nethserver_201_cahier_02_odoo_12|Cahier-201-02]]: -> Odoo-12.
 +  - [[nethserver_201_cahier_03_mediawiki|Cahier-201-03]]: -> MediaWiki.
 +  - [[nethserver_201_cahier_04_dokuwiki|Cahier-201-04]]: -> DokuWiki.
 +  - [[nethserver_201_cahier_05_moodle|Cahier-201-05]]: -> Moodle.
 +  - [[nethserver_201_cahier_06_proxmox|Cahier-201-06]]: -> Proxmox.
 +  - [[nethserver_201_cahier_07_flectra|Cahier-201-07]]: -> Flectra.
 +
 +==== Logiciels ====
 +
 +Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence //GPL//; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.
 +
 +==== But final ====
 +
 +Après avoir suivi le //Cours NethServer-101//, vous posséderez un site de //Commerce en ligne// fiable et hautement sécuritaire. De plus, vous pourrez utiliser un clone de votre site, sur un //Serveur NethServer// virtuel roulant sur votre poste de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de votre site en ligne.
 +
 +{{ NS-101_001_Diagramme.png?500 }}
 +
 +===== Particularités de ce document =====
 +
 +==== Notes au lecteur ====
 +
 +<nowiki>*</nowiki> Les captures d'écrans ne sont que des références.\\
 +<nowiki>**</nowiki> Les informations écrites ont préséance sur celles retrouvées dans les captures d'écrans. Veillez vous référer aux différents tableaux lorsque ceux-ci sont présents.\\ 
 +<nowiki>***</nowiki> Une capture d'écran avec une accentuation en magenta indique qu'il faut remplacer cette distinction par vos propres paramètres ou implique un choix laissé à votre appréciation.
 +
 +==== Conventions ====
 +
 +{{Images_icone-201-001_doigt.png?22}} Manipulation, truc ou ruse pour se tirer d'embarras.\\
 +{{Images_icone-201-002_Lumiere.png?25}} Une recommandation ou astuce.\\
 +{{Images_icone-201-003_Note.png?25}} Une note.\\
 +{{Images_icone-201-004_Triangle.png?25}} Une étape, note ou procédure à surveiller.\\
 +{{Images_icone-201-005_Non-termine.png?25}} Paragraphe non complété ou non vérifié.\\
 +{{Images_icone-201-006_Securite.png?25}} Danger pour la sécurité du système.
 +
 +Toutes les commandes à la console ou à travers //PuTTY// sont précédées d'une invite qui est toujours présente.
 +
 +<file>
 +[root@dorgee ~]# ping 10.10.10.75 -c1
 +
 +PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data.
 +64 bytes from 10.10.10.75: icmp_seq=1 ttl=64 time=1.63 ms
 +
 +--- 10.10.10.75 ping statistics ---
 +1 packets transmitted, 1 received, 0% packet loss, time 0ms
 +rtt min/avg/max/mdev = 1.639/1.639/1.639/0.000 ms
 +[root@dorgee ~]#
 +</file>
 +
 +<WRAP box round>
 +<file>
 +Commande à exécuter si ce n'est déjà fait.
 +</file>
 +</WRAP>
 +
 +<WRAP box>
 +<file>
 +Commande indiquée à titre d'information seulement.
 +</file>
 +</WRAP>
 +\\ 
 +
 +====== Environnement ======
 +
 +Le site de Commerce en ligne de //Micronator// est installé sur un Serveur SME physique, dans l'i-bay //mn-101//. L'adresse URL de notre site est: https://www.micronator-101.com.
 +
 +Nous allons migrer un Paquet, ou copie complète de notre site SOURCE, vers une machine virtuelle possédant une adresse IP privée. Nous utiliserons un hôte virtuel NethServer pour le site DESTINATION.
 +
 +Notre site SOURCE: [[https://www.micronator-101.com/|https://www.micronator-101.com]].\\ 
 +Notre site DESTINATION: [[https://www.micronator-dev.net/|https://www.micronator-dev.net/]].
 +
 +===== But de la migration =====
 +
 +Prendre le site sur le serveur __micronator-101.com__ et le dupliquer sur le serveur __micronator-dev.net__.
 +\\ 
 +\\
 +
 +{{ Images_Cahier-101-09-003.png?700 }}
 +\\
 +{{Images_Cahier-101-03-005.png?25}} Le site WordPress SOURCE peut aussi bien provenir d'un Serveur NethServer que d'un Serveur SME et être physique ou virtuel. Voir la section [[nethserver_101_cahier_09_duplicator_migration#Répertoire wp-snapshots]] pour la préparation du répertoire des Paquets //Duplicator//.
 +\\ 
 +
 +===== Particularités du site SOURCE =====
 +
 +  - Le site SOURCE est hébergé dans l'i-bay ''mn-101'' et le site de DESTINATION le sera dans le répertoire ''/var/lib/nethserver/vhost/devnet''.
 +  - Nous avons toujours utilisé des liens relatifs pour les images contenues dans les pages et articles; ''/Ut/images/toto.jpg'' au lieu de ''http://www.micronator-101.com/Ut/images/toto.jpg''.
 +  - Nous avons aussi utilisé des liens relatifs à l'intérieur de certaines pages contenant des liens vers d'autres pages de notre site. //(Conditions d'utilisation, Conditions de vente, Vie privée...)//
 +  - L'extension //WooCommerce// utilise des liens FQDN //(Fully Qualified Domain Name)// pour spécifier les pages des produits.
 +  - Pour des raisons de sécurité, tous les fichiers et répertoires dans la racine du site n'ont pas la permission d'écriture sauf ''wp-content'' et ''wp-snapshots''. Pour les même raisons, le fichier ''readme.html'' de WordPress a été déplacé au-dessus de la racine du site afin de ne pas pouvoir être lu par quiconque; ce fichier sera automatiquement recréer.
 +  - L'utilisateur "other" n'a absolument aucun droit ou permission sur aucun fichier ou répertoire du site complet.
 +  - Nous utilisons un fichier ''.htaccess'' dans le répertoire racine et nous avons une directive qui interdit la lecture du contenu des répertoires mais le permet aux programmes du site.
 +  - L'extension //Wordfence Security// protège notre site.
 +
 +{{Images_Cahier-101-03-006.png?25}} Il faudra tenir compte de toutes ces particularités lors de la génération/récupération de la sauvegarde.
 +
 +==== Site original SOURCE ====
 +
 +<WRAP centeralign>[[http://www.micronator-101.com/|http://www.micronator-101.com]]</WRAP>
 +
 +{{ Images_Cahier-101-09-004.png?600 }}
 +\\ 
 +
 +<WRAP column 45%>
 +===== Serveur SOURCE =====
 +
 +Nous utilisons comme SOURCE un serveur physique qui roule présentement WordPress-5.1 et qui est branché directement à l'Internet.
 +
 +^Paramètre^Valeur^
 +|Distribution|SME-9.2|
 +|Domaine|micronator-101.com|
 +|Mode|serveur & passerelle|
 +|Nom du serveur|dorgee.micronator-101.com|
 +|I-bay|/home/e-smith/files/ibays/mn-101/|
 +|Adresses IP|statiques - 206.248.138.152 / 192.168.1.1|
 +</WRAP>
 +<WRAP column 45%>
 +===== Serveur DESTINATION =====
 +
 +Ce serveur n'est pas relié directement à l'Internet mais utilise la passerelle 192.168.1.1 pour y accéder.
 +\\ 
 +\\ 
 +^Paramètre^Valeur^
 +|Distribution|NethServer-7.6.1810|
 +|Domaine|micronator-dev.net|
 +|Mode|irrélevant|
 +|Nom du serveur| tchana.micronator-dev.net|
 +|Rép. d'installation|/var/lib/nethserver/vhost/devnet/|
 +|Adresses IP|statiques - 192.168.1.75 / 10.10.10.75|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Marche à suivre =====
 +
 +  - Installer l'extension //Duplicator// sur le Serveur SME SOURCE.
 +  - Exécuter la sauvegarde du site SOURCE.
 +  - Télécharger la sauvegarde et le script ''installer.php'' sur le poste de de travail.
 +  - Supprimer le cache et les fichiers réservés générés lors de la création du Paquet du site SOURCE.
 +  - Si ce n'est déjà fait, créer le domaine //micronator-dev.net// sur le Serveur NethServer DESTINATION.
 +  - Modification des paramètres de la carte réseau du poste de travail.
 +  - Insérer les CNAME de DESTINATION dans le fichier ''hosts'' du poste de travail.
 +  - Donner le droit d'écriture au répertoire ''/var/lib/nethserver/vhost/devnet'' de DESTINATION.
 +  - Téléverser la sauvegarde et le script ''installer.php'' depuis le poste de travail vers le serveur DES­TI­NA­TION.
 +  - Créer et configurer une nouvelle base de données MariaDB 10.2 avec le même nom, les mêmes uti­li­sa­teur et mot de passe que ceux du serveur SOURCE sur le serveur de DESTINATION. //(On pourrait tout aussi bien utiliser d'autres valeurs.)//
 +  - Lancer le script ''installer.php'' pour exécuter la migration du Paquet //Duplicator//.
 +  - Supprimer la Paquet, le script ''installer.php'' et les fichiers réservés de la sauvegarde du site DESTINATION.
 +  - Vérifier le fichier ''.htaccess''.
 +  - Vérifier le fichier ''wordfence-waf.php''.
 +  - Enlever le droit d'écriture au répertoire ''/var/lib/nethserver/vhost/devnet'' de DESTINATION.
 +  - Installer l'extension //Velvet Blues Update URLs// pour changer tous les liens qui n'auraient pas été ajustés.
 +  - Vérifier et, si nécessaire, ajuster tous les menus, widgets, liens, boutons, pages, articles, pied de page, etc...
 +  - Créer une sauvegarde //Duplicator// du nouveau site DESTINATION.
 +  - Pour une machine virtuelle du serveur DESTINATION, on peut prendre un instantané du Serveur NethServer.
 +\\ 
 +
 +====== Extension Duplicator ======
 +
 +Si ce n'est déjà fait, la présente section décrit l'installation de //Duplicator// __sur un Serveur <wrap em>SME-8.x/9.x</wrap>__.
 +
 +===== Répertoire wp-snapshots =====
 +
 +==== Pour un Serveur SME ====
 +
 +Pour stocker les sauvegardes //(Paquets)//, l'installation de l'extension //Duplicator// voudra créer un dossier dans le répertoire racine hébergeant notre site WordPress sur le Serveur SME SOURCE.
 +
 +{{Images_Cahier-101-03-003.png?22}} Sur un Serveur SME, le répertoire ''html'' d'une i-bay n'a pas de droit d'écriture et ainsi aucune extension n'a le droit de créer un fichier ou un répertoire directement dans la racine du site. On doit donc créer le répertoire de stockage des sauvegardes avant l'installation de Duplicator.
 +
 +On crée le répertoire //(ajuster pour une autre i-bay)//.
 +
 +<file>
 +[root@source ~]# mkdir -p /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp
 +
 +[root@source ~]#
 +</file>
 +
 +On ajuste __R__écursivement le propriétaire et le groupe.
 +
 +{{Images_Cahier-101-03-006.png?25}} I-bay Primary = __admin:shared__ et toutes les autres i-bays = __admin:www__.
 +
 +<file>
 +[root@source ~]# chown -R admin:www /home/e-smith/files/ibays/mn-101/html/wp-snapshots
 +
 +[root@source ~]#
 +</file> 
 +
 +On ajuste __R__écursivement les droits.
 +
 +<file>
 +[root@source ~]# chmod 2770 -R /home/e-smith/files/ibays/mn-101/html/wp-snapshots
 +
 +[root@source ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@source]# ls -alsd /home/e-smith/files/ibays/mn-101/html/wp-snapshots
 +
 +4 drwxrws--- 3 admin www 4096 8 mars  22:42 /home/e-smith/files/ibays/mn-101/html/wp-snapshots/
 +[root@source]#
 +</file>
 +\\ 
 +
 +==== Installation ====
 +
 +<WRAP column 30%>
 +**Tableau de bord WordPress -> Extensions -> Ajouter ->** //**Mot clé**//  **-> Duplicator -> Installer**.
 +|{{ Images_Cahier-101-09-005.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +On entre les informations demandées **-> Continuer**.
 +|{{ Images_Cahier-101-09-006.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +\\ 
 +**Activer**.
 +|{{ Images_Cahier-101-09-007.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 30%>
 +//Duplicator// est installée et activée.
 +</WRAP>
 +<WRAP column 60%>
 +|{{Images_Cahier-101-09-008.png?500 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +==== Propriétaire, groupe, droits et permissions ====
 +
 +Nous avons installé une nouvelle extension. Il faut ajuster le propriétaire, le groupe, les droits et permissions pour l'i-bay complète.
 +
 +{{Images_Cahier-101-03-006.png?25}} Ajuster selon l'i-bay utilisée.
 +
 +<file>
 +[root@source ~]# droits_ibay.sh mn-101
 +
 +Vous avez bien spécifié l'i-bay:  "/home/e-smith/files/ibays/mn-101"?  o/n [o]: [Entrée]
 +...
 + 4 drwxrws---  7 admin shared  4096 10 oct.  13:54 wp-content
 +
 + 4 drwxrws---  3 admin shared  4096 10 oct.  13:54 wp-snapshots
 +...
 +[root@source ~]#
 +</file>
 +
 +{{Images_Cahier-101-03-005.png?25}} Il faut que le groupe ait le droit d'écriture //(<wrap em>w</wrap>)// dans les arborescences ''wp-content'' et ''wp-snapshots''.\\ 
 +Pour le script des droits et permissions, voir:  [[https://www.micronator.org/affaires/script-des-droits-permissions/|https://www.micronator.org/affaires/script-des-droits-permissions/]]
 +
 +==== Configuration ====
 +
 +{{Images_Cahier-101-03-005.png?25}} La configuration de l'extension //Duplicator// est identique pour un site WordPress roulant sur un Serveur NethServer ou sur un Serveur SME sauf pour l'utilitaire ''mysqldump'' qui devient //mysqldump<wrap em>102</wrap>// pour un Serveur NethServer, car sur tous nos Serveurs NethServer nous utilisons la //Collection MariaDB 10.2//.
 +
 +<WRAP column 35%>
 +<nowiki>-</nowiki> L'installation a créé un nouveau sous-menu sur le //Tableau de bord WordPress// de SOURCE.\\ 
 +<nowiki>-</nowiki> **Duplicator -> Outils**.
 +|{{ Images_Cahier-101-09-009.png?500 }}|
 +
 +//WordPress// est à la version__ 5.1__.
 +
 +//PHP// est à la version __5.6.40__.
 +
 +//MySQL// est à la version __5.1.73__.
 +
 +Le Chemin de //mysqldump// sera trouvé plus loin  sous l'onglet Paquets de SOURCE.
 +
 +''/usr/bin/mysqldump'' 
 +</WRAP>
 +<WRAP column 55%>
 +\\ 
 +<nowiki>-</nowiki> Cliquer les titres pour les dérouler.\\ 
 +<nowiki>-</nowiki> Tous les composants et paramètres de notre site SOUR­CE sont affichés.
 +|{{ Images_Cahier-101-09-010.png?500 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +<nowiki>-</nowiki> Onglet **Général**.
 +
 +<nowiki>-</nowiki> On prend les défauts.
 +
 +<nowiki>-</nowiki> Si on change un paramètre;
 +
 +**-> Enregistrer les réglages généraux**.
 +</WRAP>
 +<WRAP column 60%>
 +|{{ Images_Cahier-101-09-011.png?600 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +<nowiki>-</nowiki> Onglet **Paquets**.
 +
 +⦿ //**Mysqldump**//\\ 
 +Pour un Serveur SME, //Duplicator// a trouvé le bon chemin de ''mysqldump''.
 +
 +''/usr/bin/mysqldump'' 
 +
 +**Enregistrer les réglages du paquet**.
 +
 +On s'assure du succès de l'opération.
 +
 +|{{ Images_Cahier-101-09-012.png?200 }}|
 +</WRAP>
 +<WRAP column 60%>
 +|{{ Images_Cahier-101-09-013.png?600 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +====== Serveur SOURCE ======
 +
 +==== Duplicator sur un Serveur NethServer ====
 +
 +Pour l'nstallation de //Duplicator// sur un Serveur NethServer, voir le [[nethserver_101_cahier_06_nethserver_wordPress|Cahier-06]]: //NethServer & WordPress// à la section //Installation d'une extension & d'un thème// qui décrit l'installation et la configuration de l'extension //Duplicator//.
 +
 +===== Vérification de SOURCE par Duplicator =====
 +
 +{{ Images_Cahier-101-09-014.png?600}}
 +**Tableau de bord WordPress -> Duplicator -> Outils ->** onglet //**Diagnostics**// **-> Information**.
 +
 +On développe tous les menus.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +{{ Images_Cahier-101-09-015.png?600}}
 +On examine tous les cadres pour s'assurer que //Duplicator// n'affiche aucun avertissement ou erreur.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Validateur de scan ====
 +
 +{{ Images_Cahier-101-09-016.png?600}}
 +Cliquer **Lancer le scan de vérification d'intégrité** //(peut prendre un certain temps)//.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +<WRAP column 32%>
 +**OK** pour lancer les balayage.
 +</WRAP>
 +<WRAP column 58%>
 +|{{Images_Cahier-101-09-017.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-018.png?600}}
 +Le //Validateur// n'a trouvé aucun problème.
 +<WRAP clear></WRAP>
 +\\
 +\\
 +
 +===== Sauvegarde =====
 +
 +{{Images_Cahier-101-03-005.png?25}} Duplicator nomme une sauvegarde "Paquet".
 +
 +<WRAP column 45%>
 +\\ 
 +\\ 
 +**Tableau de bord -> Duplicator -> Paquets -> Créer un paquet**.
 +|{{ Images_Cahier-101-09-019.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> On peut ignorer l'avertissement.\\ 
 +<nowiki>-</nowiki> On ajuste le nom du Paquet.\\ 
 +<nowiki>-</nowiki> **[Ajouter des notes]** et on peut en ajouter une qui spécifie la raison de cette sauvegarde.
 +|{{ Images_Cahier-101-09-020.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-021.png?600}}
 +Dans le cadre //Archive//, on ne fait rien de spécial.
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-023.png?600}}
 +Si on déroule le menu //Installeur//, on peut entrer tout de suite le nom de la //**Base de Données**// et le nom de l'//**Utilisateur**//.
 +
 +{{Images_Cahier-101-03-005.png?25}} On peut laisser les autres champs vides et les remplir lors de la restauration.
 +\\ 
 +\\
 +
 +**-> Suivant** pour lancer le balayage
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 32%>
 +Le balayage est en cours.
 +</WRAP>
 +<WRAP column 58%>
 +|{{ Images_Cahier-101-09-024.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 45%>
 +\\ 
 +On peut ignorer **Fichiers** //Avertissement//.
 +|{{ Images_Cahier-101-09-025.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +Cocher le "**X**" et tous les fichiers **-> Ajouter les filtres et re-scanner**.
 +|{{ Images_Cahier-101-09-026.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 45%>
 +Ce filtre est disparu.
 +|{{ Images_Cahier-101-09-027.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +Cocher **Oui -> Création**.
 +|{{ Images_Cahier-101-09-028.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 32%>
 +<nowiki>-</nowiki> La sauvegarde est en assemblage.
 +
 +<nowiki>-</nowiki> __Gardez cette fenêtre ouverte pendant le processus d’assemblage__.
 +
 +<nowiki>-</nowiki> Peut prendre plusieurs minutes.
 +</WRAP>
 +<WRAP column 58%>
 +|{{ Images_Cahier-101-09-029.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +==== Téléchargement de l'archive et de l'Installeur ====
 +
 +<WRAP column 45%>
 +On clique **Installeur** pour télécharger le script d'installation qu'on sauvegarde sur le poste de travail.
 +|{{ Images_Cahier-101-09-030.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +On clique **Archive** pour télécharger la sauvegarde, qu'on met dans le même répertoire que l'//Installeur//, sur le poste de travail.
 +|{{ Images_Cahier-101-09-031.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-004.png?25}} Nous aurions pu utiliser //**Téléchargement en 1 clic**// qui revient au même résultat.\\ 
 +{{Images_Cahier-101-03-006.png?25}} Le fichier de l'//Installeur// __est différent pour chaque Paquet__, il faut toujours le télécharger __avec chaque "Paquet"__.
 +
 +
 +===== Fichiers téléchargés =====
 +
 +{{ Images_Cahier-101-09-032.png?600}}
 +Ces deux fichiers sont les seuls nécessaires pour une restauration ou une migration.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +Les différentes composantes de la sauvegarde sont dans le répertoire ''wp-snapshots'' du serveur SOURCE.
 +
 +<file>
 +[root@dorgee ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots
 +
 +total 984100
 +     4 drwxrws---  3 admin  www      4096  9 mars  00:24 .
 +     4 drwxr-s--- 10 admin  www      4096 27 févr. 07:19 ..
 +966832 -rw-r--r--  1 apache www 990030735  9 mars  00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_archive.zip
 + 15680 -rw-r--r--  1 apache www  16054009  9 mars  00:23 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_database.sql
 +    48 -rw-r--r--  1 apache www     45603  9 mars  00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_installer.php
 +     4 -rw-r--r--  1 apache www      3639  9 mars  00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253.log
 +  1512 -rw-r--r--  1 apache www   1545677  9 mars  00:20 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_scan.json
 +     4 -rw-r-----  1 admin  www       212 19 avril  2017 dtoken.php
 +     4 -rw-r-----  1 admin  www        16 19 avril  2017 .htaccess
 +     0 -rw-r-----  1 admin  www         0 19 avril  2017 index.php
 +     4 -rw-r-----  1 admin  www        39 19 avril  2017 robots.txt
 +     4 drwxrws---  2 admin  www      4096  9 mars  00:24 tmp
 +[root@dorgee ~]#
 +</file>
 +\\ 
 +
 +==== Nettoyage ====
 +
 +{{Images_Cahier-101-03-004.png?25}} Il n'est pas recommandé de conserver une sauvegarde sur un serveur. Nous en avons une copie sur la station de travail; on la supprime du serveur SOURCE.
 +
 +{{ Images_Cahier-101-09-033.png?600}}
 +**Tableau de bord WordPress -> Duplicator -> Outils -> Diagnostics ->** onglet **Information**.
 +
 +{{Images_Cahier-101-03-005.png?25}} Nous pourrions supprimer les fichiers en cliquant //**Supprimer les fichier d'installation**//, mais cette manipulation ne fonctionne pas toujours.
 +
 +{{Images_Cahier-101-03-003.png?22}} Au prochain paragraphe, on utilisera une autre méthode de suppression.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +//Notes de sécurité:// If the installer files do not successfully get removed with this action, then they WILL need to be removed manually through your hosts control panel, file system or FTP. Please remove all installer files listed above to avoid leaving open security issues on your server.
 +
 +{{Images_Cahier-101-03-008.png?25}} //Notes de sécurité:// Si les fichiers de l'installeur n'ont pas été supprimés avec succès avec cette action, ils DOIVENT être supprimés manuellement via le panneau de configuration de votre hôte, votre système de fichiers, //WinSCP//, //FileZilla// ou //FTP//. Veuillez supprimer tous les fichiers d'installation répertoriés ci-dessus pour éviter de laisser des __brèches de sécurité__ sur votre serveur.
 +
 +{{ Images_Cahier-101-09-034.png?600}}
 +<nowiki>-</nowiki> **Duplicator -> Paquets ->** cocher le Paquet à supprimer.
 +
 +<nowiki>-</nowiki> Dérouler le menu et choisir **Supprimer -> Appliquer**.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +<WRAP column 45%>
 +**OK**.
 +|{{ Images_Cahier-101-09-035.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +Patienter...
 +|{{ Images_Cahier-101-09-036.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-037.png?600}}
 +Au retour, //Duplicator// ne trouve plus le Paquet, il a été supprimé.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +On vérifie.
 +
 +<file>
 +[root@dorgee ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots
 +
 +total 24
 +4 drwxrws---  3 admin www 4096  9 mars  00:40 .
 +4 drwxr-s--- 10 admin www 4096 27 févr. 07:19 ..
 +4 -rw-r-----  1 admin www  212 19 avril  2017 dtoken.php
 +4 -rw-r-----  1 admin www   16 19 avril  2017 .htaccess
 +0 -rw-r-----  1 admin www    0 19 avril  2017 index.php
 +4 -rw-r-----  1 admin www   39 19 avril  2017 robots.txt
 +4 drwxrws---  2 admin www 4096  9 mars  00:24 tmp
 +[root@tchana ~]#
 +</file>
 +
 +<file>
 +[root@tchana ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp/
 +
 +total 8
 +4 drwxrws--- 2 admin www 4096  9 mars  00:24 .
 +4 drwxrws--- 3 admin www 4096  9 mars  00:40 
 +[root@dorgee ~]#
 +</file>
 +
 +Les fichiers du Paquet ont été supprimés et le cache a été vidé.
 +\\ 
 +\\ 
 +
 +====== Serveur DESTINATION et hôte virtuel ======
 +
 +===== Introduction =====
 +
 +==== Serveur virtuel ====
 +
 +Pour le serveur DESTINATION, on peut utiliser le même serveur virtuel que celui utilisé dans les **Cahiers** précédents. Il se comportera exactement comme un serveur physique, mais il n'est pas recommandé de l'utiliser pour les tests d'achat car il est sur le réseau LOCAL et notre réseau ne possède pas de serveur mandataire inversé. Toutes les manipulations de récupération/migration sont strictement identiques pour un serveur physique ou virtuel, LOCAL ou branché directement à l'Internet.
 +
 +==== Serveur physique ====
 +
 +On peut utiliser le [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver|Cahier-05]]: //VDSL, FQDN, Internet et NethServer// pour l'installation et la mise à jour d'une quincaillerie physique. La procédure d'installation d'un Serveur NethServer virtuel est exactement la même; au lieu d'insérer le CD/DVD dans le lecteur physique, on l'attache au lecteur virtuel du serveur DESTINATION, voir le [[nethserver_101_cahier_03_creation_un_serveur_virtuel|Cahier-03]]: //Création d'un Serveur NethServer virtuel//.
 +\\ 
 +
 +=== Mise à jour ===
 +
 +Mettre à jour le Serveur NethServer. Voir le chapitre Configuration du [[nethserver_101_cahier_03_creation_un_serveur_virtuel|Cahier-03]]: //Création d'un Serveur NethServer virtuel// ou le chapitre Configuration détaillée du [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver|Cahier-05]]: //VDSL, FQDN, Internet et NethServer//. Les procédures sont exactement les mêmes pour un serveur virtuel ou physique.
 +\\ 
 +
 +==== Collections utilisées ====
 +
 +Pour tous nos sites WordPress sur un Serveur NethServer, on utilise les //Collections PHP// et //MariaDB 10.2//. Voir le [[nethserver_101_cahier_06_nethserver_wordPress|Cahier-06]]: //NethServer & WordPress//.
 +
 +<file>
 +[root@tchana ~]# scl -l
 +
 +php56
 +php70
 +php71
 +php72
 +php73
 +rh-mariadb102
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +=== Collection PHP ===
 +
 +On utilise la //Collection PHP// et plus particulièrement la version //PHP-7.2//.
 +
 +On vérifie les paramètres.
 +
 +<file>
 +[root@tchana ~]# config show php72
 +
 +php72=configuration
 +    AllowUrlFopen=On
 +    ExposePhp=0
 +    MaxExecutionTime=30
 +    MaxFileUpload=20
 +    MaxInputTime=60
 +    MemoryLimit=250
 +    PostMaxSize=100
 +    UploadMaxFilesize=75
 +[root@tchana ~]#
 +</file>
 +
 +Les grandeurs doivent être de //250M//, //100MB// et //75M//.
 +
 +{{Images_Cahier-101-03-006.png?25}} Ces grandeurs peuvent être différentes, mais elles doivent être dans l'ordre de décroissance ci-dessous:\\ 
 +**<WRAP centeralign>
 +MemoryLimit  >  PostMaxSize  > UploadMaxFilesize.
 +</WRAP>**
 +\\ 
 +
 +=== Collection MariaDB 10.2 ===
 +
 +On utilise la //Collection MariaDB 10.2//.
 +
 +On vérifie la version.
 +
 +<file>
 +[root@tchana ~]# mysql102 --version
 +
 +/opt/rh/rh-mariadb102/root/usr/bin/mysql  Ver 15.1 Distrib 10.2.8-MariaDB, for Linux (x86_64) using  EditLine wrapper
 +[root@tchana ~]#
 +</file>
 +\\
 +
 +===== Hôte virtuel =====
 +
 +//Référence:// [[http://docs.nethserver.org/en/v7/virtual_hosts.html|http://docs.nethserver.org/en/v7/virtual_hosts.html]].\\ 
 +L'hébergement virtuel permet d'offrir plusieurs noms de domaine sur un seul serveur. Depuis l'interface Web de NethServer, à partir de la page //Gestion -> Hôtes virtuels//, il est possible de configurer des sites Web en tant qu'hôtes virtuels d'//Apache//.
 +\\ 
 +
 +==== Noms d'hôte virtuels (FQDN) ====
 +
 +Les //Noms d'hôtes virtuels// //(FQDN)// sont la liste des noms de domaines pleinement qualifiés associés à l'hôte virtuel. Les valeurs doivent être séparées par une "<wrap em>,</wrap>" //(virgule)//.
 +
 +Si l'option  //Créer une entrée sous la page "DNS > Alias du serveur" pour chaque nom d'hôte virtuel//  est activée sous  //Gestion -> Hôtes virtuels -> CRÉER NOUVEAU -> onglet Général -> Actions supplémentaires//, un alias pour le serveur est automatiquement créé sur la page //Configuration -> DNS -> Alias du serveur//, mais cet alias n’est utile que pour les clients qui utilisent NethServer en tant que serveur DNS.
 +\\ 
 +
 +==== Configuration d'une application Web ====
 +
 +Lorsqu'un nouvel hôte virtuel est créé, le répertoire ''/var/lib/nethserver/vhost/Nom-du-repertoire'' est également créé.
 +
 +==== FTP ====
 +
 +● {{Images_Cahier-101-03-003.png?22}} Pour un hôte virtuel, l'accès FTP est désactivé par défaut, __vous ne devez pas l'activer__, car son activation change le propriétaire **apache** du répertoire //Nom-du-repertoire de l'hôte virtuel// à celui de **ftp**. Ce changement occasionne des difficultés pour WordPress lors de sa mise à jour vers une version plus récente.\\ 
 +● {{Images_Cahier-101-03-005.png?25}} Le tableau de bord de WordPress se charge du téléchargement des fichiers.
 +\\ 
 +
 +===== Création DNS de l'hôte réel pour un 2e domaine =====
 +
 +SI ce n'est déjà fait, il nous faut créer un nom FQDN d'hôte réel avant de créer un hôte virtuel sinon, nous ne pourrons pas accéder à certains autres services de ce nouvel hôte.
 +
 +{{ Images_Cahier-101-09-038.png?600}}
 +**Configuration -> DNS ->** onglet  **Hôtes -> CRÉER NOUVEAU**.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +Lorsque coché, le paramètre //**wildcard dns record**// ci-dessous permettra l'accès à tous les CNAME du domaine tels que //mail//, //proxy//, //pda//, //wpad// etc...
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-039.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-040.png?400 }}|
 +{{Images_Cahier-101-03-004.png?25}} Ci-contre, pour //Nom d'hôte//, on utilise __micronator-dev.net__ sans le préfixe <wrap em>www</wrap>, car nous voulons avoir tous les CNAME en préfixe et c'est pourquoi on coche //wildcard dns record//. Cette subtilité est très importante surtout pour un serveur physique accessible depuis l'Internet ou si on utilise le module //Proxy inverse// sur le serveur principal pour accéder à un serveur LOCAL.
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Création de l'hôte de messagerie pour un 2e domaine =====
 +
 +Pour pouvoir accéder à //Webmail// en utilisant le FQDN de notre 2e domaine, il faut indiquer au Serveur NethServer que ce domaine est aussi un serveur de courrier électronique en créant un nouveau domaine de messagerie.
 +
 +**Configuration -> Courrier (Email) ->** onglet **Domaines -> CRÉER NOUVEAU**.
 +{{ Images_Cahier-101-09-041.png?600}}
 +On entre les information demandées.
 +
 +⦿ //**Distribution locale**//
 +
 +☑ //**Accepter des destinataires inconnus**// \\ 
 +Ce paramètre et //**Remettre à**// sont optionnels et sont laissés à votre discrétion.
 +
 +☐ //**Signer les messages sortant avec DomainKeys Identified Mail (DKIM)**// \\ 
 +Il est préférable de na pas cocher ce paramètre, car nous sommes sur un serveur LO­CAL.\\ 
 +Si ce serveur est directement branché à l'Internet il est alors fortement recommandé d'activer ce paramètre. Pour plus d'information, voir la section DKIM dans le [[nethserver_101_cahier_05_vdsl_fqdn_internet_et_nethserver|Cahier-05]]: //VDSL, FQDN, Internet et NethServer//.
 +
 +**-> SOUMETTRE**.
 +<WRAP clear></WRAP>
 +
 +{{ Images_Cahier-101-09-042.png?600}}
 +Le 2e domaine est maintenant un serveur de messagerie.
 +<WRAP clear></WRAP>
 +\\
 +
 +===== Création d'un hôte virtuel pour un 2e domaine =====
 +
 +Nous allons créer un hôte virtuel pour le 2e domaine afin de créer un répertoire pour pouvoir y installer un second WordPress qui sera entièrement dédié à ce 2e domaine. Nous utiliserons deux noms FQDN afin de pouvoir accéder à ce second WordPress en se rendant aux URL suivantes: micronator-dev.net et <wrap em>www</wrap>.micronator-dev.net.
 +
 +{{ Images_Cahier-101-09-043.png?600}}
 +**Gestion -> Hôtes virtuels -> CRÉER NOUVEAU**.
 +<WRAP clear></WRAP>
 +
 +==== Onglet Général ====
 +
 +{{Images_Cahier-101-03-005.png?25}} L'action //CRÉER NOUVEAU// est similaire à //Éditer//. La seule différence étant le paramètre //Actions supplémentaires// au bas du formulaire.
 +
 +{{ Images_Cahier-101-09-044.png?400}}
 +//**Nom**//\\ 
 +Un nom simple qui identifie la configuration de l'hôte virtuel.\\ 
 +Ce sera aussi le nom du répertoire racine du site Web pour cet hôte virtuel:
 +
 +<WRAP centeralign>
 +''/var/lib/nethserver/vhost/devnet''
 +</WRAP> 
 +
 +//**Description**//\\ 
 +Champ facultatif pour une brève description du site Web.
 +
 +//**Noms d'hôte virtuels (FQDN)**//\\ 
 +La liste des noms de domaines pleinement qualifiés  //(FQDN)// associés à l'hôte virtuel. Les valeurs doivent être séparées par une "<wrap em>,</wrap>" //(virgule)//. Les noms de notre hôte virtuel sont: //micronator-dev.net//,//<wrap em>www</wrap>.micronator-dev.net//.
 +
 +{{Images_Cahier-101-03-006.png?25}} Avec certains services de DNS dynamique, on ne peut employer le CNAME <wrap em>www</wrap>, mais on peut l'indiquer quand même et il pourra servir uniquement pour les PC sur le réseau LOCAL qui l'utiliseraient en tant que serveur mandataire //(proxy)//.
 +
 +☐ //**Autoriser l'accès uniquement pour les réseaux de confiance**//\\ 
 +Si coché, seuls les clients des réseaux de confiance //(verts ou du moins les non-rouge)// peuvent voir le site Web.
 +
 +<WRAP column 45%>
 +☐ //**Requiert une authentification HTTP**//\\ 
 +{{Images_Cahier-101-03-005.png?25}} Il faut cocher la case pour faire apparaître les champs: //Nom d'utilisateur// et //Mot de Passe//.
 +
 +Si vous cochez cette option, le site Web n'est visible que pour ceux qui fourniront le nom d'usager //devnet// //(le nom du répertoire racine qui sera créé pour le nouvel hôte virtuel)// et le **Mot de passe** exigé.
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-045.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 45%>
 +☐ //**Nécessite une connexion SSL cryptée**//\\ 
 +Si coché, le site Web est accessible uniquement via le protocole __https__.
 +
 +{{Images_Cahier-101-03-008.png?25}} Pour un serveur de production il est préférable de cocher ce paramètre afin d'avoir toujours une connexion sécuritaire chiffrée.
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-046.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +{{Images_Cahier-101-03-006.png?25}} Si notre serveur de test n'a pas de certificat d'une //CA reconnue//, les connexions ne seront jamais chiffrées.
 +\\
 +
 +☐ //**Root directory file listings**//\\ 
 +Coché, permet au serveur de générer une liste de répertoires pour un site Web si aucun fichier ''index.*'' n'est présent dans la page demandée.
 +
 +//**SSL/TLS certificate**//\\ 
 +Sélectionnez un certificat compatible avec les noms d'hôte de la liste //Noms d'hôte virtuels (FQDN)//.
 +
 +<WRAP column 45%>
 +☐ //**Enable FTP access**//\\ 
 +Pour un hôte virtuel qui hébergera un site WordPress, il n'est pas recommandé d'activer l'accès FTP, voir [[nethserver_101_cahier_09_duplicator_migration#Configuration d'une application Web]].
 +
 +**▼ Actions supplémentaires**
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-047.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +☐ //**Créer une entrée sous la page "DNS  >  Alias du serveur" pour chaque nom d'hôte virtuel**//\\ 
 +Si cette option est activée, un alias pour chacun des //Noms d'hôte virtuel (FQDN)// entrés est automatiquement créé sur la page "//Configuration -> DNS -> Alias du serveur//", mais ils ne sont utiles que pour les clients qui utilisent le serveur comme DNS.\\ 
 +{{Images_Cahier-101-03-005.png?25}} Il n'est pas nécessaire d'activer cette options, car __micronator-dev.net__ possède déjà une entrée sous "//Configuration -> DNS -> Hôtes//" et nous avons inséré __<wrap em>www</wrap>.micronator-dev.net__ ci-dessus sous "//Noms d'hôte virtuels (FQDN)//".
 +\\ 
 +
 +==== Onglet Bibliothèque d'applications PHP ====
 +
 +<WRAP column 45%>
 +☑ //**Activer l'accès web**// \\ 
 +{{Images_Cahier-101-03-006.png?25}} Lorsqu'un hôte virtuel est désactivé, il est impossible d'y accéder de quelque manière que ce soit. Par défaut, pour un hôte virtuel nouvellement créé, ce paramètre est activé.
 +
 +<wrap em>▼</wrap> //**Select the php Version for this Ibay**//\\ 
 +Cette option permet de sélectionner la version PHP qu'on désire utiliser pour cet hôte virtuel.
 +
 +⦿ On choisit la **PHP 72 version**.
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-048.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +==== Onglet Paramètres php ====
 +
 +Si vous avez besoin d'ajuster les paramètres de PHP, vous devez les ajuster dans cet onglet, les modifications ne sont valables que pour cet hôte virtuel seulement.
 +
 +<WRAP column 45%>
 +☑ //**Activer l'accès web**// \\ 
 +{{Images_Cahier-101-03-006.png?25}} Lorsqu'un hôte virtuel est désactivé, il est impossible d'y accéder de quelque manière que ce soit. Par défaut, pour un hôte virtuel nouvellement créé, ce paramètre est activé.
 +
 +☐ //**Autoriser l'accès PHP aux fichiers distants**// \\ 
 +{{Images_Cahier-101-03-008.png?25}} Lorsque la directive ''allow_url_fopen'' est activée, vous pouvez écrire des scripts PHP qui ouvrent des fichiers distants comme s'il s'agissait de fichiers locaux.
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-049.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +//**Mémoire disponible maximum (250 Mégaoctets)**// \\ 
 +Cette variable définit la quantité maximale de mémoire en octets qu'un script est autorisé à allouer. //Memory<nowiki>_</nowiki>limit// affecte également le téléchargement de fichier. D'une manière générale, //memory<nowiki>_</nowiki>limit// devrait être plus grand que //post<nowiki>_</nowiki>max_size//.
 +
 +//**Taille maximum autorisée des données envoyées (100 Mégaoctets)**//\\ 
 +Cette variable définit la taille maximale autorisée pour les publications //(post)//. Ce paramètre affecte également le téléchargement de fichiers. Pour télécharger des fichiers volumineux, cette valeur doit être supérieure à //uploadmax<nowiki>_</nowiki>filesize//. Si la limite de mémoire est activée par votre script de configuration, //memory<nowiki>_</nowiki>limit// affecte également le téléchargement de fichiers. D'une manière générale, //memory<nowiki>_</nowiki>limit// devrait être plus grand que //post<nowiki>_</nowiki>max_size//.
 +
 +**Taille maximum du fichier télécharger (75 Mégaoctets)**\\ 
 +Cette variable définit la taille maximale de téléchargement d'un fichier sur votre serveur.\\ 
 +{{Images_Cahier-101-03-006.png?25}} memory<nowiki>_</nowiki>limit (250M) > post<nowiki>_</nowiki>max<nowiki>_</nowiki>size (100M) > upload<nowiki>_</nowiki>max<nowiki>_</nowiki>filesize (75M).
 +
 +{{ Images_Cahier-101-09-050.png?300}}
 +//**Temps maximum d’exécution des scripts (défaut)**//\\ 
 +Cette variable définit la durée maximale, en secondes, pendant laquelle un script est autorisé à rouler avant d'être terminé par l'analyseur syntaxique.
 +
 +{{Images_Cahier-101-03-006.png?25}} Lors de l'assemblage, //Duplicator// pourrait manquer de temps pour terminer celui-ci. Voir //Temps d'exécution autorisé: 1:00// dans la capture d'écran ci-contre, mais il pourrait peut-être quand même terminer l'assemblage.\\ 
 +Aussi, lors de la restauration, //Duplicator// peut prendre un certain temps pour installer la nouvelle BD et surtout pour la conversion des liens URL. Il pourrait manquer de temps pour terminer ces tâches.
 +
 +{{Images_Cahier-101-03-003.png?22}} Il vaut mieux alors ajuster le temps d'exécution de PHP72 à __2 minutes__ //(120 secondes)// afin d'éviter tout problème.
 +
 +
 +//**Nombre maximum de fichier téléversé (défaut)**//\\ 
 +Cette variable définit le nombre maximum de fichiers pouvant être téléchargés simultanément.
 +
 +**-> SOUMETTRE** pour enregistrer toutes les modifications. //(Peut prendre un certain temps.)//
 +
 +{{ Images_Cahier-101-09-051.png?600}}
 +Notre hôte virtuel a été créé avec ses noms FQDN d'hôtes virtuels.
 +
 +{{Images_Cahier-101-03-006.png?25}} Si vous éditez cet hôte virtuel, vous noterez que le système ajoute un espace après les virgules qui séparent les noms FQDN entrés précédemment lors de création des hôtes virtuels à la page "//Gestion -> Hôtes virtuels -> CRÉER NOUVEAU//" dans le cadre du paramètre "//Noms d'hôte virtuel (FQDN)//".
 +
 +Nous avons entré:\\ 
 +● micronator-dev.net<wrap em>,</wrap>__www__.micronator-dev.net\\ 
 +mais lors de l'édition, ces noms d'hôtes apparaîtront avec un espace après la virgule de séparation:\\ 
 +● micronator-dev.net<wrap em>,</wrap> __www__.micronator-dev.net
 +\\ 
 +
 +===== Vérification =====
 +
 +==== Hôtes DNS ====
 +
 +{{ Images_Cahier-101-09-052.png?600}}
 +**Configuration -> DNS ->** onglet **Hôtes**.
 +
 +Les hôtes originaux DNS n'ont pas été affectés par la création d'un nouvel hôte virtuel.
 +<WRAP clear></WRAP>
 +
 +=== Alias du serveur ===
 +
 +{{ Images_Cahier-101-09-053.png?600}}
 +__Si vous avez coché__ //Créer une entrée sous la page "DNS  >  Alias du serveur"// pour chaque nom d'hôte virtuel au paragraphe //Actions supplémentaires//, un nouvel alias sera créé avec le préfixe __www__ si vous n'avez pas utilisé __www__.micronator-dev.net dans le cadre du paramètre //Noms d'hôte virtuel (FQDN)//.\\ 
 +{{Images_Cahier-101-03-006.png?25}} S'il n'y avait pas eu d'hôte réel micronator-dev.net à la page Configuration -> DNS ->  onglet Hôtes, un nouvel alias avec ce nom, sans le préfixe www, aurait aussi été créé.
 +
 +==== Hôte de messagerie ====
 +
 +{{ Images_Cahier-101-09-054.png?600}}
 +**Configuration -> Courrier (Email)**  ou //**Messagerie électronique**//  depuis mai 2019 **->** onglet **Domaines**.
 +
 +Les hôtes originaux de messagerie n'ont pas été affectés.
 +<WRAP clear></WRAP>
 +
 +==== Répertoire racine du site Web du 2e domaine ====
 +
 +On vérifie la création du répertoire de l'hôte virtuel; le répertoire ''devnet'' existe, mais il est complètement vide.
 +
 +<file>
 +[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet
 +
 +total 0
 +0 drwxr-sr-x 2 ftp  apache  6 13 févr. 13:16 .
 +0 drwxr-xr-x 3 root root   20 13 févr. 13:16 ..
 +[root@tchana ~]#
 +</file>
 +
 +
 +=== index.html ===
 +
 +On écrit un texte qui s'affichera lors de l'accès à l'URL: <nowiki>http[s]//[www.]micronator-dev.net</nowiki>.
 +
 +{{Images_Cahier-101-03-006.png?25}} Prendre tout le contenu de l'encadré pour la commande.
 +
 +<file>
 +cat > /var/lib/nethserver/vhost/devnet/index.html <<'EOT'
 +<html>
 +<head>
 +<meta content="text/html; charset=ISO-8859-1"
 +http-equiv="content-type">
 +<title></title>
 +</head>
 +<body>
 +<center>Allo le monde!</center><br>
 +</body>
 +</html>
 +EOT
 +
 +</file>
 +
 +On ajuste le propriétaire et le groupe.
 +
 +<file>
 +[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/index.html
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana ~]# ls -ls /var/lib/nethserver/vhost/devnet/index.html
 +
 +4 -rw-r--r-- 1 apache apache 170 13 févr. 18:46 /var/lib/nethserver/vhost/noip/index.html
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie le contenu.
 +
 +<file>
 +[root@tchana ~]# cat /var/lib/nethserver/vhost/devnet/index.html
 +
 +<html>
 +<head>
 +<meta content="text/html; charset=ISO-8859-1"
 +http-equiv="content-type">
 +<title></title>
 +</head>
 +<body>
 +<center>Allo le monde!</center><br>
 +</body>
 +</html>
 +[root@tchana ~]#
 +</file>
 +
 +=== Accès Web ===
 +
 +On vérifie l'accès à l'hôte virtuel de différentes manières.
 +
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Sans préfixe www.\\ 
 +<nowiki>-</nowiki> micronator-dev.net/.
 +|{{ Images_Cahier-101-09-055.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Avec préfixe www.\\ 
 +<nowiki>-</nowiki> www.micronator-dev.net/.
 +|{{ Images_Cahier-101-09-056.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Sans préfixe www, mais sécurisé.\\ 
 +<nowiki>-</nowiki> https://micronator-dev.net/.
 +|{{ Images_Cahier-101-09-057.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Avec préfixe www et sécurisé.\\ 
 +<nowiki>-</nowiki> https://www.micronator-dev.net/.
 +|{{ Images_Cahier-101-09-058.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +=== Suppression du fichier index.html ===
 +
 +Le bon fonctionnement de l'hôte virtuel a été vérifié, on supprime le fichier ''index.html'', car il aura préséance sur le fichier ''index.php'' du second WordPress.
 +
 +<file>
 +[root@tchana ~]# rm /var/lib/nethserver/vhost/devnet/index.html
 +
 +rm : supprimer fichier « /var/lib/nethserver/vhost/devnet/index.html » ? o
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +==== Paramètres PHP72 ====
 +
 +On affiche les paramètres de //PHP72//.
 +
 +<file>
 +[root@tchana ~]# config show php72
 +
 +php72=configuration
 +    AllowUrlFopen=On
 +    ExposePhp=0
 +    MaxExecutionTime=120
 +    MaxFileUpload=20
 +    MaxInputTime=60
 +    MemoryLimit=250
 +    PostMaxSize=100
 +    UploadMaxFilesize=75
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Préparation du répertoire devnet =====
 +
 +{{Images_Cahier-101-03-003.png?22}} On donne au groupe le droit d'écriture dans le répertoire Web de l'hôte virtuel afin que //Duplicator// puisse créer des répertoires dans la racine de notre site, c.-à-d. dans ''devnet'' lors de la restauration.
 +
 +<file>
 +[root@tchana ~]# chmod g+w /var/lib/nethserver/vhost/devnet/
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana ~]# ls -lsd /var/lib/nethserver/vhost/devnet/
 +
 +0 drwxrwsr-x 2 ftp apache 6  9 mars  09:58 /var/lib/nethserver/vhost/devnet/
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Base de données pour le second WordPress =====
 +
 +{{Images_Cahier-101-03-006.png?25}} On crée la base de données //(dans notre exemple, on la nomme ''MN101'')//.
 +
 +<file>
 +[root@tchana ~]# mysqladmin102 CREATE MN101
 +
 +[root@tchana ~]#
 +</file>
 +
 +{{Images_Cahier-101-03-006.png?25}} On entre dans la console //MariaDB-102//.
 +
 +<file>
 +[root@tchana ~]# mysql102
 +
 +Welcome to the MariaDB monitor.  Commands end with ; or \g.
 +Your MariaDB connection id is 28
 +Server version: 10.2.8-MariaDB MariaDB Server
 +
 +Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
 +
 +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 +
 +MariaDB [(none)]>
 +</file>
 +
 +On vérifie que la base de données ait bien été créée.
 +
 +<file>
 +MariaDB [(none)]> show databases;
 +
 ++--------------------+
 +| Database           |
 ++--------------------+
 +| DDNS               |
 +| MN101              |
 +| WPBD               |
 +| information_schema |
 +| mysql              |
 +| performance_schema |
 +| phpmyadmin         |
 ++--------------------+
 +7 rows in set (0,00 sec)
 +
 +MariaDB [(none)]>
 +</file>
 +\\ 
 +
 +==== Grant ====
 +
 +{{Images_Cahier-101-03-006.png?25}} Pour l'usager de la BD de WordPress, il faut choisir __un mot de passe robuste__; au moins 7 caractères, minuscules, majuscules, chiffres et signes non-alphanumériques. __Il ne faut pas prendre notre exemple de mot de passe__.
 +
 +On crée un usager pour notre base de données et on lui donne //(grant)// les permissions nécessaires.
 +
 +<file>
 +MariaDB [(none)]> grant all on MN101.* to usager_MN101@localhost identified by 'mdp_MN101';
 +
 +Query OK, 0 rows affected (0.00 sec)
 +
 +MariaDB [(none)]>
 +</file>
 +
 +Noter le nom de la base de données: "MN101", le nom de l'usager: "usager<nowiki>_</nowiki>MN101" et son mot de passe: '"mdp<nowiki>_</nowiki>MN101"; ils serviront plus tard dans //Duplicator//.\\ 
 +{{Images_Cahier-101-03-008.png?25}} __Il ne faut pas prendre nos paramètres, ils ne sont pas assez robustes__.
 +
 +Vous devez exécuter la commande ''FLUSH PRIVILEGES'' ou la commande en ligne ''mysqladmin102 flushprivileges'' pour indiquer à MariaDB qu'il doit recharger les droits.
 +
 +<file>
 +MariaDB [(none)]> FLUSH PRIVILEGES;
 +
 +Query OK, 0 rows affected (0.00 sec)
 +
 +MariaDB [(none)]>
 +</file>
 +
 +On vérifie les droits de l'usager.
 +
 +<file>
 +MariaDB [(none)]> show grants for  usager_MN101@localhost;
 +
 ++------------------------------------------------------------------------------------------+
 +| Grants for usager_MN101@localhost                                                                                   |
 ++------------------------------------------------------------------------------------------+
 +| GRANT USAGE ON *.* TO 'usager_MN101'@'localhost' IDENTIFIED BY PASSWORD '*BEB075ED0A4C05AB21866C4BAA23F5284D8CF90A' |
 +| GRANT ALL PRIVILEGES ON `MN101`.* TO 'usager_MN101'@'localhost'                                                      |
 ++------------------------------------------------------------------------------------------+
 +2 rows in set (0,00 sec)
 +
 +MariaDB [(none)]>
 +</file>
 +
 +On quitte la console MariaDB 10.2.
 +
 +<file>
 +MariaDB [(none)]> exit;
 +
 +Bye
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Propriétaire:groupe de /var/lib/nethserver/vhost/devnet =====
 +
 +On change le __propriétaire:groupe__ du répertoire ''/var/lib/nethserver/vhost/devnet'' __pour apache:apache__, sinon nous aurons des difficultés pour mettre à jour WordPress.
 +
 +<file>
 +[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie
 +
 +<file>
 +[root@tchana ~]# ls -alsd /var/lib/nethserver/vhost/devnet
 +
 +4 drwxrwsr-x 9 apache apache 4096 9 mars  10:26 /var/lib/nethserver/vhost/devnet
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Téléversement des fichiers =====
 +
 +==== Fichiers archive.zip et installer.php ====
 +
 +{{ Images_Cahier-101-09-059.png?600}}
 +Avec //WinSCP//, on se logue au serveur de DESTINATION. On y téléverse les fichiers pour la restauration dans ''/var/lib/nethserver/vhost/devnet/''.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Ajustement du propriétaire, groupe et permission ====
 +
 +On change le propriétaire et le groupe des fichiers.
 +
 +<file>
 +[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/*zip  /var/lib/nethserver/vhost/devnet/*php 
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet/
 +
 +total 966876
 +     0 drwxrwsr-x 2 apache  apache    101  9 mars  10:26 .
 +     0 drwxr-xr-x 4 root root         112 28 févr. 15:52 ..
 +966828 -rw-r--r-- 1 apache apache 990030735  9 mars  00:29 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_archive.zip
 +    48 -rw-r--r-- 1 apache apache     45603  9 mars  00:27 installer.php
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Poste de travail =====
 +
 +==== Fichier hosts ====
 +
 +Le FQDN de notre Serveur NethServer est //micronator-dev.net//. Vu que nous n'avons pas de serveur DNS sur notre réseau, il nous faut une façon quelconque pour pouvoir spécifier le nom de notre domaine afin que le navigateur puisse identifier son adresse IP sans devoir interroger un serveur DNS. C'est ici que le fichier hosts du poste de travail entre en jeu.
 +
 +La communication dans l'Internet se fait toujours par adresses IP et non pas avec les noms de domaines qui sont utilisés par les humains qui ont plus de facilité à retenir un nom qu'un numéro.
 +
 +Lorsque vous voulez vous rendre chez //google.com//, le navigateur ne connaît pas l'adresse IP de //google.com//. Il commence par regarder dans le fichier ''hosts'' du poste de travail si ce fichier contient une référence à //google.com//. Si oui, il utilise l'adresse IP contenu dans le fichier ''hosts''.
 +
 +Si le fichier ''hosts'' du poste de travail __n'a pas de référence pour le nom du domaine recherché__, le navigateur va demander à son serveur DNS s'il connaît //google.com//. Si son serveur DNS ne connaît pas le domaine en question, il demande au serveur DNS supérieur s'il connaît le domaine. Si le DNS supérieur n'a pas de référence pour le domaine, à son tour, il demande à son serveur DNS supérieur et ainsi de suite jusqu'au DNS tout en haut de l'échelle hiérarchique ''.com'' qui lui, avec ses confrères ''.org'', ''.net'', etc..., connaissent tous les noms de domaines de l'Internet.
 +
 +Une fois l'adresse IP trouvée, elle redescend l'échelle hiérarchique jusqu'à votre navigateur qui utilisera alors l'adresse IP reçue pour communiquer avec //google.com//.
 +
 +{{Images_Cahier-101-03-003.png?22}} Le point à remarquer est que __le navigateur cherche en premier lieu dans le fichier ''host'' du poste de travail__. Pour tromper le navigateur, il suffit alors d'y entrer une référence pour notre domaine //micronator-dev.org//.
 +
 +Pour un système Windows, le chemin du fichier ''hosts'' est: ''C:\Windows\System32\drivers\etc\hosts''. Pour un système Linux, le chemin est: ''/etc/hosts''.
 +
 +Pour un système Windows, le fichier ''hosts'' est en __//Lecture seule//__.
 +
 +__En ayant les droits d'administrateur Windows__, on enlève le droit de //Lecture seule// sur le fichier ''hosts'' du poste de travail et on l'édite avec //Notepad++//.
 +
 +<WRAP column 30%>
 +Dans l'explorateur de fichiers, on claque sur le fichier **hosts -> Propriétés**.
 +|{{ Images_Cahier-101-09-060.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +Décocher **Lecture seule -> OK**.
 +|{{ Images_Cahier-101-09-061.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +**Continuer**.
 +|{{ Images_Cahier-101-09-062.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +=== CNAME du serveur DESTINATION ===
 +
 +<WRAP column 35%>
 +Clac sur **hosts -> Éditer avec Notepad++**.
 +|{{ Images_Cahier-101-09-063.png?400 }}|
 +</WRAP>
 +<WRAP column 55%>
 +On entre les **CNAME** de notre domaine et son **adresse IP**.
 +|{{ Images_Cahier-101-09-064.png?600 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 30%>
 +Lorsqu'on veut sauvegarde le fichier, Notepad++ nous demande si on veut lancer le mode Administrateur.\\ 
 +<nowiki>-</nowiki> **Oui**.\\ 
 +<nowiki>-</nowiki> **Continuer**.
 +</WRAP>
 +<WRAP column 30%>
 +|{{Images_Cahier-101-09-065.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +|{{Images_Cahier-101-09-062.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-006.png?25}} On est alors retourné à l'écran d'édition et __on sauvegarde encore une fois__, car la première sauvegarde n'a pas eu lieu, elle a été transformée en demande de changement de mode.\\ 
 +{{Images_Cahier-101-03-008.png?25}} On ferme Notepad++ et on remet le fichier ''hosts'' en __//Lecture seule//__.\\ 
 +À l'avenir, lorsqu'on demandera à notre navigateur de se rendre à https://www.micronator-dev.org:980, il cherchera dans le fichier ''hosts'' une correspondance avec //www.micronator-dev.org// et trouvera //www.micronator-dev.org//, il prendra alors l'adresse **10.10.10.75** qui y est associée et se connectera à la page de l'interface Web de notre Serveur NethServer.
 +
 +==== Particularités de la carte RJ-45 ====
 +
 +{{Images_Cahier-101-03-005.png?25}} L'adresse MAC de cette carte est différente de l'adresse MAC de la //Carte-0//, //Carte-1//, //eth0// ou //eth1//.\\ 
 +{{Images_Cahier-101-03-006.png?25}} La carte réseau //RJ-45// doit être activée et reliée à un dispositif quelconque pour que le poste de travail puisse l'i­dentifier. Pour nous, cette carte est branchée à un port de l'aiguilleur LOCAL.
 +
 +{{ Images_Cahier-101-09-066.png?200}}
 +__Si le connecteur //RJ-45// n'est pas branché__ à un dispositif quelconque et qu'on examine cette carte dans l'utilitaire //**Centre Réseau et partage**// de Windows, on verra qu'il indique //Câble réseau non connecté// même si elle est pourtant reliée, à travers la //Carte-1//, au réseau LOCAL et à travers la //Carte-2//, au réseau Externe du serveur invité NethServer.
 +
 +{{ Images_Cahier-101-09-067.png?400}}
 +De plus, si VirtualBox ne trouve pas cette carte, le serveur invité NethServer pourrait refuser de démarrer.
 +
 +Plus haut, nous avons débuté une arnaque en faisant croire au navigateur Web du poste de travail que c'est son serveur DNS qui lui donnera l'adresse l'IP de notre Serveur NethServer LOCAL alors qu'en réalité c'est le fichier ''C:\Windows\System32\drivers\etc\hosts'' du poste de travail qui répondra à sa requête.
 +
 +{{Images_Cahier-101-03-003.png?22}} Le but principal de notre configuration non standard de la carte réseau du poste de travail est de continuer l'arnaque précédente en lui faisant croire qu'il possède deux cartes réseau RJ-45.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Première adresse IP ====
 +
 +Nous commençons par donner l'adresse **192.168.1.81** à la carte RJ-45 du poste de travail.
 +
 +<WRAP center>
 +<WRAP column 30%>
 +Clac //(clic droit)// sur l'icône réseau dans la zone de notification  ->   **Ouvrir le Centre Réseau et partage**.
 +|{{ Images_Cahier-101-09-068.png?400 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +\\ 
 +\\ 
 +**Modifier les paramètres de la carte.**
 +|{{ Images_Cahier-101-09-069.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +\\
 +Clac sur la **carte Éthernet -> Propriétés**.
 +|{{ Images_Cahier-101-09-070.png?400 }}|
 +</WRAP>
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +Onglet **Gestion de réseau  ->  Protocole Internet version 4 (TCP/IPv4)  ->  Propriétés**.
 +</WRAP>
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-071.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-072.png?350}}
 +**//Utiliser l'adresse IP suivante://**\\ 
 +\\ 
 +On entre les informations telles que ci contre.\\ 
 +\\
 +{{Images_Cahier-101-03-005.png?25}} Utiliser une passerelle par défaut sur un autre segment **IP** que l'adresse principale __n'est pas tout à fait standard__.
 +
 +**//Utiliser l'adresse de serveur DNS suivante://**\\
 +\\ 
 +<nowiki>- </nowiki> Pour le serveur DNS préféré, nous utiliserons l'adresse IP //(**10.10.10.75**)// du serveur invité NethServer sur son réseau LOCAL afin de pouvoir utiliser le nom FQDN du Serveur NethServer virtuel même si celui-ci ne possède pas de véritable nom de domaine.\\ 
 +\\ 
 +<nowiki>- </nowiki> En effet, plus tard, lorsque le navigateur Web lancera une requête DNS pour l'adresse IP de l'URL https://www.micronator-dev.org: \\ 
 +\\
 +<nowiki>- </nowiki> Windows cherchera d'abord dans son fichier hosts s'il existe une correspondance pour cette URL. Il trouvera l'adresse IP du Serveur NethServer entrée précédemment et il la transmettra au navigateur Web.\\
 +
 +<nowiki>- </nowiki> Si l'URL en question n'existe pas dans le fichier hosts du poste de travail, la requête sera transmise au serveur DNS préféré **10.10.10.75**, le Serveur NethServer virtuel. Si notre serveur virtuel ne connaît pas cette URL, il transmet la requête à son propre serveur DNS qui lui, la transmet à son propre serveur DNS, etc... jusqu'à ce que l'adresse IP soit enfin trouvée et retournée au navigateur Web.\\ 
 +
 +<nowiki>- </nowiki> Lorsque le serveur invité sera éteint, la carte RJ-45 ne trouvant pas le serveur DNS préféré, demandera alors au serveur DNS auxiliaire //(**192.168.1.1** - le modem ADSL/VDSL)// de remplir les requêtes DNS.\\
 +\\
 +Cliquer **Avancé...**
 +
 +==== Deuxième adresse IP ====
 +
 +Nous donnons la deuxième adresse **10.10.10.81** à la carte RJ-45 du poste de travail.
 +<WRAP column 30%>
 +<nowiki>-</nowiki> Onglet **Paramètres IP**.\\ 
 +<nowiki>-</nowiki> **Adresses IP**.\\ 
 +<nowiki>-</nowiki> **Ajouter**.
 +|{{ Images_Cahier-101-09-073.png?300 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +\\
 +<nowiki>-</nowiki> On entre l'adresse et le masque.\\ 
 +<nowiki>-</nowiki> **Ajouter**.
 +|{{ Images_Cahier-101-09-074.png?300 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +\\
 +La nouvelle adresse a été ajoutée à la carte RJ-45 du poste de travail.
 +|{{ Images_Cahier-101-09-075.png?300 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +=== Passerelle ===
 +
 +<WRAP column 30%>
 +\\ 
 +\\ 
 +//Passerelles par défaut:// **Ajouter...**
 +|{{ Images_Cahier-101-09-076.png?300 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +\\
 +<nowiki>-</nowiki> //Passerelle:// **192.168.1.1**\\ 
 +<nowiki>-</nowiki> **Ajouter**.
 +|{{ Images_Cahier-101-09-077.png?330 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +\\
 +<nowiki>-</nowiki> La deuxième passerelle à été ajoutée.\\ 
 +<nowiki>-</nowiki> **OK**.
 +|{{ Images_Cahier-101-09-078.png?330 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +**OK**.
 +|{{ Images_Cahier-101-09-079.png?300 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +**OK**.
 +|{{ Images_Cahier-101-09-080.png?330 }}|
 +</WRAP>
 +
 +<WRAP column 30%>
 +**Détails...**
 +|{{ Images_Cahier-101-09-081.png?330 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +<nowiki>-</nowiki> Nos deux adresses IP et nos deux passerelles son présentes.\\ 
 +\\ 
 +<nowiki>-</nowiki> **Fermer** toutes les fenêtre.
 +\\ 
 +\\ 
 +\\ 
 +<WRAP centeralign>**Tout est en place pour la restauration.**</WRAP>
 +</WRAP>
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-082.png?400}}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +====== Restauration ======
 +
 +===== Restauration =====
 +
 +{{Images_Cahier-101-03-004.png?25}} Nous avons modifié le fichier hosts du poste de travail pour pouvoir accéder à notre serveur virtuel DESTINATION en spécifiant son FQDN, voir ci dessus le paragraphe [[nethserver_101_cahier_09_duplicator_migration#CNAME du serveur DESTINATION]].
 +
 +Avec un navigateur //(JavaScript & Témoins activés)//, on lance ''installer.php'' à l'URL suivante:  https://www.FQDN_du-serveur-de-destination/installer.php 
 +
 +Pour notre serveur ce sera: https://www.micronator-dev.net/installer.php.
 +
 +===== Notices (optional) =====
 +
 +<WRAP column 45%>
 +\\ 
 +\\ 
 +\\ 
 +On clique **PHP Version Mismatch** pour afficher l'avertissement.
 +|{{ Images_Cahier-101-09-083.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> On peut ignorer cet avertissement.\\ 
 +<nowiki>-</nowiki> __Si on accepte les terms & notices__, on coche **I have read and accept all terms & notices**.\\ 
 +<nowiki>-</nowiki> **Next**. //(Peut prendre un certain temps.)//
 +|{{ Images_Cahier-101-09-084.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +===== Install Database =====
 +
 +<WRAP column 45%>
 +//**Host:**// __127.0.0.1:<wrap em>3312</wrap>__ car nous utilisons //MariaDB 10.2//.
 +
 +//**Database:**// __MN101__ choisie lors de la création de la BD.
 +
 +//**User:**// __usager<nowiki>_</nowiki>MN101__.
 +
 +**Password:** __mdp<nowiki>_</nowiki>MN101__.
 +
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-085.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +===== Options =====
 +
 +<WRAP column 45%>
 +Le lien d'aide fonctionne et pointe vers des articles //(en anglais seulement)// qui donnent de très bons conseils sur la restauration.\\ 
 +{{Images_Cahier-101-03-005.png?25}} Une FAQ en fran­çais se trou­ve à la page suivante:\\ 
 +<WRAP centeralign>
 +[[https://snapcreek.com/duplicator/docs/faqs-tech/|https://snapcreek.com/duplicator/docs/faqs-tech/]].
 +
 +{{ Images_Cahier-101-09-086.png?200 }}\\ 
 +On choisit Français et la FAQ s'affiche en français.
 +</WRAP>
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-087.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Il est toujours préférable de vérifier l'accès à la BD.\\ 
 +<nowiki>-</nowiki> **Test Database**.
 +|{{ Images_Cahier-101-09-088.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Tout est au vert.\\ 
 +<nowiki>-</nowiki> **Next**.
 +|{{ Images_Cahier-101-09-089.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 55%>
 +On vérifie les paramètres **-> OK**.
 +|{{ Images_Cahier-101-09-090.png?500 }}|
 +</WRAP>
 +<WRAP column 35%>
 +//Duplicator// installe la BD.
 +|{{ Images_Cahier-101-09-091.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-092.png?400}}
 +{{Images_Cahier-101-03-003.png?22}} Si le message ci-contre s'affiche après la restauration de la BD, il suffit de __déplacer__ le fichier ''.htaccess'' restauré sur le poste de travail à l'aide de //WinSCP//. On pourra le remettre plus tard et l'ajuster en conséquence.
 +
 +Après la disparition du fichier ''.htaccess'' restauré, on rafraîchit la page du navigateur.
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 45%>
 +\\ 
 +On change le titre de notre site.
 +|{{ Images_Cahier-101-09-093.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> **Options ->** onglet **Admin Account**.\\ 
 +<nowiki>-</nowiki> On pourrait créer un nouvel administrateur du site.
 +|{{ Images_Cahier-101-09-094.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Onglet **Scan Options**.\\ 
 +<nowiki>-</nowiki> On coche les trois options.\\ 
 +<nowiki>-</nowiki> C'est ici que //Duplicator// pourrait manquer de temps d'exécution PHP.
 +|{{ Images_Cahier-101-09-095.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +<nowiki>-</nowiki> Onglet **WP-config File**.\\ 
 +<nowiki>-</nowiki> On peut forcer les administrateurs à utiliser une connexion sécurisée //(https )// en cochant -> ☑ **SSL: Enforce on Admin**.\\ 
 +<nowiki>-</nowiki> **Next** pour lancer le processus.
 +|{{ Images_Cahier-101-09-096.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-097.png?400}}
 +{{Images_Cahier-101-03-003.png?22}} Si le message ci-contre s'affiche, il suffit de supprimer le fichier ''.htaccess'' qui a été recréé et de rafraîchir la page du navigateur.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Première connexion =====
 +
 +{{ Images_Cahier-101-09-098.png?600}}
 +{{Images_Cahier-101-03-006.png?25}} //**Auto delete installer files after login (recommended)**// est coché et //Duplicator// va supprimer les fichier d'installation.
 +
 +{{Images_Cahier-101-03-005.png?25}} ☑ **Admin login** pour afficher l'écran de login de notre nouveau site dans un nouvel onglet du navigateur.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +{{ Images_Cahier-101-09-099.png?200}}
 +On se logue avec les mêmes nom et mot de passe que ceux de l'__usager administrateur de WordPress de notre site SOURCE__.
 +<WRAP clear></WRAP>
 +\\
 +
 +{{Images_Cahier-101-03-006.png?25}} Si //Auto delete installer files after login (recommended)// ci-dessus a été coché, les fichiers d'installation devraient avoir été supprimés sinon, voir la section [[nethserver_101_cahier_09_duplicator_migration#Finalisation de la migration]].
 +
 +{{ Images_Cahier-101-09-100.png?600}}
 +{{Images_Cahier-101-03-004.png?25}} On peut supporter //Duplicator// en faisant un don.
 +
 +Fermer la fenêtre en cliquant le <wrap em>X</wrap> à l'extrême droite.
 +<WRAP clear></WRAP>
 +\\
 +
 +==== Fichier .htaccess ====
 +
 +Fichier original ''/home/e-smith/files/ibays/mn-101/html/.htaccess'' __sur le Serveur SME SOURCE__.
 +
 +<WRAP box>
 +<file>
 +# ************************************** 
 +# Pour les permaliens
 +<IfModule mod_rewrite.c>
 +RewriteEngine On
 +RewriteBase /
 +RewriteRule ^index\.php$ - [L]
 +RewriteCond %{REQUEST_FILENAME} !-f
 +RewriteCond %{REQUEST_FILENAME} !-d
 +RewriteRule . /index.php [L]
 +</IfModule>
 +
 +# **************************************
 +# Pour protéger le fichier wp-config
 +<Files wp-config.php>
 + order allow,deny
 + deny from all
 +</Files>
 +
 +# **************************************
 +# Pour protéger le fichier htaccess lui-même
 +<Files .htaccess>
 + order allow,deny
 + deny from all
 +</Files>
 +
 +# **************************************
 +# permet d’empêcher que tout le monde puisse voir et/ou récupérer
 +# les fichiers & images qui composent notre site.
 +Options All -Indexes
 +
 +# **************************************
 +# Wordfence WAF
 +<IfModule mod_php5.c>
 +    php_value auto_prepend_file '/home/e-smith/files/ibays/mn-101/html/wordfence-waf.php'
 +</IfModule>
 +<Files ".user.ini">
 +<IfModule mod_authz_core.c>
 +    Require all denied
 +</IfModule>
 +<IfModule !mod_authz_core.c>
 +    Order deny,allow
 +    Deny from all
 +</IfModule>
 +</Files>
 +
 +# END Wordfence WAF
 +</file>
 +</WRAP>
 +
 +En se basant sur le fichier ''.htaccess'' original, on en crée un nouveau qu'on adapte pour notre Serveur NethServer DESTINATION et qu'on placera dans le répertoire: ''/var/lib/nethserver/vhost/devnet/''.\\ 
 +{{Images_Cahier-101-03-006.png?25}} Prendre tout le contenu de l'encadré pour la commande.
 +
 +<file>
 +cat > /var/lib/nethserver/vhost/devnet/.htaccess <<'EOT'
 +# ************************************** 
 +# Pour les permaliens
 +<IfModule mod_rewrite.c>
 +RewriteEngine On
 +RewriteBase /
 +RewriteRule ^index\.php$ - [L]
 +RewriteCond %{REQUEST_FILENAME} !-f
 +RewriteCond %{REQUEST_FILENAME} !-d
 +RewriteRule . /index.php [L]
 +</IfModule>
 +
 +# **************************************
 +# Pour protéger le fichier wp-config
 +<Files wp-config.php>
 + order allow,deny
 + deny from all
 +</Files>
 +
 +# **************************************
 +# Pour protéger le fichier htaccess lui-même
 +<Files .htaccess>
 + order allow,deny
 + deny from all
 +</Files>
 +
 +# **************************************
 +# DIRECTIVES POUR APACHE
 +#
 +# Permet au serveur de suivre les liens symboliques dans les répertoires concernés.
 +Options +FollowSymLinks
 +
 +# Empêche d'afficher le contenu des répertoires s'ils ne contiennent aucun DirectoryIndex
 +# c'est-à-dire index.html, index.php etc...
 +Options -Indexes
 +
 +# **************************************
 +# Wordfence WAF
 +<IfModule mod_php5.c>
 +    php_value auto_prepend_file '/var/lib/nethserver/vhost/devnet/wordfence-waf.php'
 +</IfModule>
 +<Files ".user.ini">
 +<IfModule mod_authz_core.c>
 +    Require all denied
 +</IfModule>
 +<IfModule !mod_authz_core.c>
 +    Order deny,allow
 +    Deny from all
 +</IfModule>
 +</Files>
 +
 +# END Wordfence WAF
 +EOT
 +
 +</file>
 +\\ 
 +
 +==== Fichier wordfence-waf.php ====
 +
 +Fichier ''/var/lib/nethserver/vhost/devnet/wordfence-waf.php'' copié de SOURCE par //Duplicator//.
 +
 +<WRAP box>
 +<file>
 +<?php
 +// Before removing this file, please verify the PHP ini setting `auto_prepend_file` does not point to this.
 +
 +if (file_exists('/home/e-smith/files/ibays/mn-101/html/wp-content/plugins/wordfence/waf/bootstrap.php')) {
 +    define("WFWAF_LOG_PATH", '/home/e-smith/files/ibays/mn-101/html/wp-content/wflogs/');
 +    include_once '/home/e-smith/files/ibays/mn-101/html/wp-content/plugins/wordfence/waf/bootstrap.php';
 +}
 +?>
 +</file>
 +</WRAP>
 +
 +Fichier ajusté pour le Serveur NethServer DESTINATION
 +
 +<file>
 +{{Images_Cahier-101-03-006.png?25}} Prendre tout le contenu de l'encadré pour la commande.
 +
 +cat > /var/lib/nethserver/vhost/devnet/wordfence-waf.php <<'EOT'
 +<?php
 +// Before removing this file, please verify the PHP ini setting `auto_prepend_file` does not point to this.
 +
 +if (file_exists('/var/lib/nethserver/vhost/devnet/wp-content/plugins/wordfence/waf/bootstrap.php')) {
 +    define("WFWAF_LOG_PATH", '/var/lib/nethserver/vhost/devnet/wp-content/wflogs/');
 +    include_once '/var/lib/nethserver/vhost/devnet/wp-content/plugins/wordfence/waf/bootstrap.php';
 +}
 +?>
 +EOT
 +
 +</file>
 +\\ 
 +
 +==== Fichier wp-config.php ====
 +
 +Nouveau fichier ''wp-config.php''. Les anciens paramètres ont été mis en commentaire //(précédés par un #)// par //Duplicator//.
 +
 +<WRAP box>
 +<file>
 +...
 +// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
 +/** Nom de la base de données de WordPress. */
 +define('DB_NAME', 'MN101');#BD101');
 +
 +/** Utilisateur de la base de données MySQL. */
 +define('DB_USER', 'usager_MN101');#u_BD101');
 +
 +/** Mot de passe de la base de données MySQL. */
 +define('DB_PASSWORD', 'mdp_MN101');#BD101_toto97531');
 +
 +/** Adresse de l'hébergement MySQL. */
 +define( 'WP_SITEURL', 'https://www.micronator-dev.net' );
 +define( 'WP_HOME', 'https://www.micronator-dev.net' );
 +define('RELOCATE',true);
 +define('DB_HOST', '127.0.0.1:3312');#localhost');
 +...
 +define( 'FORCE_SSL_ADMIN', true );
 +</file>
 +</WRAP>
 +
 +{{Images_Cahier-101-03-005.png?25}} Les anciens paramètres peuvent être supprimés.
 +
 +{{Images_Cahier-101-03-006.png?25}} Si le paramètre ''define( 'FORCE_SSL_ADMIN', true );'' n'était pas présent sur le serveur SOURCE, il aurait été inséré parce qu'on a coché "//SSL: Enforce on Admin//" à l'onglet __//WP-Config File (wp-config.php)//__ lors de la configuration de la restauration.
 +\\ 
 +
 +==== Chemin de WordPress ====
 +
 +{{Images_Cahier-101-03-003.png?22}} Si nous avons restauré dans le répertoire par défaut, c.-à-d. ''/var/www/html'', il nous faut ajouter certaines directives au fichier ''wp-config.php'' sinon, WordPress ne trouvera pas son chemin pour sa mise à jour.
 +
 +{{ Images_Cahier-101-09-101.png?450}}
 +Il nous faut ajouter un bout de code au fichier de configuration ''wp-config.php'', afin que WordPress n'ai pas de problème à exécuter certaines fonctions, telle que la mise à jour, ou il lui sera impossible de localiser le répertoire de contenu et affichera un message d'erreur.
 +
 +Pour une solution fonctionnelle, voir la page WordPress : //Impossible de localiser le répertoire de contenu// à L'URL: [[https://juliencrego.com/wordpress-impossible-de-localiser-le-repertoire-de-contenu/|https://juliencrego.com/wordpress-impossible-de-localiser-le-repertoire-de-contenu/]].
 +
 +<WRAP box>
 +<file>
 +if(is_admin()){
 +    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));    
 +    define( 'FS_CHMOD_DIR', 0751 );
 +}
 +</file>
 +</WRAP>
 +
 +On ajoute les lignes ci-dessous au fichier **/var/www/html/wp-config.php**.\\ 
 +{{Images_Cahier-101-03-006.png?25}} Prendre tout le contenu de l'encadré pour la commande.
 +
 +<WRAP box>
 +<file>
 +cat >> /var/www/html/wp-config.php <<'EOT'
 +
 +###############################################
 +# Michel-André, 8 février 2019 @ 13h34 HNE
 +#
 +# Référence: https://juliencrego.com/wordpress-impossible-de-localiser-le-repertoire-de-contenu/
 +# Ajout de code afin de pouvoir localiser le répertoire de contenu
 +#
 +if(is_admin()){
 +    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));    
 +    define( 'FS_CHMOD_DIR', 0751 );
 +}
 +###############################################
 +
 +EOT
 +
 +</file>
 +</WRAP>
 +
 +On vérifie.
 +
 +<WRAP box>
 +<file>
 +[root@tchana ~]# tail -13 /var/www/html/wp-config.php
 +
 +###############################################
 +# Michel-André, 8 février 2019 @ 13h34 HNE
 +#
 +# Référence: https://juliencrego.com/wordpress-impossible-de-localiser-le-repertoire-de-contenu/
 +# Ajout de code afin de pouvoir localiser le répertoire de contenu
 +#
 +if(is_admin()){
 +    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
 +    define( 'FS_CHMOD_DIR', 0751 );
 +}
 +###############################################
 +
 +[root@tchana ~]#
 +</file>
 +</WRAP>
 +\\ 
 +
 +===== Ajustement des droits =====
 +
 +<file>
 +[root@tchana ~]# cd /var/lib/nethserver/vhost/devnet/
 +
 +[root@tchana devnet]#
 +</file>
 +
 +==== Ajustement du propriétaire et du groupe ====
 +
 +<file>
 +[root@tchana devnet]# chown -R apache:apache *  ; chown -R apache:apache .*
 +
 +[root@tchana devnet]
 +</file>
 +
 +==== Fichiers et répertoires ====
 +
 +On renforce la sécurité de l’accès aux fichiers //( <wrap em>f</wrap> )// en supprimant les droits à "other".
 +
 +<file>
 +[root@tchana devnet]# find . -type f -exec chmod 640 {} \;
 +
 +[root@tchana devnet]#
 +</file>
 +
 +On répète l'opération pour les répertoires //( <wrap em>d</wrap> )//.
 +
 +<file>
 +[root@tchana devnet]# find . -type d -exec chmod 2750 {} \;
 +
 +[root@tchana devnet]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana devnet]# ls -als
 +
 +total 216
 + 4 drwxrwsr-x  9 ftp    apache  4096 22 avril 14:35 .
 + 0 drwxr-xr-x. 3 root   root      96 21 avril 10:11 ..
 + 0 drw-r-s---  3 apache apache    39 22 avril 13:57 administrator
 + 4 -rw-r-S---  1 apache apache  1261 22 avril 14:43 .htaccess
 + 4 -rw-r-S---  1 apache apache   420 22 avril 13:57 index.php
 +20 -rw-r-S---  1 apache apache 19935 22 avril 13:57 license.txt
 +...
 +[root@tchana devnet]#
 +</file>
 +\\ 
 +
 +===== Connexion =====
 +
 +{{ Images_Cahier-101-09-102.png?200}}
 +On se déconnecte et on se reconnecte à DESTINATION.
 +
 +{{Images_Cahier-101-03-006.png?25}} On utilise le même justificatif de connexion que celui de l'__administrateur du site SOURCE__.
 +<WRAP clear></WRAP>
 +\\
 +
 +{{ Images_Cahier-101-09-103.png?600}}
 +//Duplicator// nous affiche que les fichiers d'installation on bien été supprimés. On ferme cette fenêtre en cliquant le <wrap em>X</wrap> à l'extrême droite.
 +<WRAP clear></WRAP>
 +\\
 +
 +===== Finalisation de la migration =====
 +
 +{{ Images_Cahier-101-09-104.png?600}}
 +Si //Auto delete installer files after login (recommended)// n'était pas coché au paragraphe [[nethserver_101_cahier_09_duplicator_migration#Première connexion]], un message serait affiché nous invitant à supprimer les fichiers d'installation.\\ 
 +**-> Y accéder**.
 +<WRAP clear></WRAP>
 +
 +=== Suppression des fichiers d'installation ===
 +
 +<WRAP column 45%>
 +**Supprimer les fichiers d'installation**.
 +|{{ Images_Cahier-101-09-105.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +**Le résultat s'affiche**.
 +|{{ Images_Cahier-101-09-106.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +On vérifie la suppression des fichiers.
 +
 +<file>
 +[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet/
 +
 +total 216
 + 4 drwxr-s---  9 ftp    apache  4096 22 avril 14:35 .
 + 0 drwxr-xr-x. 3 root   root      96 21 avril 10:11 ..
 + 0 -rw-r-s---  3 apache apache    39 22 avril 13:57 administrator
 + 4 -rw-r-S---  1 apache apache  1261 22 avril 14:43 .htaccess
 + 4 -rw-r-S---  1 apache apache   420 22 avril 13:57 index.php
 +20 -rw-r-S---  1 apache apache 19935 22 avril 13:57 license.txt
 + 0 drwxr-s--- 13 apache apache   212 22 avril 13:57 PDF
 +12 -rw-r-S---  1 apache apache  9101 22 avril 13:57 readme.086b0e08609918c8ef94ebf3245e4668.html
 + 0 drwxr-s---  3 apache apache    20 22 avril 13:57 Ut
 + 4 -rw-r-S---  1 apache apache   400 22 avril 13:57 wordfence-waf.php
 + 8 -rw-r-S---  1 apache apache  6919 22 avril 13:57 wp-activate.php
 + 4 drwxr-s---  9 apache apache  4096 22 avril 13:57 wp-admin
 + 4 -rw-r-S---  1 apache apache   369 22 avril 13:57 wp-blog-header.php
 + 4 -rw-r-S---  1 apache apache  2283 22 avril 13:57 wp-comments-post.php
 + 4 -rw-r-S---  1 apache apache  3897 22 avril 14:11 wp-config.php
 + 4 -rw-r-S---  1 apache apache  3600 22 avril 13:57 wp-config-sample.php
 + 0 drwxr-s---  8 apache apache   113 22 avril 13:57 wp-content
 + 4 -rw-r-S---  1 apache apache  3847 22 avril 13:57 wp-cron.php
 +12 drwxr-s--- 19 apache apache  8192 22 avril 13:57 wp-includes
 + 4 -rw-r-S---  1 apache apache  2502 22 avril 13:57 wp-links-opml.php
 + 4 -rw-r-S---  1 apache apache  3306 22 avril 13:57 wp-load.php
 +40 -rw-r-S---  1 apache apache 38883 22 avril 13:57 wp-login.php
 +12 -rw-r-S---  1 apache apache  8403 22 avril 13:57 wp-mail.php
 +20 -rw-r-S---  1 apache apache 17947 22 avril 13:57 wp-settings.php
 +32 -rw-r-S---  1 apache apache 31085 22 avril 13:57 wp-signup.php
 + 0 drwxr-s---  3 apache apache    23 22 avril 14:14 wp-snapshots
 + 8 -rw-r-S---  1 apache apache  4764 22 avril 13:57 wp-trackback.php
 + 4 -rw-r-S---  1 apache apache  3068 22 avril 13:57 xmlrpc.php
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie le répertoire de travail de //Duplicator//.
 +
 +<file>
 +[root@tchana ~]# ls -alsR /var/lib/nethserver/vhost/devnet/wp-snapshots/
 +
 +/var/lib/nethserver/vhost/devnet/wp-snapshots/:
 +total 4
 +0 drwxr-s--- 3 apache apache   23 22 avril 14:14 .
 +4 drwxr-s--- 9 ftp    apache 4096 22 avril 14:35 ..
 +0 drwxr-s--- 2 apache apache   53 22 avril 14:14 installer
 +
 +/var/lib/nethserver/vhost/devnet/wp-snapshots/installer:
 +total 16
 + 0 drwxr-s--- 2 apache apache    53 22 avril 14:14 .
 + 0 drwxr-s--- 3 apache apache    23 22 avril 14:14 ..
 +16 -rw-r-S--- 1 apache apache 14659 22 avril 14:14 dup-installer-log__6ca1eb9-21180704.txt
 +[root@tchana ~]#
 +</file>
 +
 +Il ne reste que le sous-répertoire ''installer'' qui contient le journal de //Duplicator//.
 +\\ 
 +\\ 
 +
 +===== Droit d'écriture du répertoire devnet =====
 +
 +On enlève le droit d'écriture //(<wrap em>w</wrap>)// au répertoire ''/var/lib/nethserver/vhost/devnet/'' qu'on lui avait donné à la section [[nethserver_101_cahier_09_duplicator_migration#Préparation du répertoire devnet]].
 +
 +<file>
 +[root@tchana ~]# chmod g-w /var/lib/nethserver/vhost/devnet/
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana ~]# ls -lsd /var/lib/nethserver/vhost/devnet/
 +
 +4 drwxr-sr-x 9 apache apache 4096 22 avril 14:35 /var/lib/nethserver/vhost/devnet
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Redémarrage du démon httpd =====
 +
 +On redémarre le démon //httpd// pour s'assurer que tous les fichiers sont ajustés correctement.
 +
 +<file>
 +[root@tchana ~]# systemctl restart httpd
 +
 +[root@tchana ~]#
 +</file>
 +
 +<WRAP centeralign>**La restauration s'est déroulée correctement.**</WRAP>
 +
 +====== Vérifications ======
 +
 +===== Page d'accueil =====
 +
 +{{ Images_Cahier-101-09-107.png?600}}
 +{{Images_Cahier-101-03-006.png?25}} On active //JavaScript// et les //témoins// du navigateur Web.
 +
 +On supprime l'//historique du navigateur// et on se rend sur notre nouveau site Web, mais avec seulement http __sans le suffixe__ <wrap em>s</wrap>:
 +
 +http://www.micronator-dev.net
 +
 +● La connexion n'est pas sécuritaire, mais elle s'est transformée en __http<wrap em>s</wrap>__.
 +
 +● Le cadenas n'est pas vert, car nous n'avons pas de certificat Let's Encrypt incluant le nouveau nom de domaine.
 +
 +● Le site est identique à celui du serveur SOURCE.
 +<WRAP clear></WRAP>
 +
 +{{ Images_Cahier-101-09-108.png?350}}
 +Si vous recevez l'erreur ci-contre, vidangez l'histori­que de votre navigateur et exécutez la commande suivante __à l'invite du poste de travail__.
 +
 +<file>
 +C:\Users\michelandre> ipconfig /flushdns
 +
 +Configuration IP de Windows
 +
 +Cache de résolution DNS vidé.
 +
 +C:\Users\michelandre>
 +</file>
 +
 +Réessayez de vous connecter et tout devrait se passer correctement.
 +<WRAP clear></WRAP>
 +\\
 +
 +===== Thème enfant =====
 +
 +==== Pied de page ====
 +
 +{{Images_Cahier-101-03-006.png?25}} Nous utilisons un //Thème enfant//, c.-à-d. __Storefront Enfant__ et certains paramètres du pied de page ne sont pas inclus dans la BD, car ils sont dans le fichier: ''wp-content/themes/twentyten-enfant/footer.php''.
 +
 +{{ Images_Cahier-101-09-109.png?600}}
 +Les liens s'affichent correctement, car __nous avons utilisé des chemins relatifs__ pour les liens de cette page et pour l'image.
 +<WRAP clear></WRAP>
 +\\
 +
 +===== Vérification des liens =====
 +
 +==== Accueil ====
 +
 +<WRAP column 45%>
 +Sur la page principale, on clique **Accueil**.
 +|{{ Images_Cahier-101-09-110.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +On clique le **logo Micronator**.
 +|{{ Images_Cahier-101-09-111.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-006.png?25}} Ces deux liens ne sont pas exactement identiques, mais tous deux pointent vers une page particulière.
 +
 +● {{Images_Cahier-101-03-005.png?25}} //Accueil// fait partie du menu principal et provient de: //Tableau de bord -> Apparence -> Menus -> Menu principal//.\\ 
 +● Le lien du logo provient de: //Tableau de bord -> Réglages -> Adresse web du site (URL)//.
 +\\ 
 +
 +==== Menus et pages ====
 +
 +<WRAP column 45%>
 +**Boutique** provient de //WooCommerce//.
 +|{{ Images_Cahier-101-09-112.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +**À propos** est un lien relatif vers une page standard.
 +|{{ Images_Cahier-101-09-113.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Rechercher un produit ====
 +
 +<WRAP column 30%>
 +On lance la recherche de: **Cahier**.
 +{{ Images_Cahier-101-09-114.png?400 }}
 +
 +Il existe plusieurs pages //(12)// qui contiennent le mot //Cahier//.
 +</WRAP>
 +<WRAP column 60%>
 +Le résultat de la recherche s'affiche.
 +|{{ Images_Cahier-101-09-115.png?900 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Widget Articles récents ====
 +
 +On clique le lien **Script des droits & permissions** du widget //Articles récents//. La page s'affiche correctement.
 +
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-116.png?400 }}|
 +</WRAP>
 +<WRAP column 60%>
 +|{{ Images_Cahier-101-09-117.png?900 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +
 +==== Widget Références SME ====
 +
 +On clique le lien **Manuel de l'utilisateur** du widget //Référence SME//. La page s'affiche correctement.
 +
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-118.png?400 }}|
 +</WRAP>
 +<WRAP column 60%>
 +|{{ Images_Cahier-101-09-119.png?900 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Liens du pied de page ====
 +
 +{{ Images_Cahier-101-09-120.png?600}}
 +On clique **Conditions d'utilisation**.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +{{ Images_Cahier-101-09-121.png?600}}
 +{{Images_Cahier-101-03-003.png?22}} Le site //Micronator-101.com// apparaît toujours. Nous pourrons modifier ce nom plus loin, avec l'extension WordPress - //Velvet Blues Update URLs//. Voir le paragraphe [[nethserver_101_cahier_09_duplicator_migration#Locutions]].
 +
 +Le lien Conditions d'utilisation du pied de page fonctionne correctement.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Connexion ====
 +
 +<WRAP column 30%>
 +**Se Connecter**.
 +|{{ Images_Cahier-101-09-122.png?400 }}|
 +
 +On s'assure qu'on est bien dirigé vers l'URL du site restauré.
 +
 +Le cadenas, à la gauche de l'URL, n'est pas vert car la demande de certificat Let's Encrypt n'incluait pas le FQDN de DESTINATION et ses CNAME.
 +</WRAP>
 +<WRAP column 60%>
 +Le lien est fonctionnel.
 +|{{ Images_Cahier-101-09-123.png?600 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-004.png?25}} Si une nouvelle demande de certificat Let's Encrypt incluait le FQDN de DESTINATION et ses CNAME, la connexion serait toujours "sécurisée" parce qu'on a coché //**SSL: Enforce on Admin**// lors de la configuration de la restauration.
 +
 +Le widget //Derniers documents// fonctionne et défile correctement car //JavaScript// est actif.
 +\\ 
 +\\ 
 +
 +====== WooCommerce ======
 +
 +===== Stripe & PayPal =====
 +
 +==== Clés de compte ====
 +
 +{{ Images_Cahier-101-09-124.png?600}}
 +**Tableau de bord WordPress -> WooCommerce -> Réglages ->** onglet **Paiements ->** vis-à-vis //**Stripe**//  **-> Gérer**.
 +\\ 
 +
 +On vérifie les //clés de compte Stripe// en désactivant et activant le **Mode TEST**.
 +<WRAP clear></WRAP>
 +\\
 +==== Mode Test ====
 +
 +{{ Images_Cahier-101-09-125.png?600}}
 +On active le **Mode TEST**.
 +
 +**Enregistrer les modifications**.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +{{Images_Cahier-101-03-006.png?25}} On met aussi le //compte PayPal// en **Mode TEST** //(Bac à sable PayPal: activé)// -> **Enregistrer les modifications**.
 +\\
 +\\ 
 +
 +===== Liens de téléchargements =====
 +
 +<WRAP column 45%>
 +**Tableau de bord WordPress -> Produits -> Micronator-101, Cahier-6:... -> Modifier**.
 +|{{ Images_Cahier-101-09-126.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +\\ 
 +Les liens pointent vers __www.micronator-dev.net__.
 +|{{ Images_Cahier-101-09-127.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +Les liens pointent tous vers le nouveau site. //Duplicator// les a ajustés.
 +\\ 
 +\\ 
 +
 +===== Adresses courriel =====
 +
 +**Tableau de bord WordPress -> WooCommerce -> Réglages ->** onglet **E-mails**.\\ 
 +On voit que les adresses courriel //Destinataire(s)// et //Adresse de l'expéditeur// ont bien été modifiées.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-128.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-129.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Serveur physique directement branché à l'Internet ====
 +
 +=== PayPal ===
 +
 +Pour //PayPal//, il faut que les adresses soient identiques pour __//E-mail PayPal//__ et __//E-mail du destinataire//__. Voir la section [[nethserver_101_cahier_09_duplicator_migration#Commande - PayPal]].
 +
 +**Tableau de bord WordPress -> WooCommerce -> Réglages ->** onglet **Paiements ->** vis-à-vis //**PayPal**//  **-> Gérer**.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-130.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-131.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-005.png?25}} Ces adresses courriels n'ont pas été modifiées, car elle ne sont reliés ni à SOURCE ni à DESTINATION.
 +
 +Pour une migration vers un serveur physique directement relié à l'Internet, il faut s'assurer de l'exactitude de ces adresses courriel, mais vers un serveur virtuel, qui sert surtout pour tester de nouvelles extensions et la création de produits, elles sont moins critiques, car le serveur virtuel ne devrait pas tester les achats.
 +
 +=== Stripe ===
 +
 +C'est différent pour //Stripe//, car celui-ci envoie les courriels de commandes reçues et de paiements au __gestionnaire du compte //Stripe//__. Nous avons déclaré le courriel de cet utilisateur comme étant //paiement-stripe@micronator-101.com// lors de la configuration de notre compte chez [[https://stripe.com/ca|https://stripe.com/ca]].
 +
 +{{Images_Cahier-101-03-006.png?25}} __Sur un serveur physique directement relié à l'Internet__, il va falloir modifier l'adresse courriel de l'administrateur __directement dans notre compte chez //Stripe//__.
 +\\ 
 +\\ 
 +
 +===== Extension Velvet Blues Update URLs =====
 +
 +Pour modifier les liens ou les adresses courriel de notre site, on peut utiliser l'extension **Velvet Blues Update URLs**.
 +
 +==== Description ====
 +
 +<WRAP column 50%>
 +Si vous déplacez votre site WordPress vers un nouveau nom de domaine, vous trouverez que certains liens internes vers des pages, des références à des images et surtout des adresses courriel pourraient ne pas être mis à jour.
 +
 +{{Images_Cahier-101-03-006.png?25}} Ces liens, références et adresses courriel pointeront peut-être encore vers votre ancien nom de domaine.
 +</WRAP>
 +<WRAP column 20%>
 +|{{ Images_Cahier-101-09-132.png?400 }}|
 +</WRAP>
 +<WRAP column 20%>
 +|{{ Images_Cahier-101-09-133.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +Cette extension corrige ce problème en vous aidant à changer les vieilles URL, adresses courriel et autres liens de votre site Web vers votre nouveau FQDN.
 +\\ 
 +
 +==== Installation ====
 +
 +<WRAP column 30%>
 +**Tableau de bord -> Extensions -> Ajouter ->** //**Mot-clé**// **-> Velvet Blues Update URLs**.
 +|{{ Images_Cahier-101-09-134.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +\\ 
 +**Installer**.
 +|{{ Images_Cahier-101-09-135.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +\\ 
 +**Activer**.
 +|{{ Images_Cahier-101-09-136.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 30%>
 +L'extension est activée.
 +</WRAP>
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-137.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Sauvegarde de la base de données =====
 +
 +{{Images_Cahier-101-03-003.png?22}} Avant de modifier les liens, il est recommandé de faire une sauvegarde de la BD.\\ 
 +Si nous effectuons une mauvaise manipulation, on pourra alors facilement remettre en place la BD originale en seulement quelques secondes.
 +
 +==== Répertoire temporaire ====
 +
 +Si ce n'est déjà fait, on crée un répertoire temporaire.
 +
 +<WRAP box round>
 +<file>
 +[root@tchana ~]# mkdir /temp
 +
 +[root@tchana ~]#
 +</file>
 +</WRAP>
 +
 +On s'y rend.
 +
 +<file>
 +[root@tchana ~]# cd /temp/
 +
 +[root@tchana temp]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana temp]# pwd
 +
 +/temp
 +[root@tchana temp]#
 +</file>
 +\\ 
 +
 +==== Déversement de la BD ====
 +
 +On déverse la BD //(MN101)// du site dans un fichier. //(On emploie **mysqldump<wrap em>102</wrap>** à cause de l'utilisation de la Collection MariaDB 10.2.)//
 +
 +<file>
 +[root@tchana temp]# mysqldump102  MN101  >  ./MN101.sql_original
 +
 +[root@tchana temp]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana temp]# ls -ls MN101.sql_original
 +
 +12380 -rw-r--r-- 1 root root 12673874 22 avril 16:43 MN101.sql_original
 +[root@tchana temp]#
 +</file>
 +\\ 
 +
 +==== Remise en place de la BD originale ====
 +
 +{{Images_Cahier-101-03-003.png?22}} Si jamais on doit remettre en place la BD originale, il suffit d'exécuter la commande suivante //(il faut absolument employer **mysql<wrap em>102</wrap>** à cause de l'utilisation de la Collection MariaDB 10.2)//.
 +
 +<WRAP box>
 +<file>
 +[root@tchana temp]# mysql102  MN101  <  /temp/MN101.sql_original
 +
 +[root@tchana temp]#
 +</file>
 +</WRAP>
 +\\ 
 +
 +===== Mise à jour des URL =====
 +
 +==== Liens d'adresses ====
 +
 +**Tableau de bord WordPress -> Outils -> Update URLs**  et nous mettons à jour les liens:\\ 
 +https://www.micronator-101.com  pour des liens  https://www.micronator-dev.net.
 +
 +{{Images_Cahier-101-03-006.png?25}} On ne modifie jamais les GUID.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-138.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-139.png?400 }}|
 +
 +ERREUR parce qu'il n'existe pas de liens https://www.micronator-101.com.
 +
 +//Duplicator// les a tous remplacés.
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +Nous mettons à jour les liens:\\ 
 +http://www.micronator-101.com  pour des liens  http://www.micronator-dev.net.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-140.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-141.png?400 }}|
 +
 +ERREUR parce qu'il n'existe pas de liens http://www.micronator-101.com.
 +
 +//Duplicator// les a tous remplacés.
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +Nous mettons à jour les liens:\\ 
 +https://micronator-101.com/  pour des liens  https://micronator-dev.net/. //(Pas de __www__)//
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-142.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-143.png?400 }}|
 +
 +ERREUR parce qu'il n'existe pas de liens https://micronator-101.com/.
 +
 +//Duplicator// les a tous remplacés.
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +Nous mettons à jour les liens:\\ 
 +http://micronator-101.com/  pour des liens  http://micronator-dev.net/. //(Pas de __s__ ni de __www__)//
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-144.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-145.png?400 }}|
 +
 +ERREUR parce qu'il n'existe pas de liens http://micronator-101.com/.
 +
 +//Duplicator// les a tous remplacés.
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Liens de courriel ====
 +
 +{{Images_Cahier-101-03-006.png?25}} {{Images_Cahier-101-03-003.png?22}} __S'il y a lieu, il faut changer les adresses courriel chez //PayPal// et //Stripe//__.\\ 
 +{{Images_Cahier-101-03-006.png?25}} Il ne faudrait pas négliger les courriels qui ne commencent pas //http// ou //https//, mais qui se terminent par //<wrap em>@</wrap>micronator-101.com//.
 +
 +Nous mettons à jour les liens: @micronator-101.com  pour des liens  @micronator-dev.net.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-146.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-147.png?400 }}|
 +
 +ERREUR parce qu'il n'existe pas de liens //<wrap em>@</wrap>micronator-101.com//.
 +
 +Duplicator les a tous remplacés.
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +==== Locutions ====
 +
 +Nous mettons à jour les locutions  //Micronator__-101.com__//  pour des locutions  //Micronator__-dev.net__//.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-148.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-149.png?400 }}|
 +
 +//Velvet Blues Update URLs// a trouvé __12__ locutions et les a ajustées.\\ 
 +Ces locutions se trouvaient dans des "Types de contenu" //(articles, pages, types de contenus personnalisés, révisions)//.
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +{{ Images_Cahier-101-09-150.png?600}}
 +On vérifie la page https://www.micronator-dev.net/conditions-dutilisation/.
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Ajustements manuels =====
 +
 +{{Images_Cahier-101-03-004.png?25}} Il ne faudrait pas oublier que rien n'est parfait!
 +
 +==== Réglages ====
 +
 +<WRAP column 45%>
 +**Tableau de bord WordPress -> Réglages -> Général -> Adresse de messagerie**.
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-151.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-004.png?25}} Il est peut être préférable de garder cette adresse, car notre serveur principal de messagerie est __micronator.org__. De plus, le serveur physique ou virtuel sur le réseau LOCAL ne peut recevoir de courriels en provenance de l'Internet\\ 
 +{{Images_Cahier-101-03-003.png?22}} Faites les ajustement nécessaire pour un serveur physique directement branché à l'Internet.\\ 
 +{{Images_Cahier-101-03-005.png?25}} Dans notre cas particulier, notre serveur principal de messagerie est __micronator.org__ et nous ne modifions jamais cette adresse.
 +\\ 
 +\\ 
 +
 +===== Contact =====
 +
 +**Tableau de bord Wordpress -> Contact -> Formulaires de contact -> Inscription à l'infolettre ->** onglet **E-mail**.\\ 
 +**Tableau de bord Wordpress -> Contact -> Formulaires de contact -> WebMestre ->** onglet **E-mail**.
 +
 +Dans le champs //**Pour**//, on garde l'adresse de l'administrateur principal.\\ 
 +Dans le champs //**De**//, cette adresse a été modifiée pas Duplicator.\\ 
 +Dans le champ //**Objet**//, on change __Micronator__ pour __NethServer__.\\ 
 +{{Images_Cahier-101-03-006.png?25}} **<wrap em>-></wrap> Enregistrer**.
 +
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-152.png?400 }}|
 +</WRAP>
 +<WRAP column 45%>
 +|{{ Images_Cahier-101-09-153.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-006.png?25}} Encore une fois, il faut faire la différence entre un serveur physique directement branché à l'Internet et un serveur virtuel sur le réseau LOCAL.
 +\\ 
 +\\ 
 +
 +==== WooCommerce / Réglages ====
 +
 +{{ Images_Cahier-101-09-156.png?600}}
 +**Tableau de bord WordPress -> WooCommerce -> Réglages ->** onglet **Produits -> Inventaire**.
 +
 +//**Destinataire(s) notifica­tion**//.\\ 
 +{{Images_Cahier-101-03-006.png?25}} On garde l'adresse de l'administrateur principal.\\ 
 +Sinon, ajustez.
 +
 +{{ Images_Cahier-101-09-154.png?200 }}
 +
 +{{ Images_Cahier-101-09-155.png?200 }}
 +<WRAP clear></WRAP>
 +\\
 +
 +=== Commande - Stripe ===
 +
 +{{Images_Cahier-101-03-003.png?22}} {{Images_Cahier-101-03-006.png?25}} Il ne faut pas oublier de changer les adresses courriel __directement chez //Stripe//__.
 +\\ 
 +
 +=== Commande - PayPal ===
 +
 +**Tableau de bord -> WooCommerce -> Réglages -> onglet Paiements ->** vis-à-vis //**PayPal**//  **->  Gérer**.
 +
 +<WRAP column 20%>
 +**E-mail PayPal**\\ 
 +Ajuster si nécessaire.
 +
 +
 +**E-mail du destinataire**\\ 
 +Ajuster si nécessaire.
 +</WRAP>
 +<WRAP column 70%>
 +{{Images_Cahier-101-09-157.png?500 }}
 +
 +{{Images_Cahier-101-09-158.png?500 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-003.png?22}} Il faut absolument que //__E-mail PayPal__// et //__E-mail du destinataire__// aient la même adresse courriel sinon, les clients ne recevront pas les courriels que la commande est payée et terminée. L'//E-mail PayPal// est celle utilisée pour nous connecter à notre compte //PayPal//, il ne faut pas la modifiée.
 +\\ 
 +
 +**Identifiant API**
 +
 +{{Images_Cahier-101-03-006.png?25}} Ces adresses courriel ne doivent pas être ajustées par //Velvet Blues Update URLs// sinon, <wrap em>MODIFIER</wrap>, car elles servent à l'API à se connecter à //PayPal// lors d'un paiement.
 +
 +<WRAP column 30%>
 +Décocher //**Activer PayPal sandbox**// pour faire apparaître l'adresse courriel __LIVE__.
 +
 +Cocher //**Activer PayPal sandbox**// pour faire apparaître l'adresse courriel __SANDBOX__.
 +</WRAP>
 +<WRAP column 60%>
 +{{Images_Cahier-101-09-159.png?500 }}
 +
 +{{Images_Cahier-101-09-160.png?500 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +<WRAP column 50%>
 +**Enregistrer les modifications ->** Vérifier le succès de l'opération.
 +
 +{{Images_Cahier-101-03-006.png?25}} Encore une fois, faites la différence entre un serveur physique directement branché à l'Internet et un serveur virtuel sur le réseau LOCAL.
 +</WRAP>
 +<WRAP column 40%>
 +{{Images_Cahier-101-09-161.png?300 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +<WRAP column 50%>
 +=== E-mails - Image d'entête (en-tête) ===
 +
 +**Tableau de bord WordPress -> WooCommerce -> Emails**.\\ 
 +Ajuster si nécessaire.
 +
 +**-> Enregistrer les modifications**.
 +</WRAP>
 +<WRAP column 40%>
 +{{Images_Cahier-101-09-162.png?400 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 50%>
 +**Enregistrer les modifications**.
 +
 +Vérifier le succès de l'opération.
 +</WRAP>
 +<WRAP column 40%>
 +{{Images_Cahier-101-09-163.png?300 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +
 +{{Images_Cahier-101-03-006.png?25}} Encore une fois, faites la différence entre un serveur physique directement branché à l'Internet et un serveur virtuel sur le réseau LOCAL.
 +\\ 
 +\\ 
 +
 +==== Utilisateurs - usager de test - administrateur ====
 +
 +{{Images_Cahier-101-03-006.png?25}} Ces adresses courriel devraient avoir été ajustées par //Duplicator// sinon, <wrap em>MODIFIER</wrap>.\\ 
 +{{Images_Cahier-101-03-006.png?25}} Sur un serveur virtuel sur le réseau LOCAL, cet utilisateur ne pourra pas recevoir de courriel en provenance de l'Internet.\\ 
 +{{Images_Cahier-101-03-004.png?25}} Pour remédier à cette situation sur un serveur virtuel sur le réseau LOCAL, on pourrait créer les utilisateurs ci-dessous sur le serveur principal qui est directement branché à l'Internet et modifier en conséquence leur adresse.
 +
 +**Tableau de bord WordPress -> Utilisateurs -> Tous les utilisateurs ->** choisir l'utilisateur **-> Modifier**.
 +
 +<WRAP column 40%>
 +=== acheteur-test ===
 +
 +//**Adresse de messagerie**// et //**Site web**//\\ 
 +Ajuster si nécessaire.
 +</WRAP>
 +<WRAP column 50%>
 +{{Images_Cahier-101-09-164.png?500 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +<WRAP column 40%>
 +//**Adresse de facturation**//
 +//Adresse de messagerie// **->** Ajuster si nécessaire.
 +</WRAP>
 +<WRAP column 50%>
 +{{Images_Cahier-101-09-165.png?500 }}
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +Mettre à jour l'utilisateur -> Vérifier le succès de l'opération. {{Images_Cahier-101-09-166.png?200}}
 +<WRAP clear></WRAP>
 +
 +=== Autres utilisateurs ===
 +
 +Répéter les opérations et vérifier pour les autres utilisateurs.
 +\\ 
 +\\ 
 +
 +==== Wordfence ====
 +
 +**Tableau de bord -> Wordfence -> All Options -> Options générales de Wordfence -> Adresse courriel pour recevoir les alertes**.
 +
 +{{ Images_Cahier-101-09-167.png?600}}
 +{{Images_Cahier-101-03-006.png?25}} Cette adresse courriel devrait avoir été ajustée par //Velvet Blues Update URLs// sinon, **MODIFIER**.
 +<WRAP clear></WRAP>
 +\\
 +
 +Enregistrer les modifications -> Vérifier le succès de l'opération. {{Images_Cahier-101-09-168.png?200}} 
 +<WRAP clear></WRAP>
 +
 +===== Liens cassés =====
 +
 +{{ Images_Cahier-101-09-169.png?600}}
 +**Tableau de bord WordPress -> Réglages -> Vérificateur de liens**.
 +
 +<nowiki>-</nowiki> On vérifie //**Cassé**// et //**Redirection**// s'il y a lieu.
 +
 +- //**Adresse e-mail pour la notification**// n'est pas nécessaire, car "Laissez vide pour utiliser l’adresse e-mail spécifiée dans //**Réglages Général**//."
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Test d'achat =====
 +
 +{{Images_Cahier-101-03-006.png?25}} __Seulement pour un serveur branché directement à l'Internet__.\\ 
 +{{Images_Cahier-101-03-006.png?25}} S'assurer que nous sommes en __Mode TEST__ tel que décrit à la section [[nethserver_101_cahier_09_duplicator_migration#Mode Test]].
 +
 +On se logue en tant qu'usager __acheteur-test__ pour quelques achats.
 +
 +<WRAP column 30%>
 +<nowiki>-</nowiki> **Ajoute au panier**.\\ 
 +<nowiki>-</nowiki> **Voir le panier**.
 +|{{ Images_Cahier-101-09-170.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +\\ 
 +On entre les informations demandées.
 +|{{ Images_Cahier-101-09-171.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +<nowiki>-</nowiki> On clique **J'ai lu et j'accepte...**\\ 
 +<nowiki>-</nowiki> **Commander**.
 +|{{ Images_Cahier-101-09-172.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +Retour sur le site.
 +|{{ Images_Cahier-101-09-173.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +On clique **Assistance à distance...**
 +|{{ Images_Cahier-101-09-174.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +On ouvre le fichier.
 +|{{ Images_Cahier-101-09-175.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +\\ 
 +Le fichier s'affiche.
 +|{{ Images_Cahier-101-09-176.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +Le récepteur de courriels reçoit la notification d'une nouvelle commande.
 +|{{ Images_Cahier-101-09-177.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +**Tableau de bord -> WooCommerce -> Commandes ->** on affiche la commande.
 +|{{ Images_Cahier-101-09-178.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\
 +
 +<WRAP column 30%>
 +<nowiki>-</nowiki> Au bas de la description de la commande, on voit qu'un téléchargement a eut lieu.
 +
 +<nowiki>-</nowiki> Le client a reçu un courriel de remerciement contenant les liens de téléchargement.
 +
 +Les achats fonctionnent parfaitement.
 +
 +{{Images_Cahier-101-03-006.png?25}} <wrap em>On retourne en Mode RÉEL</wrap>.
 +</WRAP>
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-179.png?400 }}|
 +</WRAP>
 +<WRAP column 30%>
 +|{{ Images_Cahier-101-09-180.png?400 }}|
 +</WRAP>
 +<WRAP clear></WRAP>
 +\\ 
 +
 +===== Suppression du répertoire temporaire =====
 +
 +{{Images_Cahier-101-03-008.png?25}} Le répertoire temporaire n'est plus nécessaire, on doit le supprimer car il contient la BD de sauvegarde.\\ 
 +On sort du répertoire ''/temp'' pour retourner au répertoire personnel de root.
 +
 +<file>
 +[root@tchana temp]# cd
 +
 +[root@tchana ~]#
 +</file>
 +
 +On supprime le répertoire ''/temp''.\\ 
 +{{Images_Cahier-101-03-006.png?25}} L'option //**-f**// de la commande ''rm'' ne demande aucune confirmation et __ne pardonne pas les erreurs de frappe__.
 +
 +<file>
 +[root@tchana ~]# rm -rf /temp
 +
 +[root@tchana ~]#
 +</file>
 +
 +On vérifie.
 +
 +<file>
 +[root@tchana ~]# ls -als /temp
 +
 +ls: impossible d'accéder à /temp: Aucun fichier ou dossier de ce type
 +[root@tchana ~]#
 +</file>
 +\\ 
 +
 +===== Sauvegarde =====
 +
 +==== Serveur physique directement relié à l'Internet ====
 +
 +Après la restauration, il est fortement recommandé de créer une sauvegarde complète avec //Duplicator// pour survivre en cas de désastre. La récupération de cette sauvegarde sera très facile, car elle sera remise sur la même machine et il n'y aura aucune manipulation à faire après la récupération sauf, nettoyer les fichiers du Paquet.
 +
 +On crée aussi une sauvegarde régulière NethServer du serveur de DESTINATION.
 +
 +==== Serveur virtuel sur le réseau LOCAL ====
 +
 +Pour une machine virtuelle du serveur DESTINATION, on peut prendre un instantané du Serveur NethServer.
 +\\ 
 +
 +<WRAP centeralign>
 +**La machine virtuelle sur le poste de travail servira à tester les mises à jour,\\ 
 +les nouvelles extensions et la création de nouveaux produits\\ 
 +sans aucun danger pour notre site physique.**
 +</WRAP>
 +\\ 
 +
 +====== Conclusion ======
 +
 +===== Difficultés particulières =====
 +
 +Nous avions quelques difficultés particulières pour les locutions, mais tout s'est bien passé.
 +
 +{{Images_Cahier-101-03-004.png?25}} Si le site SOURCE et le site DESTINATION utilisent le même nom de domaine, les liens seront automatiquement les mêmes et aucun n'aura à être ajusté. Les deux serveurs peuvent utiliser le même nom de domaine __pourvu que leur ''hostname'' soit différent__; l'un peut s'appeler //toto// et l'autre //titi//.
 +
 +{{Images_Cahier-101-03-003.png?22}} Le hostname de DESTINATION étant différent de celui de SOURCE, il faudra peut-être ajuster le nom du répertoire partagé sur la station distante qui reçoit les __sauvegardes régulières__ du Serveur NethServer sinon, le serveur ne le trouvera pas en cas d'une restauration des données.
 +\\ 
 +
 +===== Quelques conseils pratiques =====
 +
 +  - Sur le site de DESTINATION, autant que possible, utiliser un nom d'administrateur et un mot de passe différents de ceux du site SOURCE afin d'éviter les erreurs de distraction lorsqu'on ouvrira plusieurs écrans //PuTTY// vers la SOURCE en même temps que vers la DESTINATION.
 +  - Toujours mettre les écrans de la SOURCE à gauche du bureau du poste de travail et ceux de la DESTINATION à droite. Vous ne regretterez pas cette petite astuce, car une distraction est si vite arrivée et, modifier le site SOURCE en pensant modifier le site de DESTINATION est une __erreur courante__.
 +  - Prendre le navigateur //Firefox// pour un site et //Chrome// pour l'autre site.
 +  - Si vous avez un nom de domaine //FQDN// pour votre migration et que vous pouvez y accéder par Internet, utilisez le navigateur //TOR// pour les vérifications. //TOR// n'accède jamais directement à travers le réseau LOCAL, il passe toujours par l'Internet.
 +  - {{Images_Cahier-101-03-003.png?22}} Si vous désinstallez l'extension //Wordfence Security//, il faut absolument vérifier la suppression des directives s'y rapportant dans le fichier ''.htaccess'' sinon, le site Web ne démarrera pas.
 +\\ 
 +
 +===== Assistance à distance TeamViewer =====
 +
 +**TeamViewer** est une application intuitive, rapide et sécuritaire destinée au contrôle à distance et aux réunions.
 +
 +L'installation et la configuration de TeamViewer sont présentées dans le [[nethserver_101_cahier_02_installations_configurations_logiciels_prerequis|Cahier-02]]: //Installations & configurations des logiciels prérequis//.
 +\\ 
 +
 +===== Autre méthode de clonage =====
 +
 +Pour un clone du serveur SOURCE sur un serveur DESTINATION nous aurions pu simplement:
 +
 +☐ Créer __une sauvegarde BackupPC__ du server SOURCE et la restaurer sur DESTINATION, voir: [[nethserver_101_cahier_11_nethserver_backuppc|Cahier-11]]: //BackupPC//.
 +
 +De cette façon, tout aurait fonctionné sans aucun ajustement à faire __sauf peut-être, ajuster les cartes réseau__.
 +\\ 
 +\\ 
 +{{NS-101_002_Banniere_Victoire.png?50}}  Victoire totale, hissons la bannière de la victoire.
 +\\ 
 +
 +----
 +
 +====== Crédits ======
 +
 +© 2012-2016-2017-2018-2019 RF-232\\
 +Auteur: Michel-André CLP.\\ 
 +Remerciement: Tous les contributeurs GNU/GPL.\\ 
 +Intégré par: Michel-André Robillard CLP.\\ 
 +Contact: michelandre at micronator.org
 +
 +Répertoire de ce document: <nowiki>E:\000_DocPourRF232_general\RF-232_NethServer_DokuWiki\101-09_RF-232_Cours_NethServer-101_Cahier-09_Duplicator_2019-08-06_15h07.odt</nowiki>
 +
 +Historique des modifications:
 +
 +^Version^Date^Commentaire^Auteur|
 +|0.0.1|2012-11-25|Début.|Michel-André|
 +|0.0.2|2012-12-13|Coquille dans l'entête de l'index.|Michel-André|
 +|0.0.3|2012-12-14|Ajout du paragraphe de vérifications des liens internes à vérifier.|Michel-André|
 +|0.1.0|2016-04-04|Mise à jour.|Michel-André|
 +|0.2.0|2016-10-24|Mise à jour complète.|Michel-André|
 +|1.0.0|2017-03-31|Ré-écriture pour l'utilisation de Duplicator dans le cours Micronator-101.|Michel-André|
 +|1.0.1|2017-04-11|- Correction pour l'affichage des paramètres de php.ini de PHP-5.6 dans le chapitre Serveur DESTINATION.\\ - Mis l'ajustement de l'Adresse de messagerie dans Réglages/Général en premier pour améliorer certains liens qui s'ajusteront auto­ma­ti­que­ment.|Michel-André|
 +|1.0.2|2017-04-16|Corrections orthographiques, coquilles.|Michel-André|
 +|2.0.0|2018-04-07|Mise à jour.|Michel-André|
 +|3.0.0|2018-10-30|Mise à jour complète.|Michel-André|
 +|3.0.1|2018-11-06|Suppression d'un paragraphe double pour le Cours Micronator-101.|Michel-André|
 +|4.0.0|2019-03-08|Adaptation pour NethServer-7.6.1810.|Michel-André|
 +|4.0.1|2019-04-21|- Ajuster le diagramme du paragraphe But de la migration.\\ - Ajuster la section Répertoire wp-snapshots pour spécifier la configu­ra­tion sur un Serveur SME ou sur un Serveur NethServer.\\ - Ajout pour le paramétrage du temps d'exécution de PHP.\\ - Ajouter une remarque lors de l'affichage de Forbidden You don't have permission to access /dup-installer/main.installer.php on this server.\\ - Ajout à la section Première connexion.\\ - Différentes autres petites modifications et ajouts.\\ - Changement du propriétaire:groupe pour apache:apache du répertoire /var/lib/nethserver/vhost/devnet/.|Michel-André|
 +|4.0.2|2019-06-25|Corrections mineures.|Michel-André|
 +|4.1.0|2019-07-30|Ajustements pour DokuWiki.|Michel-André|
 +|4.1.1|2019-08-19|Suppression du "sticky bit" pour les fichiers|Michel-André|
 +|12345678901| | |12345678901|
 +
 +
 +<html><hr style="width:50%; margin: 0 auto;"></html>
 +
 +===== AVIS DE NON-RESPONSABILITÉ =====
 +
 +Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce do­cument sont fournis sans engagement et peuvent être modifiés à tout moment. RF‑232 n'offre aucune garantie quant à l'actualité, la conformité, l'exhaustivité, la qualité et la durabilité des informations, contenus et fonctionnalités de ce document. L'accès et l'utilisation de ce document se font sous la seule responsabilité du lecteur ou de l'utilisateur.
 +
 +RF‑232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages di­rects ou indirects, ainsi que des dommages consécutifs résultant de l'accès ou de l'utilisation de ce document ou de son contenu.
 +
 +Chaque internaute doit prendre toutes les mesures appropriées //(mettre à jour régulièrement son logiciel antivirus, ne pas ouvrir des documents suspects de source douteuse ou non connue)// de façon à protéger le contenu de son ordina­teur de la contamination d'éventuels virus circulant sur la Toile.
 +
 +Toute reproduction interdite
 +Vous reconnaissez et acceptez que tout le contenu de ce document, incluant mais sans s’y limiter, le texte et les images, sont protégés par le droit d’auteur, les marques de commerce, les marques de service, les brevets, les secrets industriels et les autres droits de propriété intellectuelle. Sauf autorisation expresse de RF-232, vous acceptez de ne pas vendre, délivrer une licence, louer, modifier, distribuer, copier, reproduire, transmettre, afficher publiquement, exécuter en public, publier, adapter, éditer ou créer d’oeuvres dérivées de ce document et de son contenu.
 +
 +==== Avertissement====
 +
 +Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.
 +\\
 +\\