Outils pour utilisateurs

Outils du site


nethserver_101_cahier_09_duplicator_migration



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.

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.

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

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

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é dans le 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:

  • Cahier-01: → Les bases de Linux.
  • Cahier-02: → Installation et configuration des logiciels prérequis sur le poste de travail.
  • Cahier-03: → Création d'un Serveur NethServer virtuel.
  • Cahier-04: → Serveur NethServer LOCAL & Let's Encrypt.
  • Cahier-05: → FAI, modem VDSL, domaine FQDN1) et Serveur NethServer physique.
  • Cahier-06: → Installation de WordPress.
  • Cahier-07: → Installation de l'extension de sécurité Wordfence.
  • Cahier-08: → WooCommerce, comptes chez Stripe et PayPal pour les paiements en ligne.
  • Cahier-09: → Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator.
  • Cahier-10: → Serveur mandataire inversé.
  • 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.

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.

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. Veillez vous référer aux différents tableaux lorsque ceux-ci sont présents.
*** 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

Manipulation, truc ou ruse pour se tirer d'embarras.
Une recommandation ou astuce.
Une note.
Une étape, note ou procédure à surveiller.
Paragraphe non complété ou non vérifié.
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.

[[email protected] ~]# 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
[[email protected] ~]#
Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.


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.
Notre site DESTINATION: 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.


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

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

Site original SOURCE


Serveur SOURCE

Nous utilisons comme SOURCE un serveur physique qui roule présentement WordPress-5.1 et qui est branché directement à l'Internet.

ParamètreValeur
DistributionSME-9.2
Domainemicronator-101.com
Modeserveur & passerelle
Nom du serveurdorgee.micronator-101.com
I-bay/home/e-smith/files/ibays/mn-101/
Adresses IPstatiques - 206.248.138.152 / 192.168.1.1

Serveur DESTINATION

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

ParamètreValeur
DistributionNethServer-7.6.1810
Domainemicronator-dev.net
Modeirrélevant
Nom du serveur tchana.micronator-dev.net
Rép. d'installation/var/lib/nethserver/vhost/devnet/
Adresses IPstatiques - 192.168.1.75 / 10.10.10.75


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 SME-8.x/9.x.

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.

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

[[email protected] ~]# mkdir -p /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp

[[email protected] ~]#

On ajuste Récursivement le propriétaire et le groupe.

I-bay Primary = admin:shared et toutes les autres i-bays = admin:www.

[[email protected] ~]# chown -R admin:www /home/e-smith/files/ibays/mn-101/html/wp-snapshots

[[email protected] ~]#

On ajuste Récursivement les droits.

[[email protected] ~]# chmod 2770 -R /home/e-smith/files/ibays/mn-101/html/wp-snapshots

[[email protected] ~]#

On vérifie.

[[email protected]]# 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/
[[email protected]]#


Installation

Tableau de bord WordPress → Extensions → Ajouter → Mot clé → Duplicator → Installer.


On entre les informations demandées → Continuer.



Activer.

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.

[[email protected] ~]# 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
...
[[email protected] ~]#

Il faut que le groupe ait le droit d'écriture (w) 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/

Configuration

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 mysqldump102 pour un Serveur NethServer, car sur tous nos Serveurs NethServer nous utilisons la Collection MariaDB 10.2.

- L'installation a créé un nouveau sous-menu sur le Tableau de bord WordPress de SOURCE.
- Duplicator → Outils.

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


- Cliquer les titres pour les dérouler.
- Tous les composants et paramètres de notre site SOUR­CE sont affichés.


- Onglet Général.

- On prend les défauts.

- Si on change un paramètre;

→ Enregistrer les réglages généraux.


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


Serveur SOURCE

Duplicator sur un Serveur NethServer

Pour l'nstallation de Duplicator sur un Serveur NethServer, voir le 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

Tableau de bord WordPress → Duplicator → Outils → onglet Diagnostics → Information.

On développe tous les menus.


On examine tous les cadres pour s'assurer que Duplicator 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 pour lancer les balayage.


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



Sauvegarde

Duplicator nomme une sauvegarde “Paquet”.



Tableau de bord → Duplicator → Paquets → Créer un paquet.

- On peut ignorer l'avertissement.
- On ajuste le nom du Paquet.
- [Ajouter des notes] et on peut en ajouter une qui spécifie la raison de cette sauvegarde.


Dans le cadre Archive, on ne fait rien de spécial.


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.

On peut laisser les autres champs vides et les remplir lors de la restauration.

→ Suivant pour lancer le balayage


Le balayage est en cours.



On peut ignorer Fichiers Avertissement.

Cocher le “X” et tous les fichiers → Ajouter les filtres et re-scanner.


Ce filtre est disparu.

Cocher Oui → Création.


- La sauvegarde est en assemblage.

- Gardez cette fenêtre ouverte pendant le processus d’assemblage.

- Peut prendre plusieurs minutes.


Téléchargement de l'archive et de l'Installeur

On clique Installeur pour télécharger le script d'installation qu'on sauvegarde sur le poste de travail.

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.

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

Fichiers téléchargés

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

[[email protected] ~]# 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
[[email protected] ~]#


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 WordPress → Duplicator → Outils → Diagnostics → onglet Information.

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

Au prochain paragraphe, 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, 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.

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

[[email protected] ~]# 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
[[email protected] ~]#
[[email protected] ~]# 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 
[[email protected] ~]#

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 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 Cahier-03: Création d'un Serveur NethServer virtuel.

Mise à jour

Mettre à jour le Serveur NethServer. Voir le chapitre Configuration du Cahier-03: Création d'un Serveur NethServer virtuel ou le chapitre Configuration détaillée du 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 Cahier-06: NethServer & WordPress.

[[email protected] ~]# scl -l

php56
php70
php71
php72
php73
rh-mariadb102
[[email protected] ~]#


Collection PHP

On utilise la Collection PHP et plus particulièrement la version PHP-7.2.

On vérifie les paramètres.

[[email protected] ~]# config show php72

php72=configuration
    AllowUrlFopen=On
    ExposePhp=0
    MaxExecutionTime=30
    MaxFileUpload=20
    MaxInputTime=60
    MemoryLimit=250
    PostMaxSize=100
    UploadMaxFilesize=75
[[email protected] ~]#

Les grandeurs doivent être de 250M, 100MB et 75M.

Ces grandeurs peuvent être différentes, mais elles doivent être dans l'ordre de décroissance ci-dessous:

MemoryLimit > PostMaxSize > UploadMaxFilesize.


Collection MariaDB 10.2

On utilise la Collection MariaDB 10.2.

On vérifie la version.

[[email protected] ~]# 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
[[email protected] ~]#


Hôte virtuel

Référence: 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 “,(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

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

Configuration → DNS onglet Hôtes → CRÉER NOUVEAU.


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…

Ci-contre, pour Nom d'hôte, on utilise micronator-dev.net sans le préfixe www, 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.


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. 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 Cahier-05: VDSL, FQDN, Internet et NethServer.

→ SOUMETTRE.

Le 2e domaine est maintenant un serveur de messagerie.


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 www.micronator-dev.net.

Gestion → Hôtes virtuels → CRÉER NOUVEAU.

Onglet Général

L'action CRÉER NOUVEAU est similaire à Éditer. La seule différence étant le paramètre Actions supplémentaires au bas du formulaire.

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:

/var/lib/nethserver/vhost/devnet

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 “,(virgule). Les noms de notre hôte virtuel sont: micronator-dev.net,www.micronator-dev.net.

Avec certains services de DNS dynamique, on ne peut employer le CNAME www, 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.

Requiert une authentification HTTP
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é.

Nécessite une connexion SSL cryptée
Si coché, le site Web est accessible uniquement via le protocole https.

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.

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

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 Configuration d'une application Web.

▼ Actions supplémentaires

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.
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é www.micronator-dev.net ci-dessus sous “Noms d'hôte virtuels (FQDN)”.

Onglet Bibliothèque d'applications PHP

Activer l'accès web
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é.

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.

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.

Activer l'accès web
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
Lorsque la directive allowurlfopen est activée, vous pouvez écrire des scripts PHP qui ouvrent des fichiers distants comme s'il s'agissait de fichiers locaux.

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_limit affecte également le téléchargement de fichier. D'une manière générale, memory_limit devrait être plus grand que post_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_filesize. Si la limite de mémoire est activée par votre script de configuration, memory_limit affecte également le téléchargement de fichiers. D'une manière générale, memory_limit devrait être plus grand que post_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.
memory_limit (250M) > post_max_size (100M) > upload_max_filesize (75M).

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.

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.

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

Notre hôte virtuel a été créé avec ses noms FQDN d'hôtes virtuels.

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,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, www.micronator-dev.net

Vérification

Hôtes DNS

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.

Alias du serveur

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

Configuration → Courrier (Email) ou Messagerie électronique depuis mai 2019 onglet Domaines.

Les hôtes originaux de messagerie n'ont pas été affectés.

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.

[[email protected] ~]# 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 ..
[[email protected] ~]#

index.html

On écrit un texte qui s'affichera lors de l'accès à l'URL: http[s]//[www.]micronator-dev.net.

Prendre tout le contenu de l'encadré pour la commande.

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

On ajuste le propriétaire et le groupe.

[[email protected] ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/index.html

[[email protected] ~]#

On vérifie.

[[email protected] ~]# 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
[[email protected] ~]#

On vérifie le contenu.

[[email protected] ~]# 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>
[[email protected] ~]#

Accès Web

On vérifie l'accès à l'hôte virtuel de différentes manières.

- Sans préfixe www.
- micronator-dev.net/.

- Avec préfixe www.
- www.micronator-dev.net/.

- Sans préfixe www, mais sécurisé.
- https://micronator-dev.net/.

- Avec préfixe www et sécurisé.
- https://www.micronator-dev.net/.

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.

[[email protected] ~]# rm /var/lib/nethserver/vhost/devnet/index.html

rm : supprimer fichier « /var/lib/nethserver/vhost/devnet/index.html » ? o
[[email protected] ~]#


Paramètres PHP72

On affiche les paramètres de PHP72.

[[email protected] ~]# config show php72

php72=configuration
    AllowUrlFopen=On
    ExposePhp=0
    MaxExecutionTime=120
    MaxFileUpload=20
    MaxInputTime=60
    MemoryLimit=250
    PostMaxSize=100
    UploadMaxFilesize=75
[[email protected] ~]#


Préparation du répertoire devnet

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.

[[email protected] ~]# chmod g+w /var/lib/nethserver/vhost/devnet/

[[email protected] ~]#

On vérifie.

[[email protected] ~]# ls -lsd /var/lib/nethserver/vhost/devnet/

0 drwxrwsr-x 2 ftp apache 6  9 mars  09:58 /var/lib/nethserver/vhost/devnet/
[[email protected] ~]#


Base de données pour le second WordPress

On crée la base de données (dans notre exemple, on la nomme MN101).

[[email protected] ~]# mysqladmin102 CREATE MN101

[[email protected] ~]#

On entre dans la console MariaDB-102.

[[email protected] ~]# 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)]>

On vérifie que la base de données ait bien été créée.

MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| DDNS               |
| MN101              |
| WPBD               |
| information_schema |
| mysql              |
| performance_schema |
| phpmyadmin         |
+--------------------+
7 rows in set (0,00 sec)

MariaDB [(none)]>


Grant

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.

MariaDB [(none)]> grant all on MN101.* to [email protected] identified by 'mdp_MN101';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

Noter le nom de la base de données: “MN101”, le nom de l'usager: “usager_MN101” et son mot de passe: '“mdp_MN101”; ils serviront plus tard dans Duplicator.
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.

MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

On vérifie les droits de l'usager.

MariaDB [(none)]> show grants for  [email protected];

+------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+------------------------------------------------------------------------------------------+
| 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)]>

On quitte la console MariaDB 10.2.

MariaDB [(none)]> exit;

Bye
[[email protected] ~]#


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.

[[email protected] ~]# chown apache:apache /var/lib/nethserver/vhost/devnet

[[email protected] ~]#

On vérifie

[[email protected] ~]# ls -alsd /var/lib/nethserver/vhost/devnet

4 drwxrwsr-x 9 apache apache 4096 9 mars  10:26 /var/lib/nethserver/vhost/devnet
[[email protected] ~]#


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 /var/lib/nethserver/vhost/devnet/.


Ajustement du propriétaire, groupe et permission

On change le propriétaire et le groupe des fichiers.

[[email protected] ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/*zip  /var/lib/nethserver/vhost/devnet/*php 

[[email protected] ~]#

On vérifie.

[[email protected] ~]# 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
[[email protected] ~]#


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.

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

Dans l'explorateur de fichiers, on claque sur le fichier hosts → Propriétés.


Décocher Lecture seule → OK.


Continuer.


CNAME du serveur DESTINATION

Clac sur hosts → Éditer avec Notepad++.

On entre les CNAME de notre domaine et son adresse IP.

Lorsqu'on veut sauvegarde le fichier, Notepad++ nous demande si on veut lancer le mode Administrateur.
- Oui.
- Continuer.

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

L'adresse MAC de cette carte est différente de l'adresse MAC de la Carte-0, Carte-1, eth0 ou eth1.
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.

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.

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.

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.


Première adresse IP

Nous commençons par donner l'adresse 192.168.1.81 à la carte RJ-45 du poste de travail.

Clac (clic droit) sur l'icône réseau dans la zone de notification → Ouvrir le Centre Réseau et partage.



Modifier les paramètres de la carte.



Clac sur la carte Éthernet → Propriétés.


Onglet Gestion de réseau → Protocole Internet version 4 (TCP/IPv4) → Propriétés.


Utiliser l'adresse IP suivante:

On entre les informations telles que ci contre.

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:

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

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

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

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

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

- Onglet Paramètres IP.
- Adresses IP.
- Ajouter.


- On entre l'adresse et le masque.
- Ajouter.


La nouvelle adresse a été ajoutée à la carte RJ-45 du poste de travail.


Passerelle



Passerelles par défaut: Ajouter…


- Passerelle: 192.168.1.1
- Ajouter.


- La deuxième passerelle à été ajoutée.
- OK.


OK.

OK.

Détails…


- Nos deux adresses IP et nos deux passerelles son présentes.

- Fermer toutes les fenêtre.


Tout est en place pour la restauration.


Restauration

Restauration

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




On clique PHP Version Mismatch pour afficher l'avertissement.

- On peut ignorer cet avertissement.
- Si on accepte les terms & notices, on coche I have read and accept all terms & notices.
- Next. (Peut prendre un certain temps.)

Install Database

Host: 127.0.0.1:3312 car nous utilisons MariaDB 10.2.

Database: MN101 choisie lors de la création de la BD.

User: usager_MN101.

Password: mdp_MN101.


Options

Le lien d'aide fonctionne et pointe vers des articles (en anglais seulement) qui donnent de très bons conseils sur la restauration.
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'affiche en français.


- Il est toujours préférable de vérifier l'accès à la BD.
- Test Database.

- Tout est au vert.
- Next.


On vérifie les paramètres → OK.

Duplicator installe la BD.


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.



On change le titre de notre site.

- Options → onglet Admin Account.
- On pourrait créer un nouvel administrateur du site.


- Onglet Scan Options.
- On coche les trois options.
- C'est ici que Duplicator pourrait manquer de temps d'exécution PHP.

- Onglet WP-config File.
- On peut forcer les administrateurs à utiliser une connexion sécurisée (https ) en cochant → ☑ SSL: Enforce on Admin.
- Next pour lancer le processus.


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.


Première connexion

Auto delete installer files after login (recommended) est coché et Duplicator va supprimer les fichier d'installation.

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.


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 Finalisation de la migration.

On peut supporter Duplicator en faisant un don.

Fermer la fenêtre en cliquant le X à l'extrême droite.


Fichier .htaccess

Fichier original /home/e-smith/files/ibays/mn-101/html/.htaccess sur le Serveur SME SOURCE.

# ************************************** 
# 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

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/.
Prendre tout le contenu de l'encadré pour la commande.

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


Fichier wordfence-waf.php

Fichier /var/lib/nethserver/vhost/devnet/wordfence-waf.php copié de SOURCE par Duplicator.

<?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';
}
?>

Fichier ajusté pour le Serveur NethServer DESTINATION

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


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.

...
// ** 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 );

Les anciens paramètres peuvent être supprimés.

Si le paramètre define( 'FORCESSLADMIN', 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

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.

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

if(is_admin()){
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));    
    define( 'FS_CHMOD_DIR', 0751 );
}

On ajoute les lignes ci-dessous au fichier /var/www/html/wp-config.php.
Prendre tout le contenu de l'encadré pour la commande.

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

On vérifie.

[[email protected] ~]# 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 );
}
###############################################

[[email protected] ~]#


Ajustement des droits

[[email protected] ~]# cd /var/lib/nethserver/vhost/devnet/

[[email protected] devnet]#

Ajustement du propriétaire et du groupe

[[email protected] devnet]# chown -R apache:apache *  ; chown -R apache:apache .*

[[email protected] devnet]

Fichiers et répertoires

On renforce la sécurité de l’accès aux fichiers ( f ) en supprimant les droits à “other”.

[[email protected] devnet]# find . -type f -exec chmod 640 {} \;

[[email protected] devnet]#

On répète l'opération pour les répertoires ( d ).

[[email protected] devnet]# find . -type d -exec chmod 2750 {} \;

[[email protected] devnet]#

On vérifie.

[[email protected] 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
...
[[email protected] devnet]#


Connexion

On se déconnecte et on se reconnecte à DESTINATION.

On utilise le même justificatif de connexion que celui de l'administrateur du site SOURCE.


Duplicator nous affiche que les fichiers d'installation on bien été supprimés. On ferme cette fenêtre en cliquant le X à l'extrême droite.


Finalisation de la migration

Si Auto delete installer files after login (recommended) n'était pas coché au paragraphe Première connexion, un message serait affiché nous invitant à supprimer les fichiers d'installation.
→ Y accéder.

Suppression des fichiers d'installation

Supprimer les fichiers d'installation.

Le résultat s'affiche.

On vérifie la suppression des fichiers.

[[email protected] ~]# 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
[[email protected] ~]#

On vérifie le répertoire de travail de Duplicator.

[[email protected] ~]# 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
[[email protected] ~]#

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 (w) au répertoire /var/lib/nethserver/vhost/devnet/ qu'on lui avait donné à la section Préparation du répertoire devnet.

[[email protected] ~]# chmod g-w /var/lib/nethserver/vhost/devnet/

[[email protected] ~]#

On vérifie.

[[email protected] ~]# ls -lsd /var/lib/nethserver/vhost/devnet/

4 drwxr-sr-x 9 apache apache 4096 22 avril 14:35 /var/lib/nethserver/vhost/devnet
[[email protected] ~]#


Redémarrage du démon httpd

On redémarre le démon httpd pour s'assurer que tous les fichiers sont ajustés correctement.

[[email protected] ~]# systemctl restart httpd

[[email protected] ~]#

La restauration s'est déroulée correctement.

Vérifications

Page d'accueil

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 s:

http://www.micronator-dev.net

● La connexion n'est pas sécuritaire, mais elle s'est transformée en https.

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

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.

C:\Users\michelandre> ipconfig /flushdns

Configuration IP de Windows

Cache de résolution DNS vidé.

C:\Users\michelandre>

Réessayez de vous connecter et tout devrait se passer correctement.


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 dans le fichier: 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 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).

Boutique provient de WooCommerce.

À propos est un lien relatif vers une page standard.


Rechercher un produit

On lance la recherche de: Cahier.

Il existe plusieurs pages (12) qui contiennent le mot Cahier.

Le résultat de la recherche s'affiche.


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

Le lien Conditions d'utilisation du pied de page fonctionne correctement.


Connexion

Se Connecter.

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.

Le lien est fonctionnel.

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

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.


Mode Test

On active le Mode TEST.

Enregistrer les modifications.


On met aussi le compte PayPal en Mode TEST (Bac à sable PayPal: activé)Enregistrer les modifications.

Liens de téléchargements

Tableau de bord WordPress → Produits → Micronator-101, Cahier-6:… → Modifier.


Les liens pointent vers www.micronator-dev.net.

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.


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

Tableau de bord WordPress → WooCommerce → Réglages → onglet Paiements → vis-à-vis PayPal → Gérer.

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 [email protected] lors de la configuration de notre compte chez https://stripe.com/ca.

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

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 peut-être encore vers votre ancien nom de domaine.

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

Tableau de bord → Extensions → Ajouter → Mot-clé → Velvet Blues Update URLs.



Installer.



Activer.

L'extension est activé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 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.

[[email protected] ~]# mkdir /temp

[[email protected] ~]#

On s'y rend.

[[email protected] ~]# cd /temp/

[[email protected] temp]#

On vérifie.

[[email protected] temp]# pwd

/temp
[[email protected] temp]#


Déversement de la BD

On déverse la BD (MN101) du site dans un fichier. (On emploie mysqldump102 à cause de l'utilisation de la Collection MariaDB 10.2.)

[[email protected] temp]# mysqldump102  MN101  >  ./MN101.sql_original

[[email protected] temp]#

On vérifie.

[[email protected] temp]# ls -ls MN101.sql_original

12380 -rw-r--r-- 1 root root 12673874 22 avril 16:43 MN101.sql_original
[[email protected] temp]#


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 (il faut absolument employer mysql102 à cause de l'utilisation de la Collection MariaDB 10.2).

[[email protected] temp]# mysql102  MN101  <  /temp/MN101.sql_original

[[email protected] temp]#


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.

On ne modifie jamais les GUID.

ERREUR parce qu'il n'existe pas de liens https://www.micronator-101.com.

Duplicator les a tous remplacés.

Nous mettons à jour les liens:
http://www.micronator-101.com pour des liens http://www.micronator-dev.net.

ERREUR parce qu'il n'existe pas de liens http://www.micronator-101.com.

Duplicator les a tous remplacés.

Nous mettons à jour les liens:
https://micronator-101.com/ pour des liens https://micronator-dev.net/. (Pas de www)

ERREUR parce qu'il n'existe pas de liens https://micronator-101.com/.

Duplicator les a tous remplacés.

Nous mettons à jour les liens:
http://micronator-101.com/ pour des liens http://micronator-dev.net/. (Pas de s ni de www)

ERREUR parce qu'il n'existe pas de liens http://micronator-101.com/.

Duplicator les a tous remplacés.


Liens de courriel

S'il y a lieu, 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 pour des liens @micronator-dev.net.

ERREUR parce qu'il n'existe pas de liens @micronator-101.com.

Duplicator les a tous remplacés.


Locutions

Nous mettons à jour les locutions Micronator-101.com pour des locutions Micronator-dev.net.

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


On vérifie la page https://www.micronator-dev.net/conditions-dutilisation/.


Ajustements manuels

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

Réglages

Tableau de bord WordPress → Réglages → Général → Adresse de messagerie.

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
Faites les ajustement nécessaire pour un serveur physique directement branché à l'Internet.
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.
Enregistrer.

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

Tableau de bord WordPress → WooCommerce → Réglages → onglet Produits → Inventaire.

Destinataire(s) notifica­tion.
On garde l'adresse de l'administrateur principal.
Sinon, ajustez.


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. L'E-mail PayPal est celle utilisée pour nous connecter à notre compte PayPal, il ne faut pas la modifiée.

Identifiant API

Ces adresses courriel ne doivent pas être ajustées par Velvet Blues Update URLs sinon, MODIFIER, car elles servent à l'API à se connecter à PayPal lors d'un paiement.

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.


Enregistrer les modifications → 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.

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

Tableau de bord WordPress → WooCommerce → Emails.
Ajuster si nécessaire.

→ Enregistrer les modifications.


Enregistrer les modifications.

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

acheteur-test

Adresse de messagerie et Site web
Ajuster si nécessaire.


Adresse de facturation Adresse de messagerie Ajuster si nécessaire.


Mettre à jour l'utilisateur → Vérifier le succès de l'opération.

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.

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


Enregistrer les modifications → Vérifier le succès de l'opération.

Liens cassés

Tableau de bord WordPress → 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 à la section Mode Test.

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

- Ajoute au panier.
- Voir le panier.


On entre les informations demandées.

- On clique J'ai lu et j'accepte…
- Commander.


Retour sur le site.

On clique Assistance à distance…

On ouvre le fichier.



Le fichier s'affiche.

Le récepteur de courriels reçoit la notification d'une nouvelle commande.

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 doit le supprimer car il contient la BD de sauvegarde.
On sort du répertoire /temp pour retourner au répertoire personnel de root.

[[email protected] temp]# cd

[[email protected] ~]#

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.

[[email protected] ~]# rm -rf /temp

[[email protected] ~]#

On vérifie.

[[email protected] ~]# ls -als /temp

ls: impossible d'accéder à /temp: Aucun fichier ou dossier de ce type
[[email protected] ~]#


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.

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.


Conclusion

Difficultés particulières

Nous avions quelques difficultés particulières pour les locutions, 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 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.
  • 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 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: Cahier-11: BackupPC.

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

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: E:\000_DocPourRF232_general\RF-232_NethServer_DokuWiki\101-09_RF-232_Cours_NethServer-101_Cahier-09_Duplicator_2019-08-06_15h07.odt

Historique des modifications:

VersionDateCommentaireAuteur
0.0.12012-11-25Début.Michel-André
0.0.22012-12-13Coquille dans l'entête de l'index.Michel-André
0.0.32012-12-14Ajout du paragraphe de vérifications des liens internes à vérifier.Michel-André
0.1.02016-04-04Mise à jour.Michel-André
0.2.02016-10-24Mise à jour complète.Michel-André
1.0.02017-03-31Ré-écriture pour l'utilisation de Duplicator dans le cours Micronator-101.Michel-André
1.0.12017-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.22017-04-16Corrections orthographiques, coquilles.Michel-André
2.0.02018-04-07Mise à jour.Michel-André
3.0.02018-10-30Mise à jour complète.Michel-André
3.0.12018-11-06Suppression d'un paragraphe double pour le Cours Micronator-101.Michel-André
4.0.02019-03-08Adaptation pour NethServer-7.6.1810.Michel-André
4.0.12019-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.22019-06-25Corrections mineures.Michel-André
4.1.02019-07-30Ajustements pour DokuWiki.Michel-André
4.1.12019-08-19Suppression du “sticky bit” pour les fichiersMichel-André
12345678901 12345678901


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.

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.

nethserver_101_cahier_09_duplicator_migration.txt · Dernière modification: 2019-10-02 23:28 par michelandre