SME-101.07 Duplicator

From SME Server
Revision as of 03:49, 12 November 2018 by Michelandre (talk | contribs) (GA-0.0.2 // Ajustement pour TOC // Mise à jour des liens pour le Cours SME-101 // 2018-11-11 @21h49 HNE.)
Jump to navigation Jump to search

Description générale

Le Cahier-7 du cours SME-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-4.9.8 et dans lequel nous allons installer 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 dev.dev.micronator-101.com (DESTINATION). Le domaine dev.micronator-101.com est un sous-domaine de micronator-101.com.

Cette marche à suivre peut aussi bien servir pour la création d'un clone d'un site Web virtuel vers un site sur une quincaillerie physique que l'inverse, c.à-d. physique vers virtuel.

   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.

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

 
 

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 le développement.
  • 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.


Déplacement et sauvegarde

Duplicator crée un "paquet" qui contient le contenu du site, sa base de données, les thèmes, extensions et fichiers du coeur 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 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.


Prenez note

   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

   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é créé au paragraphe "Duplicator" dans la section "Fichier .htaccess" du Cahier-5A: SME & WordPress.


But final de ce cahier


But final du cours SME-101

Après avoir suivi le cours SME-101, l'Étudiant possédera un site de Commerce en ligne fiable et hautement sécuritaire. De plus, il pourra utiliser un clone de son site, sur un Serveur SME virtuel sur sa station de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de son site en ligne.



Documentation

Le cours SME-101, se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:


  Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sous. Le seul achat nécessaire est l'obtention d'un nom de domaine FQDN au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.

Particularités de ce document

Notes au lecteur

  • Les captures d’écrans ne sont que des références.
  • Les informations écrites ont préséance sur celles retrouvées dans les captures d’écrans. Se référer aux différents tableaux lorsque ceux-ci sont présents.

Conventions

  • Toutes les commandes à entrer à la console du Serveur SME commencent habituellement avec l'invite # pour l'usager root ou $ pour un usager sans privilège particulier.
  • L'invite mysql> de la console MySQL est toujours présente.
  • La sortie de la commande est séparée de celle-ci par une ligne vide sans couleur de fond.
  • L'invite de retour n'est jamais présent pour la plupart des commandes.
  • Les affichages à surveiller sont en rouge, bleu, orange ou magenta.
# ping 192.168.1.149
192.168.1.149 is alive


Les liens de référence Internet sont en bleu de même que ceux intra-document mais, ces derniers débute par un " # ".

   Manipulation, truc ou ruse pour se tirer d’embarras.

   Une recommandation ou astuce.

   Une note.

   Une étape, note ou procédure à surveiller.

   Danger pour la sécurité du système.

   Indique que la commande est sur une seule ligne. Pour ce document en PDF, il faudra copier la commande entière dans un éditeur de texte ASCII tel que NotePad++ et la mettre sur une seule ligne avant de la copier à la console.

Une chaîne de caractères en magenta indique qu’il faut remplacer cette chaîne par vos propres paramètres.

Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.


Environnement et marche à suivre

Introduction

Le site eCommerce de Micronator est installé sur notre Serveur SME physique, dans l'i-bay mn-101. L'URL de notre site eCommerce est: https://www.micronator-101.com.

Nous allons migrer un clone, ou copie complète de notre site source, vers une machine virtuelle possédant une adresse IP privée. Nous utiliserons l'i-bay Primary sur cette machine physique.

Notre site SOURCE: https://www.micronator-101.com/.

Notre site de DESTINATION: https://www.dev.micronator-101.com/.

   Si votre site est situé directement dans une autre i-bay que Primary (notre cas) et que le FQDN de votre domaine pointe directement sur cette i-bay, nous vous recommandons d'installer la récupération dans l'i-bay Primary du serveur de DESTINATION.

   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.


But de la migration

Prendre le site sur le serveur dorgee.micronator-101.com et le "dupliquer" sur le serveur dev.dev.micronator-101.com.


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 l'i-bay Primary.
  • 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 page 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êmes 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.
  • 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.

   Il faudra tenir compte de toutes ces particularités lors de la génération/récupération de la sauvegarde (paquet Duplicator).


Site original (source)

http://www.micronator-101.com/


Matériel utilisé

Site Source

Nous utilisons comme SOURCE un Serveur SME physique qui roule présentement WordPress-4.9.8 et qui est connecté directement à Internet.

  • FQDN du domainemicronator-101.com.
  • Mode → serveur & passerelle.
  • Nom du serveurdorgee.micronator-101.com.
  •    I-baymn-101.
  • Adresse IP → LOCAL - 192.168.1.1 // Externe - 206.248.138.152.


Serveur de Destination

  • FQDN du domainedev.micronator-101.com.
  • Mode → serveur & passerelle.
  • Nom du serveurdev.dev.micronator-101.com.
  • I-bayPrimary.
  • Adresse IP → Externe - 192.168.1.11 privée et fixe.

Ce serveur n'est pas relié directement à l'Internet mais utilise la passerelle 192.168.1.1 pour y accéder.


Marche à suivre

  • Vérifier la configuration de l'extension Duplicator sur le serveur SOURCE.
  • Exécuter la sauvegarde du site SOURCE.
  • Télécharger la sauvegarde: le script installer.php et le fichier readme.html sur une station de travail.
  • Supprimer les fichiers réservés et le cache du serveur SOURCE.
  • Installer la distribution SME sur le site de DESTINATION et la mettre à jour.
  • Configurer le serveur de DESTINATION avec les mêmes utilisateurs et paramètres de configuration que ceux du serveur source: paramètres de db config, gabarits personnalisés et toutes les mêmes Contribs.
  • Donner le droit d'écriture au répertoire html de l'i-bay de destination.
  • Téléverser la sauvegarde et le script installer.php depuis la station sur le serveur de DESTINATION.
  • Créer et configurer une nouvelle base de données avec le même nom, le même utilisateur 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 créé par Duplicator.
  • Supprimer la paquet, le script installer.php et les fichiers réservés de la sauvegarde du site de DESTINATION.
  • Vérifier le fichier .htaccess.
  • Vérifier le fichier wordfence-waf.php.
  • Lancer le script des droits et permissions.
  • Enlever le droit d'écriture au répertoire html de l'i-bay de destination.
  • Téléverser le fichier readme.html sur le serveur et ajuster: son propriétaire, groupe, droits et permissions.
  • 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 liens: menus, widgets, liens, boutons, pages, articles, pied de page, etc...
  • Si ce n'est déjà fait, demander un certificat Let's Encrypt pour le serveur de DESTINATION.
  • Créer une sauvegarde Duplicator du nouveau site de DESTINATION.
  • Créer une sauvegarde régulière SME de la machine physique de DESTINATION pour pouvoir y revenir en cas de désastre.
  • Pour une machine virtuelle du serveur de DESTINATION, on peut prendre un instantané du Serveur SME.


Extension Duplicator

Introduction

Dans le Cahier-5A: SME & WordPress, nous avons créé le répertoire wp-snapshots au paragraphe "Duplicator" dans la section "Fichier .htaccess". Les prérequis pour l'installation de WordPress sont aussi décrits dans le Cahier-5A.

La présente section reproduit l'installation de "Duplicator" au cas ou l'étudiant n'aurait que ce Cahier-ci à sa disposition.


Répertoire wp-snapshots

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.

   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.

# mkdir -p /home/e-smith/files/ibays/Primary/html/wp-snapshots/tmp


   Plus loin, le lancement du script droits_ibay.sh va s'occuper de donner les droits nécessaires pour le répertoire wp-snapshots.


Installation

 
 
  • Tableau de bord  >  Extensions  >  Ajouter  >  Mot clé Duplicator  >  Installer.
  • On entre les informations demandées  >  Continuer.



 
 
  • Activer.
  • L'extension "Duplicator" est installée et activée.



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.

   Ajuster selon l'i-bay utilisée.

# droits_ibay.sh Primary
Vous avez bien spécifié l'i-bay: "/home/e-smith/files/ibays/Primary"? 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

...

   Il faut que le groupe ait le droit d'écriture (w) dans les arborescences wp-content et wp-snapshots.


Configuration

 
 
  • - Un nouveau menu a été créé dans le Tableau de bord.
    - Duplicator  >  Outils.
  • - Cliquer les titres pour les dérouler.
    - Tous les composants et paramètres de notre site sont affichés.

WordPress est à la version 4.9.8.

PHP est bien à la version 7.1.16 (Collection PHP70).

MySQL est bien à la version 5.7.16 (Collection MySQL57).

On peut voir les "Limite de mémoire" que nous avons définie précédemment.

Le Chemin du mysqldump sera ajusté ci-dessous pour prendre celui de la Collection MySQL57.


 
  • On cherche le chemin de mysqldump57.

# which mysqldump57

alias mysqldump57='/opt/rh/rh-mysql57/root/usr/bin/mysqldump --socket=/var/lib/mysql/mysql57.sock' /opt/rh/rh-mysql57/root/usr/bin/mysqldump

   La sortie de la commande est sur une seule ligne.


☑ Tableau de bord  >  Duplicator  >  Réglages  >  onglet Paquets.

☑ 

"Mysqldump"  >  "Chemin personnalisé"  >  on entre le chemin trouvé ci-dessus par which mysqldump57.
/opt/rh/rh-mysql57/root/usr/bin/mysqldump

☑ Enregistrer les réglages du paquet.



 
 
  • ☑ On s'assure du succès de l'opération.
  • ☑ On vérifie si la commande a été trouvée.



Abonnement à l'infolettre

 
 
  • - Tableau de bord  >  Duplicator  >  Réglages  >  onglet À propos  >  "Restez dans la boucle".
    - Entrer votre adresse courriel  >  cochez "Check this box if you..."  >  Sign me up!
  • Après avoir reçu le courriel d'abonnement, on confirme en répondant.



Serveur source

Vérification de la configuration de Duplicator

Tableau de bord  >  Duplicator  >  Outils  >  onglet Information  >  Diagnostics.

On développe tous les menus.


Examiner la page Information pour s'assurer qu'elle n'affiche aucun avertissement ou erreur.


Validateur de scan

Cliquer Lancer le scan de vérification d'intégrité (peut prendre un certain temps).


 
  • OK.



Le Validateur n'a trouvé aucun problème.


Onglets de configuration

 
 
  • - Tableau de bord  >  Duplicator  >  Réglages  >  onglet Général.
    - On prend les défauts.
    - Si on change un paramètre  >  Enregistrer les réglages généraux.
  • - Onglet Paquets.
    - Format de date, on choisit Y-m-d H:i:s.
    - On s'assure que l'option "Mysqldump" est coché et que le chemin de la commande est bien: /opt/rh/rh-mysql57/root/usr/bin/mysqldump  >  Enregistrer les réglages du paquets.



 
 
  • - Onglet Planification.
    - Seulement pour la version "Pro".
  • - Onglet Stockage.
    - Seulement pour la version "Pro".



 
 
  • - Onglet Licence.
    - Pour se procurer une version "Pro".
  • Pour s'abonner à l'infolettre.



Sauvegarde

 
 

  Duplicator nomme une sauvegarde "paquet".

  • Tableau de bord  >  Duplicator  >  Paquets  >  Créer un paquet.
  • On ajoute l'heure au nom de la sauvegarde.



 
  • On clique [Ajouter des notes] et on peut en ajouter une qui spécifie la raison de cette sauvegarde.



On efface le filtre pour les dossiers de l'encadré en cliquant Effacer.


 
 
  • - 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.
    - Nous avons installé "MySQL57", le chemin sera alors:
    localhost:/var/lib/mysql/mysql57.sock
    -   On peut laisser les autres champs vides et les remplir lors de la restauration.
    - Suivant pour lancer le balayage.
  • Le balayage est lancé.



 
 
  • On peut ignorer la "Notification" pour "Fichiers".
  • - "Vérification des noms"  >  cocher tous les fichiers et le "X".
    - Add filters & Rescan.



 
 
  • Le filtre rapide est disparu.
  • Cocher Oui. Continuons avec le processus d'assemblage !  >  Création.



 
 
 
  • - La sauvegarde est en assemblage.
    - Gardez cette fenêtre ouverte pendant le processus d’assemblage.
    - Peut prendre plusieurs minutes.
  • On clique Installeur pour télécharger le script d'installation qu'on sauvegarde sur la station de travail.
  • On clique Archive pour télécharger la sauvegarde, qu'on met dans le même répertoire que l'Installeur, sur la station de travail.
       Nous aurions pu utiliser Téléchargement en 1 clic qui revient au même résultat.
       Le fichier de l'Installeur est différent pour chaque paquet, il faut toujours le télécharger avec chaque "paquet".


Copie du fichier readme.html

   On copie le fichier /home/e-smith/files/ibays/mn-101/readme.html dans le même répertoire que l'Installeur, sur la station de travail.


   Ces trois fichiers sont les seuls nécessaires pour une restauration ou une migration.


Les différentes composantes de la sauvegarde sont dans le répertoire wp-snapshots du serveur SOURCE.

# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots
total 919356
     4 drwxrws---  3 admin  www      4096 31 oct.  17:11 .
     4 drwxr-s--- 10 admin  www      4096 23 oct.  15:00 ..
902584 -rw-r--r--  1 apache www 924241745 31 oct.  17:11 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip
 14688 -rw-r--r--  1 apache www  15040323 31 oct.  17:10 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_database.sql
   516 -rw-r--r--  1 apache www    526560 31 oct.  17:11 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_installer.php
     4 -rw-r--r--  1 apache www      3543 31 oct.  17:11 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406.log
  1540 -rw-r--r--  1 apache www   1575104 31 oct.  17:01 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_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 31 oct.  17:11 
     4 drwxrws---  2 admin  www      4096 31 oct.  17:11 tmp


Nettoyage

   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.

Tableau de bord  >  Duplicator  >  Outils  >  Diagnostics  >  onglet Information.

   Nous pourrions supprimer les fichiers en cliquant Supprimer les fichier d'installation mais, cette manipulation ne fonctionne pas toujours.

   Plus loin, on utilisera une autre méthode de suppression.


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.

   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 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.

Tableau de bord  >  Duplicator  >  Paquets  >  cocher le paquet à supprimer  >  dérouler le menu et choisir Supprimer  >  Appliquer.


 
 
  • OK.
  • Patienter...



Au retour, Duplicator ne trouve plus le "paquet", il a été supprimé.


On vérifie.

# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots
total 24
4 drwxrws---  3 admin www 4096 31 oct.  17:30 .
4 drwxr-s--- 10 admin www 4096 23 oct.  15:00 ..
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 31 oct.  17:11 tmp


On vérifie le "cache" c.-à-d. le répertoire tmp.

# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp/
total 8
4 drwxrws--- 2 admin www 4096 31 oct.  17:11 .
4 drwxrws--- 3 admin www 4096 31 oct.  17:30 ..

Les fichiers du "paquet" ont été supprimés et le cache a été vidé.


Serveur de destination

Installation

Serveur virtuel

Pour le serveur de DESTINATION, on peut utiliser le même Serveur SME 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. Toutes les autres manipulations seront strictement identiques.


Serveur physique

On peut utiliser le Cahier-2: Installation d'un Serveur SME pour l'installation et la mise à jour d'une quincaillerie physique. La procédure d'installation est exactement la même; au lieu d'attacher le CD/DVD au lecteur virtuel, on l'insère dans le lecteur physique du serveur de destination.

   Il faut installer les mêmes Contribs sur le serveur de DESTINATION que celles installées sur le serveur SOURCE. Voir le Cahier-5A à la section: Prérequis.


Mise à jour

Mettre à jour le Serveur SME. Voir le Cahier-2 à la section: Mise à jour.


Scripts des droits et permissions

On a déjà crée ces scripts sur le Serveur SME dev.dev.micronator-101.com.

Pour la création de ces scripts voir, le chapitre Scripts d'ajustement des droits et permissions dans le Cahier-5A: SME & WordPress.

On vérifie les fichiers originaux.

# ls -als /root/droits_*
8 -rw-r--r-- 1 root root 4190  8 avril  2017 /root/droits_debut_MAJ-WP.sh
8 -rw-r--r-- 1 root root 4272  8 avril  2017 /root/droits_fin_MAJ-WP.sh
8 -rw-r--r-- 1 root root 4108  8 avril  2017 /root/droits_ibay.sh


On vérifie les liens.

# ls -als /bin/droits_*
0 lrwxrwxrwx 1 root root 28 15 oct.  10:16 /bin/droits_debut_MAJ-WP.sh -> /root/droits_debut_MAJ-WP.sh
0 lrwxrwxrwx 1 root root 26 15 oct.  10:17 /bin/droits_fin_MAJ-WP.sh -> /root/droits_fin_MAJ-WP.sh
0 lrwxrwxrwx 1 root root 20 15 oct.  10:14 /bin/droits_ibay.sh -> /root/droits_ibay.sh


Certificat Let's Encrypt

On a déjà installé un certificat Let's Encrypt en suivant les instructions du Cahier-4 à la section: Certificat Let's Encrypt puis, on a forcé une nouvelle installation pour tenir compte du domaine dev.micronator-101.com dans le Cahier-5B à la section: Utilisation du serveur de développement.

On vérifie.

# config show modSSL
modSSL=service
    CertificateChainFile=/etc/dehydrated/certs/dev.micronator-101.com/chain.pem
    TCPPort=443
    access=public
    crt=/etc/dehydrated/certs/dev.micronator-101.com/cert.pem
    key=/etc/dehydrated/certs/dev.micronator-101.com/privkey.pem
    status=enabled


Contrib PHP SCL

On a déjà installé la Contrib des "PHP Software Collections" (pour choisir la version de PHP). Pour l'installation de cette Contrib voir le Cahier-5A à la section: Collection PHP70.

On vérifie.

# rpm -qa | grep scl-
scl-utils-20120927-29.el6_9.x86_64
smeserver-php-scl-0.4-17.el6.sme.noarch


Vérification de la version PHP-7.1 pour les i-bays

 
 
  • On se logue dans le gestionnaire du serveur: https://www.dev.micronator-101.com/server-manager.
  • - Configuration  >  Versions de PHP-SCL.
    - Version de PHP-mod.



 
 
  • C'est bien la version "PHP71" qui est utilisée sinon, on la choisit  >  Enregistrer.
  • On s'assure du succès de l'opération.



Utilisateurs

Nous avons déjà crée les utilisateurs et on leur a assigné leur mot de passe: chargeurprim, chargeursec, michelandre, acheteur, paiement-paypal, acheteur-test, paiement-stripe et wordfence.

# tail -n8 /etc/passwd
chargeurprim:x:5001:500:Telechargeur Primaire:/home/e-smith/files/users/chargeurprim:/usr/bin/rssh
chargeursec:x:5002:102:Telechargeur Secondaire:/home/e-smith/files/users/chargeursec:/usr/bin/rssh
michelandre:x:5003:5003:Michel-Andre Rob:/home/e-smith/files/users/michelandre:/usr/bin/rssh
acheteur:x:5004:5004:Acheteur Micronator:/home/e-smith/files/users/acheteur:/usr/bin/rssh
paiement-paypal:x:5005:5005:Paiement pour la DOC Paypal:/home/e-smith/files/users/paiement-paypal:/usr/bin/rssh
acheteur-test:x:5006:5006:Acheteur Test pour la DOC:/home/e-smith/files/users/acheteur-test:/usr/bin/rssh
paiement-stripe:x:5007:5007:Paiement Stripe pour la DOC:/home/e-smith/files/users/paiement-stripe:/usr/bin/rssh
wordfence:x:5008:5008:Word Fence:/home/e-smith/files/users/wordfence:/usr/bin/rssh


Paramètres de php.ini

On a crée les gabarits personnalisés pour les paramètres de php.ini. Voir le Cahier-5A à la section: Paramètres de php.ini.

On vérifie.

# config show php71
php71=configuration
    AllowUrlFopen=Off
    MaxExecutionTime=30
    MaxFileUpload=20
    MaxInputTime=60
    MemoryLimit=256M
    PhpModule=enabled
    PostMaxSize=52M
    UploadMaxFilesize=50M

Les grandeurs maximales doivent être de 256M, 52M et 50M.

   Ces grandeurs peuvent être différentes mais, elles doivent être dans l'ordre de décroissance suivant: MemoryLimit > PostMaxSize > UploadMaxFilesize.


Répertoire temporaire de téléchargement

On a déjà spécifié un répertoire temporaire à l'i-bay Primary pour les téléchargements par WordPress.

On vérifie.

# db accounts show Primary
    PHPBaseDir=/home/e-smith/files/ibays/Primary:/tmp
    AllowOverride=all
    CgiBin=enabled
    FollowSymLinks=enabled
    Group=shared
    Indexes=disabled
    Modifiable=no
    Name=Primary i-bay
    PHPBaseDir=/home/e-smith/files/ibays/Primary:/tmp
    PasswordSet=no
    Passwordable=no
    PublicAccess=global
    Removable=no
    UserAccess=wr-admin-rd-group

La BD de comptes pour les Permaliens a elle aussi été configurée (en bleu ci-dessus).


Préparation du répertoire html

   On donne au groupe le droit d'écriture dans le répertoire html de l'i-bay Primary afin que Duplicator puisse créer des répertoires dans la racine de notre site c.-à-d. dans html lors de la restauration.

# chmod g+w /home/e-smith/files/ibays/Primary/html/


On vérifie.

# ls -lsd /home/e-smith/files/ibays/Primary/html/
4 drwxrws--- 9 admin shared 4096 31 oct.  16:40 /home/e-smith/files/ibays/Primary/html/


On se rend dans le répertoire html de l'i-bay Primary.

# cd /home/e-smith/files/ibays/Primary/html/


On affiche le contenu du répertoire racine de notre site sur le serveur de DESTINATION.

# ls -als
total 220
 4 drwxrws---  9 admin shared  4096 22 oct.  11:27 .
 4 drwxr-xr-x  6 root  root    4096 16 oct.  18:41 ..
 4 -rw-r-----  1 admin shared  1064 16 oct.  18:39 .htaccess
 4 -rw-r-----  1 admin shared   418 24 sept.  2013 index.php
20 -rw-r-----  1 admin shared 19935 15 oct.  10:48 license.txt
 4 drwxr-s--- 13 admin shared  4096 22 oct.  11:27 PDF
 4 drwxr-s---  3 admin shared  4096 15 oct.  11:55 Ut
 4 drwxr-s---  3 admin shared  4096  3 oct.  16:33 .well-known
 4 -rw-r-----  1 admin shared   418 16 oct.  18:35 wordfence-waf.php
 8 -rw-r-----  1 admin shared  5458 15 oct.  10:48 wp-activate.php
 4 drwxr-s---  9 admin shared  4096 15 oct.  10:48 wp-admin
 4 -rw-r-----  1 admin shared   364 19 déc.   2015 wp-blog-header.php
 4 -rw-r-----  1 admin shared  1889 15 oct.  10:48 wp-comments-post.php
 4 -rw-r-----  1 admin shared  3722 16 oct.  18:15 wp-config.php
 4 -rw-r-----  1 admin shared  3581 15 oct.  10:48 wp-config-sample.php
 4 drwxrws---  8 admin shared  4096 30 oct.  22:48 wp-content
 4 -rw-r-----  1 admin shared  3669 15 oct.  10:48 wp-cron.php
12 drwxr-s--- 18 admin shared 12288 15 oct.  10:48 wp-includes
 4 -rw-r-----  1 admin shared  2422 15 oct.  10:48 wp-links-opml.php
 4 -rw-r-----  1 admin shared  3306 15 oct.  10:48 wp-load.php
40 -rw-r-----  1 admin shared 37794 15 oct.  10:48 wp-login.php
 8 -rw-r-----  1 admin shared  8048 15 oct.  10:48 wp-mail.php
16 -rw-r-----  1 admin shared 16246 15 oct.  10:48 wp-settings.php
32 -rw-r-----  1 admin shared 30091 15 oct.  10:48 wp-signup.php
 4 drwxrws---  3 admin shared  4096 15 oct.  11:10 wp-snapshots
 8 -rw-r-----  1 admin shared  4620 15 oct.  10:48 wp-trackback.php
 4 -rw-r-----  1 admin shared  3065 15 oct.  10:48 xmlrpc.php

L'i-bay Primary contient notre site de test des Cahiers précédents, on doit supprimer tout son contenu.


   Vu que notre site sur le serveur SOURCE était dans l'i-bay mn-101, cette dernière ne contenait pas le répertoire .well-known pour Let's Encrypt. Sur le serveur DESTINATION, on sauvegarde donc le répertoire .well-known dans le répertoire /tmp avant de supprimer tout le contenu de l'i-bay Primary.

# cp -a .well-known/ /tmp


On vérifie.

# ls -alsd /tmp/.well-known/
4 drwxr-s--- 3 admin shared 4096  4096 3 oct.  16:33 /tmp/.well-known/


On s'assure qu'on est bien dans le bon répertoire car, la prochaine commande rm -rf ne pardonne pas les erreurs.

# pwd
/home/e-smith/files/ibays/Primary/html


On supprime tout.

# rm -rf *  .*
rm: impossible de supprimer le répertoire : « . »
rm: impossible de supprimer le répertoire : « .. »


On vérifie.

# ls -als
total 8
4 drwxrws--- 2 admin shared 4096 31 oct.  17:48 .
4 drwxr-xr-x 6 root  root   4096 31 oct.  12:49 .


On récupère le répertoire .well-known.

# cp -a /tmp/.well-known/ .


On vérifie.

# ls -alsd .well-known/
4 drwxr-s--- 3 admin shared 4096  3 oct.  16:33 .well-known/


On supprime la sauvegarde du répertoire .well-known/ de /tmp.

# rm -rf /tmp/.well-known/


On vérifie.

# ls -alsd /tmp/.well-known
ls: impossible d'accéder à /tmp/.well-known: Aucun fichier ou dossier de ce type


Base de données pour WordPress

La base de données a déjà été créée avec les mêmes paramètres que ceux de la BD originale du serveur SOURCE. La récupération avec Duplicator va écraser son contenu.

Pour vérifier la BD, on entre dans la console mysql57.

# mysql57
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


On vérifie que la base de données est présente.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| WPBD               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0,03 sec)

mysql>


On vérifie les privilèges de l'usager usager_WPBD.

mysql>  SHOW GRANTS FOR 'usager_WPBD'@'localhost';

+---------------------------------------------------------------+
| Grants for usager_WPBD@localhost                              |
+---------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'usager_WPBD'@'localhost'               |
| GRANT ALL PRIVILEGES ON `WPBD`.* TO 'usager_WPBD'@'localhost' |
+---------------------------------------------------------------+
2 rows in set (0,01 sec)

mysql>


On quitte la console MySQL.

mysql> quit;

Bye
#


Téléversement des fichiers

Fichiers archive.zip et installer.php

Avec WinSCP, on se logue au serveur de DESTINATION. On y téléverse les fichiers pour la restauration dans /home/e-smith/files/ibays/Primary/html.


On vérifie.

# ls -als
total 903112
     4 drwxrws--- 3 admin shared      4096 31 oct.  17:56 .
     4 drwxr-xr-x 6 root  root        4096 31 oct.  12:49 ..
902584 -rw-r--r-- 1 root  shared 924241745 31 oct.  17:14 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip
   516 -rw-r--r-- 1 root  shared    526560 31 oct.  17:13 installer.php
     4 drwxr-s--- 3 admin shared      4096 31 oct.  17:51 .well-known


Fichier readme.html

On téléverse le fichier readme.html dans le répertoire /home/e-smith/files/ibays/Primary/.


On ajuste le propriétaire et le groupe du fichier readme.html.

# chown admin:shared /home/e-smith/files/ibays/Primary/readme.html


On ajuste les droits et propriétés du fichier readme.html.

# chmod 660 /home/e-smith/files/ibays/Primary/readme.html


On vérifie.

# ls -als /home/e-smith/files/ibays/Primary/readme.html
12 -rw-rw---- 1 admin shared 9089  4 août  09:37 /home/e-smith/files/ibays/Primary/readme.html


Tout est en place pour la restauration.


Restauration

Restauration

   Nous avons modifié le fichier hosts de la station de travail pour pouvoir accéder à notre serveur virtuel de DESTINATION en spécifiant son FQDN, voir dans le Cahier-5A à la section Fichier hosts pour répondre aux requêtes DNS.

Avec un navigateur (JavaScript & Témoins activés), on lance installer.php à l'URL suivant: https://FQDN_du-serveur-de-destination/installer.php.

Pour notre serveur ce sera: https://dev.micronator-101.com/installer.php/.


Notices

 
 
  • On clique + PHP Open Base pour afficher l'avertissement.
  • On peut ignorer cet avertissement car, le fichier temporaire de téléchargement à été vérifié précédemment au paragraphe #Répertoire temporaire de téléchargement.



Archive

 
  • Tous les paramètres du fichier de la sauvegarde sont au vert (Pass).



Options

 
  • - "help": Le lien fonctionne et pointe vers des articles (en anglais seulement) qui donnent de très bons conseils sur la restauration.
    - "Extraction": PHP ZipArchive.
    - Cocher Retain original .htaccess, .user.ini and web.config.
    - "Files Times": cliquer Original pour garder les estampilles temporelles.
    -   On clique terms & notices pour afficher les termes et les notifications.

       Une FAQ en fran­çais se trou­ve à la page suivante:
    https://snapcreek.com/duplicator/docs/faqs-tech/.
    On choisit "Français" et la FAQ s'affichera en français.



Terms & Notices

 
  • - On lit les "Terms & Notices" pour faire certain qu'on comprend les termes et les notifications.
    - OK pour fermer la fenêtre.



Extraction de l'archive

 
 
  • -    Si on accepte les "Terms & Notices", il faut cocher la case I have read and accept all terms & notices (required to continue) pour activer le bouton "Next".
    - Next pour extraire l'archive de la sauvegarde.
  • Le processus débute.

Si l'extraction de produit d'erreur, on se rend au paragraphe #Install Database.


 

Erreur

  • Si l'extraction a produit un message d'erreur tel que ci contre, tout n'est pas perdu!



Si nous ne sommes pas dans le répertoire racine de notre site, on s'y rend.

# cd /home/e-smith/files/ibays/Primary/html


On vérifie.

# pwd
/home/e-smith/files/ibays/Primary/html


On vérifie la présence de l'archive.

# ls -ls *.zip
902584 -rw-r--r-- 1 root shared 924241745 31 oct.  17:14 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip


On extrait manuellement l'archive.

# unzip 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip
Archive:  20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip
replace dup-database__aeae5c3-31205406.sql? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: dup-database__aeae5c3-31205406.sql
  inflating: wp-cron.php
  inflating: .well-known/apple-developer-merchantid-domain-association
...
  inflating: wp-includes/class-wp-http-requests-hooks.php
  inflating: wp-includes/class-json.php
  inflating: installer-backup.php


On vérifie.

# ls -als
total 918544
     4 drwxrwsrwx  9 admin shared      4096 31 oct.  18:24 .
     4 drwxr-xr-x  6 root  root        4096 31 oct.  12:49 ..
902584 -rw-r--r--  1 root  shared 924241745 31 oct.  17:14 20181030_10h30_cours101_aeae5c368edbf39b7879_20181031205406_archive.zip
     4 drwxr-sr-x  3 www   shared      4096 31 oct.  18:23 administrator
 14688 -rw-rw-rw-  1 root  shared  15040323 31 oct.  17:10 dup-database__aeae5c3-31205406.sql
     4 -rw-r--r--  1 www   shared      1767 31 oct.  18:09 dup-installer-log__aeae5c3-31205406.txt
     4 -rw-rw-rw-  1 root  shared      1540 19 avril  2017 .htaccess
     4 -rw-rw-rw-  1 root  shared       418 24 sept.  2013 index.php
   516 -rw-rw-rw-  1 root  shared    526560 31 oct.  17:11 installer-backup.php
   516 -rw-r--r--  1 root  shared    526560 31 oct.  17:13 installer.php
    20 -rw-rw-rw-  1 root  shared     19935  4 août  09:37 license.txt
     4 drwxr-sr-x 13 www   shared      4096 31 oct.  18:24 PDF
    12 -rw-r--r--  1 root  shared      9089  4 août  09:37 readme.html
     4 -rw-rw-rw-  1 root  shared       114 19 avril  2017 .user.ini
     4 drwxr-sr-x  3 www   shared      4096 31 oct.  18:05 Ut
     4 drwxr-s---  3 admin shared      4096 31 oct.  18:23 .well-known
     4 -rw-rw-rw-  1 root  shared       415 19 avril  2017 wordfence-waf.php
     8 -rw-rw-rw-  1 root  shared      5458 18 mai   07:40 wp-activate.php
     4 drwxr-sr-x  9 www   shared      4096 31 oct.  18:24 wp-admin
     4 -rw-rw-rw-  1 root  shared       364 19 déc.   2015 wp-blog-header.php
     4 -rw-rw-rw-  1 root  shared      1889 18 mai   07:40 wp-comments-post.php
     4 -rw-rw-rw-  1 root  shared      3886 19 avril  2017 wp-config.php
     4 -rw-rw-rw-  1 root  shared      3581  7 avril  2018 wp-config-sample.php
     4 drwxr-sr-x  8 www   shared      4096 31 oct.  18:23 wp-content
     4 -rw-rw-rw-  1 root  shared      3669 16 nov.   2017 wp-cron.php
    12 drwxr-sr-x 18 www   shared     12288 31 oct.  18:24 wp-includes
     4 -rw-rw-rw-  1 root  shared      2422 24 déc.   2016 wp-links-opml.php
     4 -rw-rw-rw-  1 root  shared      3306 16 nov.   2017 wp-load.php
    40 -rw-rw-rw-  1 root  shared     37794  4 août  09:37 wp-login.php
     8 -rw-rw-rw-  1 root  shared      8048 13 janv.  2017 wp-mail.php
    16 -rw-rw-rw-  1 root  shared     16246 16 nov.   2017 wp-settings.php
    32 -rw-rw-rw-  1 root  shared     30091 18 mai   07:40 wp-signup.php
     8 -rw-rw-rw-  1 root  shared      4620 16 nov.   2017 wp-trackback.php
     4 -rw-rw-rw-  1 root  shared      3065 24 déc.   2016 xmlrpc.php


Extraction manuelle de la BD

 
 
  • Dans le navigateur Web, on recule d'une page.

  • Options.
    - "Extraction": on sélectionne Manual Archive Extraction.
    - Non-nécessaire mais, pour faire certain, on sélectionne les mêmes options qu'auparavant.
    - Si on a lu les "Terms & Notices" et qu'on les accepte, on coche I have read and accept all terms & notices (required to continue).
    - Next.

    Maintenant, on peut continuer avec l'installation de la base de données du prochain paragraphe.


Install Database

Pour "Host" il faut absolument choisir localhost:/var/lib/mysql/mysql57.sock car, nous avons installé la "Collection MySQL57" sur le serveur de DESTINATION.

 
 
  • - "Host": localhost:/var/lib/mysql/mysql57.sock
    - Les noms de la BD et de l'usager ont été entrés lors de la création du "paquet".
    - On entre le mot de passe de la BD.
  • - Les options peuvent rester telles quelles.
    - Test Database pour vérifier l'accès à la BD.


 
 
  • Tout s'est bien passé pour l'accès à la base de données.
  • Next.



 
 
  • Yes pour confirmer l'installation.
  • Duplicator commence par installer la BD.



Update Data

 
  • - La nouvelle configuration s'affiche.

    - On vérifie les nouveaux paramètres affichés.

    -   On peut ajouter un autre administrateur à WordPress.



WP-Config File

 
  • - On vérifie les anciens paramètres affichés.

    -   Cocher Use Database Full Search Mode.

    - Cocher Keep Post GUID Unchanged.

    - Cocher SSL: Enforce on Admin.

    - Next.



Test Site

 
  • -   L'écran le plus important de la restauration.

    - Review Migration Report va afficher le "Database Report".

    - General Notices (1) va afficher "GENERAL NOTICES".



 
  •   Admin login pour afficher l'écran de login de notre nouveau site dans un nouvel onglet du navigateur.



 


 

 
  • On se logue avec les mêmes nom et mot de passe que ceux de l'usager administrateur de WordPress de notre site SOURCE.
  • Supprimer les fichiers d'installation.
  • Le résultat s'affiche.



On vérifie la suppression des fichiers.

# ls -als /home/e-smith/files/ibays/Primary/html/
total 228
 4 drwxrws--- 10 admin shared  4096 31 oct.  23:04 .
 4 drwxr-xr-x  6 root  root    4096 16 oct.  18:41 ..
 4 drwxr-sr-x  3 www   shared  4096 31 oct.  22:56 administrator
 4 -rw-rw-rw-  1 root  shared  1540 19 avril  2017 .htaccess
 4 -rw-rw-rw-  1 root  shared   418 24 sept.  2013 index.php
20 -rw-rw-rw-  1 root  shared 19935  4 août  09:37 license.txt
 4 drwxr-sr-x 13 www   shared  4096 31 oct.  22:56 PDF
 4 -rw-rw-rw-  1 root  shared   114 19 avril  2017 .user.ini
 4 drwxr-sr-x  3 www   shared  4096 31 oct.  22:56 Ut
 4 drwxr-s---  3 admin shared  4096 31 oct.  22:56 .well-known
 4 -rw-rw-rw-  1 root  shared   415 19 avril  2017 wordfence-waf.php
 8 -rw-rw-rw-  1 root  shared  5458 18 mai   07:40 wp-activate.php
 4 drwxr-sr-x  9 www   shared  4096 31 oct.  22:56 wp-admin
 4 -rw-rw-rw-  1 root  shared   364 19 déc.   2015 wp-blog-header.php
 4 -rw-rw-rw-  1 root  shared  1889 18 mai   07:40 wp-comments-post.php
 4 -rw-rw-rw-  1 root  shared  3911 31 oct.  23:02 wp-config.php
 4 -rw-rw-rw-  1 root  shared  3581  7 avril  2018 wp-config-sample.php
 4 drwxr-sr-x  8 www   shared  4096 31 oct.  22:56 wp-content
 4 -rw-rw-rw-  1 root  shared  3669 16 nov.   2017 wp-cron.php
12 drwxr-sr-x 18 www   shared 12288 31 oct.  22:57 wp-includes
 4 -rw-rw-rw-  1 root  shared  2422 24 déc.   2016 wp-links-opml.php
 4 -rw-rw-rw-  1 root  shared  3306 16 nov.   2017 wp-load.php
40 -rw-rw-rw-  1 root  shared 37794  4 août  09:37 wp-login.php
 8 -rw-rw-rw-  1 root  shared  8048 13 janv.  2017 wp-mail.php
16 -rw-rw-rw-  1 root  shared 16246 16 nov.   2017 wp-settings.php
32 -rw-rw-rw-  1 root  shared 30091 18 mai   07:40 wp-signup.php
 4 drwxr-sr-x  2 www   shared  4096 31 oct.  23:02 wp-snapshots
 8 -rw-rw-rw-  1 root  shared  4620 16 nov.   2017 wp-trackback.php
 4 -rw-rw-rw-  1 root  shared  3065 24 déc.   2016 xmlrpc.php

Les fichiers d'installation ont été supprimés mais, les droits ne sont pas corrects; on s'en occupera plus loin.


Vérification

wp-config.php

Duplicator a ajouté quatre nouvelles lignes au fichier wp-config.php; trois pour signaler une relocalisation de WordPress et l'avant-dernière ligne du fichier pour forcer une connexion sécurisée pour l'administrateur de WordPress.

...
// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define('DB_NAME', 'WPBD');#ANCIEN NON DE LA BD');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'usager_WPBD');#ANCIEN NON DE L'USAGER');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'mdp_WPBD');#ANCIEN MDP');

/** Adresse de l'hébergement MySQL. */
define('WP_SITEURL', 'https://dev.micronator-101.com');
define('WP_HOME', 'https://dev.micronator-101.com');
define('RELOCATE',true);
define('DB_HOST', 'localhost:/var/lib/mysql/mysql57.sock');#localhost');
...

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);


   Les anciens noms peuvent être supprimés.

   Les deux derniers define étaient présents dans le fichier wp-config.php du serveur SOURCE.

   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 pour la configuration du fichier WP-Config File (wp-config.php) lors de la restauration au paragraphe #WP-Config File.


Vérification des liens des produits de WooCommerce

 
 
  • Tableau de bord  >  Produits  >  "Micronator-101, Cahier-6:..."  >  Modifier.
  • Les liens pointent vers https://dev.micronator-101.com/liens-de-telechargement/.


Droit d'écriture du répertoire html

Si ce n'est déjà fait, on ouvre une session PuTTY vers dev.dev.micronator-101.com.

On se rend dans le répertoire de l'i-bay Primary.

# cd /home/e-smith/files/ibays/Primary/


On vérifie.

# pwd
/home/e-smith/files/ibays/Primary


On affiche les droits du répertoire html.

# ls -lsd html/
4 drwxrws--- 10 admin shared 4096 31 oct.  23:04 html/


On enlève le droit d'écriture (w) qu'on avait donné au groupe au paragraphe #Préparation du répertoire html.

# chmod g-w /home/e-smith/files/ibays/Primary/html/


On vérifie.

# ls -lsd /home/e-smith/files/ibays/Primary/html/
4 drwxr-s--- 10 admin shared 4096 31 oct.  23:04 html/


Propriétaire, groupe et droits

Il faut ajuster le propriétaire, le groupe, les droits et permissions pour l'i-bay complète. On lance le script droits_ibay.sh.

# droits_ibay.sh Primary
Vous avez bien spécifié l'i-bay:  "/home/e-smith/files/ibays/Primary"?  o/n [o]: [Entrée]
...


On se rend dans le répertoire racine de notre site.

# cd /home/e-smith/files/ibays/Primary/html/


On vérifie.

# pwd
/home/e-smith/files/ibays/Primary/html


On vérifie les droits et permissions du répertoire complet.

# ls -als
total 228
 4 drwxr-s--- 10 admin shared  4096 31 oct.  23:04 .
 4 drwxr-xr-x  6 root  root    4096 16 oct.  18:41 ..
 4 drwxr-s---  3 admin shared  4096 31 oct.  22:56 administrator
 4 -rw-rw-rw-  1 root  shared  1540 19 avril  2017 .htaccess
 4 -rw-rw----  1 admin shared   418 24 sept.  2013 index.php
20 -rw-rw----  1 admin shared 19935  4 août  09:37 license.txt
 4 drwxr-s--- 13 admin shared  4096 31 oct.  22:56 PDF
 4 -rw-rw-rw-  1 root  shared   114 19 avril  2017 .user.ini
 4 drwxr-s---  3 admin shared  4096 31 oct.  22:56 Ut
 4 drwxr-s---  3 admin shared  4096 31 oct.  22:56 .well-known
 4 -rw-rw----  1 admin shared   415 19 avril  2017 wordfence-waf.php
 8 -rw-rw----  1 admin shared  5458 18 mai   07:40 wp-activate.php
 4 drwxr-s---  9 admin shared  4096 31 oct.  22:56 wp-admin
 4 -rw-rw----  1 admin shared   364 19 déc.   2015 wp-blog-header.php
 4 -rw-rw----  1 admin shared  1889 18 mai   07:40 wp-comments-post.php
 4 -rw-rw----  1 admin shared  3911 31 oct.  23:02 wp-config.php
 4 -rw-rw----  1 admin shared  3581  7 avril  2018 wp-config-sample.php
 4 drwxrws---  8 admin shared  4096 31 oct.  22:56 wp-content
 4 -rw-rw----  1 admin shared  3669 16 nov.   2017 wp-cron.php
12 drwxr-s--- 18 admin shared 12288 31 oct.  22:57 wp-includes
 4 -rw-rw----  1 admin shared  2422 24 déc.   2016 wp-links-opml.php
 4 -rw-rw----  1 admin shared  3306 16 nov.   2017 wp-load.php
40 -rw-rw----  1 admin shared 37794  4 août  09:37 wp-login.php
 8 -rw-rw----  1 admin shared  8048 13 janv.  2017 wp-mail.php
16 -rw-rw----  1 admin shared 16246 16 nov.   2017 wp-settings.php
32 -rw-rw----  1 admin shared 30091 18 mai   07:40 wp-signup.php
 4 drwxrws---  2 admin shared  4096 31 oct.  23:02 wp-snapshots
 8 -rw-rw----  1 admin shared  4620 16 nov.   2017 wp-trackback.php
 4 -rw-rw----  1 admin shared  3065 24 déc.   2016 xmlrpc.php


Fichier .htaccess

Le fichier .htaccess a été restauré par Duplicator et il n'est pas adéquat car, la directive php_value auto_prepend_file pointe sur l'i-bay originale de SOURCE; il faut la changer pour qu'elle pointe vers l'i-bay Primary.

# cat .htaccess
# **************************************

# 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


On modifie la directive avec l'utilitaire sed.

# sed -i 's/mn-101/Primary/' .htaccess


On vérifie.

# cat .htaccess | grep auto_prepend_file
        php_value auto_prepend_file '/home/e-smith/files/ibays/Primary/html/wordfence-waf.php'


On ajuste le propriétaire et le groupe du fichier .htaccess car le script des droits n'y touche pas.

# chown admin:shared .htaccess


On ajuste ses droits.

# chmod 640 .htaccess


On vérifie.

# ls -als .htaccess
4 -rw-r----- 1 admin shared 1541 31 oct.  23:27 .htaccess


Fichier .user.ini

Ce fichier appartient à l'extension Wordfence, on vérifie son contenu.

# cat .user.ini
; Wordfence WAF
auto_prepend_file = '/home/e-smith/files/ibays/mn-101/html/wordfence-waf.php'
; END Wordfence WAF
[root@dev html]#


On modifie le nom de l'i-bay avec l'utilitaire sed.

# sed -i 's/mn-101/Primary/' .user.ini


On vérifie.

# cat .user.ini | grep auto_prepend_file
auto_prepend_file = '/home/e-smith/files/ibays/Primary/html/wordfence-waf.php'


On ajuste le propriétaire et le groupe du fichier .user.ini car le script des droits n'y touche pas.

# chown admin:shared .user.ini


On ajuste ses droits.

# chmod 640 .user.ini


On vérifie.

# ls -als .user.ini
4 -rw-r----- 1 admin shared 115 31 oct.  23:34 .user.ini


Fichier wordfence-waf.php

On affiche le fichier wordfence-waf.php pour vérifier s'il faut le modifier afin de l'adapter au nouveau serveur.

# cat wordfence-waf.php
<?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';
}
?>


Même situation que celle des fichiers .htaccess et .user.ini. On modifie le nom de l'i-bay avec l'utilitaire sed.

# sed -i 's/mn-101/Primary/'  wordfence-waf.php


On vérifie.

# cat wordfence-waf.php
<?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/Primary/html/wp-content/plugins/wordfence/waf/bootstrap.php')) {
        define("WFWAF_LOG_PATH", '/home/e-smith/files/ibays/Primary/html/wp-content/wflogs/');
        include_once '/home/e-smith/files/ibays/Primary/html/wp-content/plugins/wordfence/waf/bootstrap.php';
}


Redémarrage du démon httpd

On redémarre le démon httpd pour vérifier si tous les fichiers sont ajustés correctement.

# /etc/init.d/httpd-e-smith restart
Restarting httpd-e-smith                                   [  OK  ]


Vérifications

Page d'accueil

 

  On active JavaScript et les témoins du navigateur.

On supprime l'historique du navigateur et on se rend sur notre nouveau site Web mais, avec seulement http sans s: http://dev.micronator-101.com.


  • - La connexion est sécuritaire et s'est transformée en https.
    - Le cadenas est vert.
    - Le site est identique à celui du serveur SOURCE.



Thème enfant

Pied de page

   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 sur une page statique: wp-content/themes/twentyten-enfant/footer.php.

Les liens s'affichent correctement car, nous avons utilisé des chemins relatifs pour les liens de cette page et pour l'image.


Vérification des liens

Accueil


 
 
  • Sur la page principale, on clique Accueil.
  • On clique le logo Micronator.


   Ces deux liens ne sont pas exactement identiques mais, tous deux pointent vers une page particulière.

  •    "Accueil" fait partie du menu principal et le lien du "logo Micronator" provient de: Tableau de bord  >  Apparence  >  Menus  >  "Menu principal".
  • Le lien du logo vient de: Tableau de bord  >  Réglages  >  "Adresse web du site (URL)".


Menus et pages

 
 
  • "Boutique" provient de WooCommerce.
  • "À propos" est un lien relatif vers une page standard.



Rechercher un produit

 
 
  • On lance la recherche de: Cahier.
  • - Le résultat de la recherche s'affiche.
    - Il existe plusieurs pages (11) qui contiennent le mot Cahier.



Widget Articles récents

 
 
  • On clique le lien Script des droits & permissions du widget "Articles récents".
  • La page s'affiche correctement.



Widget Références SME

 
 
  • On clique le lien Manuel de l'utilisateur du widget "Référence SME".
  • La page s'affiche correctement.



Liens du pied de page

 


 

  • On clique Conditions d'utilisation.
  • Le lien du pied de page, "Conditions d'utilisation", fonctionne correctement.



Connexion

 
 
  • Connexion.
  • - Le lien est fonctionnel.
    - On s'assure qu'on est bien dirigé vers l'URL du site restauré.
    - Le cadenas, à la gauche de l'URL, est vert indiquant ainsi que le certificat est reconnu.
    - Le widget "Derniers documents" fonctionne et défile correctement.
    - On entre le nom d'utilisateur de l'Administrateur WordPress et son mot de passe.



  • Le lien de connexion fonctionne. On s'assure qu'on est logué sur le site de DESTINATION.
    La connexion est toujours sécurisée parce qu'on a coché "SSL: Enforce on Admin" pour la configuration du fichier WP-Config File (wp-config.php) lors de la préparation du "paquet" au paragraphe #WP-Config File.


 
 
  • Vu que nous sommes aussi logué avec les coordonnées de l'utilisateur "Administrateur WordPress" sur la station de travail, un message de réception d'un courriel s'affiche à notre écran.
  • Le message mentionne qu'un administrateur s'est connecté. La messagerie de Wordfence fonctionne correctement.


WooCommerce

Stripe & PayPal

Clés de compte & Mode Test

 


 

  • Tableau de bord  >  WooCommerce  >  Réglages  >  onglet Paiements  >  vis-à-vis "Stripe", Gérer  >  "Mode TEST".
    - On vérifie les clés de compte Stripe en désactivant et activant le "Mode TEST".
  •    On met aussi le compte PayPal en "Mode TEST" (Bac à sable PayPal: activé).



Liens de téléchargement

 
  • - Tableau de bord  >  Produits  >  Tous les produits.
    - On sélectionne un produit téléchargeable  >  Modifier pour afficher la page du produit.
    - On vérifie les liens de téléchargement. Ils pointent tous vers le nouveau site. Duplicator les a ajustés.



Adresses courriel

 
 
  • - Tableau de bord  >  WooCommerce  >  Réglages  >  onglet E-mails.
    - On voit que les adresses courriel "Destinataire(s)" n'ont pas été modifiées.
  • Plus bas sur la page, on voit que l'"Adresse de l'expéditeur" n'a pas été ajustée elle aussi.

   Il va falloir ajuster ces deux adresses courriel en se souvenant que pour PayPal, il faut qu'elles soient identiques pour "E-mail PayPal" et "E-mail du destinataire". Voir le paragraphe #Commande - PayPal.


Serveur physique directement branché à l'Internet

Pour une duplication vers un serveur physique directement relié à l'Internet, il faut changer ces adresses courriel mais, vers un serveur virtuel, qui sert surtout pour tester de nouvelles extensions et la création de produits, il n'est pas nécessaire de les changer car, le serveur virtuel ne testera pas 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".

   Sur un serveur physique directement relié à l'Internet, il va falloir modifier l'adresse courriel de l'administrateur en se loguant chez Stripe.


Extension Velvet Blues Update URLs

Pour modifier les liens et les adresses courriel de notre site, on peut utiliser l'extension "Velvet Blues Update URLs".


Description

 
 

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.

Ces liens, références et adresses courriel pointeront vers votre ancien nom de domaine.

Cette extension corrige ce problème en vous aidant à changer les vieilles URLs, adresses courriel et autres liens de votre site Web vers votre nouveau FQDN.

Installation

 
 
  • Tableau de bord  >  Extensions  >  Ajouter  >  "Mot-clé", entrer Velvet Blues Update URLs.
  • Installer



 
 

  Par définitions, sur tous nos Serveurs SME, le téléchargeur pour le l'i-bay Primary et chargeurprim. Pour toutes les autres i-bays, le téléchargeur est toujours chargeursec.

  •   Sur le serveur SOURCE, le site Web était dans l'i-bay mn-101 et ainsi il devait utiliser chargeursec comme identifiant FTP.
  • -    Le site Web sur le nouveau serveur DESTINATION est dans l'i-bay Primary, il faut qu'il utilise chargeurprim comme identifiant FTP tel que sur la capture d'écran à droite.
    - Continuer.


 
 
  • Activer.
  • L'extension "Velvet Blues Update URLs" est activée.



Droits et permissions

Après l'installation d'une extension, on lance le script droits_ibay.sh.

# droits_ibay.sh Primary
Vous avez bien spécifié l'i-bay:  "/home/e-smith/files/ibays/Primary"?  o/n [o]: [Entrée]
...


Sauvegarde de la base de données

   Avant de modifier les liens, il est recommandé de faire une sauvegarde de la BD.

Si nous effectuons une mauvaise manipulation, on pourra facilement remettre en place la BD originale en seulement quelques secondes.


Répertoire temporaire

On crée un répertoire temporaire.

# mkdir /temp


On s'y rend.

# cd /temp/


On vérifie.

# pwd
/temp


Déversement de la BD

On déverse la BD "WPBD" du site dans un fichier. (On utilise mysqldump57 à cause de l'installation de la Collection MySQL57.)

# mysqldump57 WPBD > ./WPBD.sql_original


On vérifie.

# ls -ls WPBD.sql_original
11228 -rw-r--r-- 1 root root 11496090  1 nov.  23:10 WPBD.sql_original


Remise en place de la BD originale

   Si jamais on doit remettre en place la BD originale, il suffit d'exécuter la commande suivante (on utilise mysql57 à cause de l'installation de la Collection MySQL57).

# mysql57 WPBD < /temp/WPBD.sql_original


Mise à jour des URLs

Liens d'adresses

Tableau de bord  >  Outils  >  Update URLs et nous mettons à jour les liens:

https://www.micronator-101.com  →  https://www.dev.micronator-101.com.

 
 
  • - On entre Ancienne adresse et Nouvelle adresse.
    - On sélectionne tel que sur l'image ci-contre.
    -    On ne modifie jamais les "GUID".
    - Mettre à jour les URL MAINTENANT.
  • 278 pièces jointes ont été ajustées.



Nous mettons à jour les liens:

http://www.micronator-101.com  →  http://www.dev.micronator-101.com. (Pas de s).

 
 
  • - On entre Ancienne adresse et Nouvelle adresse.
    - On sélectionne tel que sur l'image ci-contre.
  • ERREUR parce qu'il n'existe pas de liens http://www.micronator-101.com.



Nous mettons à jour les liens:

https://micronator-101.com/  →  https://dev.micronator-101.com/ (Pas de www).

 
 
  • - On entre Ancienne adresse et Nouvelle adresse.
    - On sélectionne tel que sur l'image ci-contre.
  • ERREUR parce qu'il n'existe pas de liens https://micronator-101.com/.



Nous mettons à jour les liens:

http://micronator-101.com/  →  http://dev.micronator-101.com/ (Pas de s ni de www).

 
 
  • - On entre Ancienne adresse et Nouvelle adresse.
    - On sélectionne tel que sur l'image ci-contre.
  • ERREUR parce qu'il n'existe pas de liens http://micronator-101.com/.



Liens de courriel

      Il faut changer les adresses courriel chez PayPal et Stripe.

   Il ne faudrait pas négliger les courriels qui ne commencent pas http ou https mais, qui se terminent par "@micronator-101.com".

Nous mettons à jour les liens: @micronator-101.com  →  @dev.micronator-101.com.

 
 
  • - On entre Ancienne adresse et Nouvelle adresse.
    - On sélectionne tel que sur l'image ci-contre.
  • Plusieurs liens ont été trouvés et remplacés.



Ajustements manuels

   Il ne faudrait pas oublier que rien n'est parfait!


Réglages

 
 
 
  • - Tableau de bord  >  Réglages  >  Général  >  "Adresse de messagerie".
    - On ajuste.
  • Enregistrer les modifications.
  • On vérifie le succès de l'opération.

   Il est peut être préférable de garder cette adresse car, votre serveur principal de messagerie devrait être micronator-101.com. De plus, le serveur physique ou virtuel sur le réseau LOCAL ne peut recevoir de courriels en provenance de l'Internet à moins qu'il ait un FQDN bien à lui et que les ports de messagerie pour ce FQDN soient tous redirigés, par le serveur principal et/ou par l'aiguilleur principal, vers ce serveur physique ou virtuel sur le réseau LOCAL.

   Faites les ajustement nécessaire pour un serveur physique directement branché à l'Internet.

   Cette adresse est à vérifier car "Velvet Blues Update URLs" devrait l'avoir ajustée.

   Dans notre cas particulier, notre serveur principal de messagerie est micronator.org et nous ne modifions jamais cette adresse.


Contact

 
 
  • Tableau de bord  >  Contact  >  Formulaires de contact  >  Inscription à l'infolettre  >  onglet E-mail.
  • Tableau de bord  >  Contact  >  Formulaires de contact  >  WebMestre  >  onglet E-mail.

Dans les champs "Pour" et "De", ces adresses courriel ont été modifiées. Il n'y a aucun ajustement à faire.

   Encore une fois, faites la différence entre un serveur physique directement branché à l'Internet et un serveur physique ou virtuel sur le réseau LOCAL.


WooCommerce / Réglages

 

Produits - Inventaire

"Destinataire(s) notifica­tion"

  • -   Cette adresse courriel devrait avoir été ajustée par "Velvet Blues Update URLs".
    - Sinon, ajuster.





Commande - Stripe

      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.

 

E-mail PayPal

  • Ajuster si nécessaire.


 

E-mail du destinataire

  • Ajuster si nécessaire.

   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.


Identifiant API

   Ces adresses courriel devraient avoir été ajustées par "Velvet Blues Update URLs" sinon, "MODIFIER" car, elles servent à se loguer chez PayPal lors d'un paiement.

 
  • Décocher "Activer PayPal sandbox" pour faire apparaître l'adresse courriel.



 
  • Cocher "Activer PayPal sandbox" pour faire apparaître l'adresse courriel.



 
  • Enregistrer les changements  >  Vérifier le succès de l'opération.

   Encore une fois, faites la différence entre un serveur physique directement branché à l'Internet et un serveur physique ou virtuel sur le réseau LOCAL.


E-mails - Nouvelle commande - Commande annulée - Commande échouée

   Ces adresses courriel devraient avoir été ajustées par "Velvet Blues Update URLs" sinon, "MODIFIER".

 
  •    Il est préférable, mais non obligatoire, que ces adresses courriel soient les mêmes que "E-mail PayPal" et "E-mail du destinataire" ci-dessus au paragraphe #Commande - PayPal.



 
  • Pour ces trois adresses courriel: Ajuster si nécessaire.



 
  • Enregistrer les changements  >  Vérifier le succès de l'opération.



E-mails - Adresse de l'expéditeur

 
  • -   Cette adresse courriel devrait avoir été ajustée par "Velvet Blues Update URLs" sinon, "MODIFIER".



E-mails - Image d'entête (en-tête)

 
  • Ajuster si nécessaire.



 
  • Enregistrer les changements  >  Vérifier le succès de l'opération.
      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

   Ces adresses courriel devraient avoir été ajustées par "Velvet Blues Update URLs" sinon, "MODIFIER".

   Sur un serveur virtuel sur le réseau LOCAL, cet utilisateur ne pourra pas recevoir de courriel en provenance de l'Internet.

   Pour remédier à cette situation, 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.


acheteur-test

 
  • - Tableau de bord  >  Utilisateurs  >  Tous les utilisateurs  >  choisir l'utilisateur  >  Modifier.
    - "Adresse de messagerie" et "Site web".
    - Ajuster si nécessaire.



 
  • "Adresse de facturation"  >  "Adresse de messagerie"  >  Ajuster si nécessaire.



 
  • Enregistrer les changements  >  Vérifier le succès de l'opération.



Autres usagers

Répéter les opérations et vérifier pour les autres utilisateurs.


Wordfence

   Cette adresse courriel devrait avoir été ajustée par "Velvet Blues Update URLs" sinon, "MODIFIER".

 
 
  • - Tableau de bord  >  Wordfence  >  All Options  >  Options générales de Wordfence  >  "Adresse courriel pour recevoir les alertes".
    - Ajuster si nécessaire.
  • Enregistrer les changements  >  Vérifier le succès de l'opération.


Liens cassés

 
  • - Tableau de bord  >  Réglages  >  Vérificateur de liens.
    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."



Test d'achat

   Seulement pour un serveur branché directement à l'Internet.

   S'assurer que nous sommes en mode TEST, tel que décrit au paragraphe #Clés de compte & Mode Test.

On se logue en tant qu'utilisateur "acheteur-test" pour quelques achats.

 
 
 
  • - On ajoute au panier.
    - Voir le panier.
  • On entre les informations demandées.
  • - On clique "J'ai lu et j'accepte les conditions générales".
    - Commander.



 
 
 
  • Retour sur le site.
  • Sous "Téléchargements", on clique Assistance à distance TeamViewer.
  • On ouvre le fichier.



 
 
 
  • Le fichier s'affiche.
  • Le "récepteur de courriels" a reçu la notification d'une nouvelle commande juste après le paiement de celle-ci par le client.
  • Tableau de bord  >  WooCommerce  >  Commandes  >  on affiche la commande.



 
 
  • Au bas de la description de la commande, on voit qu'un téléchargement a eut lieu.
  • Le client a reçu un courriel de remerciement contenant les liens de téléchargement.

Les achats fonctionnent parfaitement.

   On retourne en mode RÉEL.



Suppression du répertoire temporaire

   Le répertoire temporaire n'est plus nécessaire, on peut (doit) le supprimer.

On sort du répertoire /temp pour retourner au répertoire personnel de root.

# cd


On supprime le répertoire /temp.

   L'option -f de la commande rm ne demande aucune confirmation et ne pardonne pas les erreurs de frappe.

# rm -r-f /temp


On vérifie.

# ls -als /temp
ls: impossible d'accéder à /temp: Aucun fichier ou dossier de ce type


Sauvegarde

Serveur physique directement relié à l'Internet

☑ Il est fortement recommandé de créer une "paquet" de sauvegarde complète 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 SME du serveur de DESTINATION.


Serveur virtuel sur le réseau LOCAL

☑ Pour une machine virtuelle du serveur de DESTINATION, on peut prendre un instantané du Serveur SME.


Tout fonctionne correctement, nous avons maintenant une machine physique pour lancer notre commerce en ligne.
La machine virtuelle sur le poste de travail pourra tester les mises à jour,
les nouvelles extensions et la création de nouveaux produits sans aucun danger pour notre site physique.


Conclusion

Difficultés particulières

Nous avions quelques difficultés particulières pour les adresses courriel mais, tout s'est bien passé.

   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.

   Le hostname de la DESTINATION étant différent de celui de la SOURCE, il faut ajuster le nom du répertoire partagé sur la station distante pour stocker les sauvegardes régulières du Serveur SME sinon, la restauration ne le trouvera pas.


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 de la station 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.
  •    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 la section Cahier-1: Logiciels recommandés au paragraphe "TeamViewer".

Pour nous demander de vous assister à distance, veillez consulter la page: https://www.micronator.org/affaires/assistance-a-distance/.


Autre méthode de clonage

Si le site SOURCE et le site DESTINATION ont exactement le même nom de domaine, nous aurions pu simplement créer une sauvegarde BackupPC du serveur SOURCE et la restaurer sur le serveur DESTINATION, voir le Cahier-9: SME-101.09: Supplément: SME & BackupPC-4.2

De cette façon, tout aurait fonctionné sans aucun ajustement à faire sauf seulement ajuster les cartes réseau.




   Victoire totale, hissons la bannière de la victoire.


  1. 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.