Table des matières
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-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.
- Cahier-201-01: → Dolibarr.
- Cahier-201-02: → Odoo-12.
- Cahier-201-03: → MediaWiki.
- Cahier-201-04: → DokuWiki.
- Cahier-201-05: → Moodle.
- Cahier-201-06: → Proxmox.
- Cahier-201-07: → Flectra.
Logiciels
Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.
But final
Après avoir suivi le Cours NethServer-101, vous posséderez un site de Commerce en ligne fiable et hautement sécuritaire. De plus, vous pourrez utiliser un clone de votre site, sur un Serveur NethServer virtuel roulant sur votre poste de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de votre site en ligne.
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.
[root@dorgee ~]# ping 10.10.10.75 -c1 PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data. 64 bytes from 10.10.10.75: icmp_seq=1 ttl=64 time=1.63 ms --- 10.10.10.75 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 1.639/1.639/1.639/0.000 ms [root@dorgee ~]#
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 dehttp://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
etwp-snapshots
. Pour les même raisons, le fichierreadme.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ètre | Valeur |
---|---|
Distribution | SME-9.2 |
Domaine | micronator-101.com |
Mode | serveur & passerelle |
Nom du serveur | dorgee.micronator-101.com |
I-bay | /home/e-smith/files/ibays/mn-101/ |
Adresses IP | statiques - 206.248.138.152 / 192.168.1.1 |
Serveur DESTINATION
Ce serveur n'est pas relié directement à l'Internet mais utilise la passerelle 192.168.1.1 pour y accéder.
Paramètre | Valeur |
---|---|
Distribution | NethServer-7.6.1810 |
Domaine | micronator-dev.net |
Mode | irrélevant |
Nom du serveur | tchana.micronator-dev.net |
Rép. d'installation | /var/lib/nethserver/vhost/devnet/ |
Adresses IP | statiques - 192.168.1.75 / 10.10.10.75 |
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 DESTINATION. - Créer et configurer une nouvelle base de données MariaDB 10.2 avec le même nom, les mêmes 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 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).
[root@source ~]# mkdir -p /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp [root@source ~]#
On ajuste Récursivement le propriétaire et le groupe.
I-bay Primary = admin:shared et toutes les autres i-bays = admin:www.
[root@source ~]# chown -R admin:www /home/e-smith/files/ibays/mn-101/html/wp-snapshots [root@source ~]#
On ajuste Récursivement les droits.
[root@source ~]# chmod 2770 -R /home/e-smith/files/ibays/mn-101/html/wp-snapshots [root@source ~]#
On vérifie.
[root@source]# ls -alsd /home/e-smith/files/ibays/mn-101/html/wp-snapshots 4 drwxrws--- 3 admin www 4096 8 mars 22:42 /home/e-smith/files/ibays/mn-101/html/wp-snapshots/ [root@source]#
Installation
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.
[root@source ~]# droits_ibay.sh mn-101 Vous avez bien spécifié l'i-bay: "/home/e-smith/files/ibays/mn-101"? o/n [o]: [Entrée] ... 4 drwxrws--- 7 admin shared 4096 10 oct. 13:54 wp-content 4 drwxrws--- 3 admin shared 4096 10 oct. 13:54 wp-snapshots ... [root@source ~]#
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 SOURCE 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”.
- 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.
- 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.
[root@dorgee ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots total 984100 4 drwxrws--- 3 admin www 4096 9 mars 00:24 . 4 drwxr-s--- 10 admin www 4096 27 févr. 07:19 .. 966832 -rw-r--r-- 1 apache www 990030735 9 mars 00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_archive.zip 15680 -rw-r--r-- 1 apache www 16054009 9 mars 00:23 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_database.sql 48 -rw-r--r-- 1 apache www 45603 9 mars 00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_installer.php 4 -rw-r--r-- 1 apache www 3639 9 mars 00:24 201903_23h58_mn101_4d6dadc6878819323597_20190309051253.log 1512 -rw-r--r-- 1 apache www 1545677 9 mars 00:20 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_scan.json 4 -rw-r----- 1 admin www 212 19 avril 2017 dtoken.php 4 -rw-r----- 1 admin www 16 19 avril 2017 .htaccess 0 -rw-r----- 1 admin www 0 19 avril 2017 index.php 4 -rw-r----- 1 admin www 39 19 avril 2017 robots.txt 4 drwxrws--- 2 admin www 4096 9 mars 00:24 tmp [root@dorgee ~]#
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.
Au retour, Duplicator ne trouve plus le Paquet, il a été supprimé.
On vérifie.
[root@dorgee ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots total 24 4 drwxrws--- 3 admin www 4096 9 mars 00:40 . 4 drwxr-s--- 10 admin www 4096 27 févr. 07:19 .. 4 -rw-r----- 1 admin www 212 19 avril 2017 dtoken.php 4 -rw-r----- 1 admin www 16 19 avril 2017 .htaccess 0 -rw-r----- 1 admin www 0 19 avril 2017 index.php 4 -rw-r----- 1 admin www 39 19 avril 2017 robots.txt 4 drwxrws--- 2 admin www 4096 9 mars 00:24 tmp [root@tchana ~]#
[root@tchana ~]# ls -als /home/e-smith/files/ibays/mn-101/html/wp-snapshots/tmp/ total 8 4 drwxrws--- 2 admin www 4096 9 mars 00:24 . 4 drwxrws--- 3 admin www 4096 9 mars 00:40 [root@dorgee ~]#
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.
[root@tchana ~]# scl -l php56 php70 php71 php72 php73 rh-mariadb102 [root@tchana ~]#
Collection PHP
On utilise la Collection PHP et plus particulièrement la version PHP-7.2.
On vérifie les paramètres.
[root@tchana ~]# config show php72 php72=configuration AllowUrlFopen=On ExposePhp=0 MaxExecutionTime=30 MaxFileUpload=20 MaxInputTime=60 MemoryLimit=250 PostMaxSize=100 UploadMaxFilesize=75 [root@tchana ~]#
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.
[root@tchana ~]# mysql102 --version /opt/rh/rh-mariadb102/root/usr/bin/mysql Ver 15.1 Distrib 10.2.8-MariaDB, for Linux (x86_64) using EditLine wrapper [root@tchana ~]#
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 LOCAL.
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.
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
allow_url_fopen
est activée, vous pouvez écrire des scripts PHP qui ouvrent des fichiers distants comme s'il s'agissait de fichiers locaux.
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.
[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet total 0 0 drwxr-sr-x 2 ftp apache 6 13 févr. 13:16 . 0 drwxr-xr-x 3 root root 20 13 févr. 13:16 .. [root@tchana ~]#
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.
[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/index.html [root@tchana ~]#
On vérifie.
[root@tchana ~]# ls -ls /var/lib/nethserver/vhost/devnet/index.html 4 -rw-r--r-- 1 apache apache 170 13 févr. 18:46 /var/lib/nethserver/vhost/noip/index.html [root@tchana ~]#
On vérifie le contenu.
[root@tchana ~]# cat /var/lib/nethserver/vhost/devnet/index.html <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> </head> <body> <center>Allo le monde!</center><br> </body> </html> [root@tchana ~]#
Accès Web
On vérifie l'accès à l'hôte virtuel de différentes manières.
- 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.
[root@tchana ~]# rm /var/lib/nethserver/vhost/devnet/index.html rm : supprimer fichier « /var/lib/nethserver/vhost/devnet/index.html » ? o [root@tchana ~]#
Paramètres PHP72
On affiche les paramètres de PHP72.
[root@tchana ~]# config show php72 php72=configuration AllowUrlFopen=On ExposePhp=0 MaxExecutionTime=120 MaxFileUpload=20 MaxInputTime=60 MemoryLimit=250 PostMaxSize=100 UploadMaxFilesize=75 [root@tchana ~]#
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.
[root@tchana ~]# chmod g+w /var/lib/nethserver/vhost/devnet/ [root@tchana ~]#
On vérifie.
[root@tchana ~]# ls -lsd /var/lib/nethserver/vhost/devnet/ 0 drwxrwsr-x 2 ftp apache 6 9 mars 09:58 /var/lib/nethserver/vhost/devnet/ [root@tchana ~]#
Base de données pour le second WordPress
On crée la base de données (dans notre exemple, on la nomme
MN101
).
[root@tchana ~]# mysqladmin102 CREATE MN101 [root@tchana ~]#
On entre dans la console MariaDB-102.
[root@tchana ~]# mysql102 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 28 Server version: 10.2.8-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
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 usager_MN101@localhost 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 usager_MN101@localhost; +------------------------------------------------------------------------------------------+ | Grants for usager_MN101@localhost | +------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'usager_MN101'@'localhost' IDENTIFIED BY PASSWORD '*BEB075ED0A4C05AB21866C4BAA23F5284D8CF90A' | | GRANT ALL PRIVILEGES ON `MN101`.* TO 'usager_MN101'@'localhost' | +------------------------------------------------------------------------------------------+ 2 rows in set (0,00 sec) MariaDB [(none)]>
On quitte la console MariaDB 10.2.
MariaDB [(none)]> exit; Bye [root@tchana ~]#
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.
[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet [root@tchana ~]#
On vérifie
[root@tchana ~]# ls -alsd /var/lib/nethserver/vhost/devnet 4 drwxrwsr-x 9 apache apache 4096 9 mars 10:26 /var/lib/nethserver/vhost/devnet [root@tchana ~]#
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.
[root@tchana ~]# chown apache:apache /var/lib/nethserver/vhost/devnet/*zip /var/lib/nethserver/vhost/devnet/*php [root@tchana ~]#
On vérifie.
[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet/ total 966876 0 drwxrwsr-x 2 apache apache 101 9 mars 10:26 . 0 drwxr-xr-x 4 root root 112 28 févr. 15:52 .. 966828 -rw-r--r-- 1 apache apache 990030735 9 mars 00:29 201903_23h58_mn101_4d6dadc6878819323597_20190309051253_archive.zip 48 -rw-r--r-- 1 apache apache 45603 9 mars 00:27 installer.php [root@tchana ~]#
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++.
CNAME du serveur DESTINATION
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'identifier. 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.
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.
Passerelle
- 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)
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 trouve à la page suivante:
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.
- 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( 'FORCE_SSL_ADMIN', true );
n'était pas présent sur le serveur SOURCE, il aurait été inséré parce qu'on a coché “SSL: Enforce on Admin” à l'onglet WP-Config File (wp-config.php) lors de la configuration de la restauration.
Chemin de WordPress
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.
[root@tchana ~]# tail -13 /var/www/html/wp-config.php ############################################### # Michel-André, 8 février 2019 @ 13h34 HNE # # Référence: https://juliencrego.com/wordpress-impossible-de-localiser-le-repertoire-de-contenu/ # Ajout de code afin de pouvoir localiser le répertoire de contenu # if(is_admin()){ add_filter('filesystem_method', create_function('$a', 'return "direct";' )); define( 'FS_CHMOD_DIR', 0751 ); } ############################################### [root@tchana ~]#
Ajustement des droits
[root@tchana ~]# cd /var/lib/nethserver/vhost/devnet/ [root@tchana devnet]#
Ajustement du propriétaire et du groupe
[root@tchana devnet]# chown -R apache:apache * ; chown -R apache:apache .* [root@tchana devnet]
Fichiers et répertoires
On renforce la sécurité de l’accès aux fichiers ( f ) en supprimant les droits à “other”.
[root@tchana devnet]# find . -type f -exec chmod 640 {} \; [root@tchana devnet]#
On répète l'opération pour les répertoires ( d ).
[root@tchana devnet]# find . -type d -exec chmod 2750 {} \; [root@tchana devnet]#
On vérifie.
[root@tchana devnet]# ls -als total 216 4 drwxrwsr-x 9 ftp apache 4096 22 avril 14:35 . 0 drwxr-xr-x. 3 root root 96 21 avril 10:11 .. 0 drw-r-s--- 3 apache apache 39 22 avril 13:57 administrator 4 -rw-r-S--- 1 apache apache 1261 22 avril 14:43 .htaccess 4 -rw-r-S--- 1 apache apache 420 22 avril 13:57 index.php 20 -rw-r-S--- 1 apache apache 19935 22 avril 13:57 license.txt ... [root@tchana devnet]#
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
On vérifie la suppression des fichiers.
[root@tchana ~]# ls -als /var/lib/nethserver/vhost/devnet/ total 216 4 drwxr-s--- 9 ftp apache 4096 22 avril 14:35 . 0 drwxr-xr-x. 3 root root 96 21 avril 10:11 .. 0 -rw-r-s--- 3 apache apache 39 22 avril 13:57 administrator 4 -rw-r-S--- 1 apache apache 1261 22 avril 14:43 .htaccess 4 -rw-r-S--- 1 apache apache 420 22 avril 13:57 index.php 20 -rw-r-S--- 1 apache apache 19935 22 avril 13:57 license.txt 0 drwxr-s--- 13 apache apache 212 22 avril 13:57 PDF 12 -rw-r-S--- 1 apache apache 9101 22 avril 13:57 readme.086b0e08609918c8ef94ebf3245e4668.html 0 drwxr-s--- 3 apache apache 20 22 avril 13:57 Ut 4 -rw-r-S--- 1 apache apache 400 22 avril 13:57 wordfence-waf.php 8 -rw-r-S--- 1 apache apache 6919 22 avril 13:57 wp-activate.php 4 drwxr-s--- 9 apache apache 4096 22 avril 13:57 wp-admin 4 -rw-r-S--- 1 apache apache 369 22 avril 13:57 wp-blog-header.php 4 -rw-r-S--- 1 apache apache 2283 22 avril 13:57 wp-comments-post.php 4 -rw-r-S--- 1 apache apache 3897 22 avril 14:11 wp-config.php 4 -rw-r-S--- 1 apache apache 3600 22 avril 13:57 wp-config-sample.php 0 drwxr-s--- 8 apache apache 113 22 avril 13:57 wp-content 4 -rw-r-S--- 1 apache apache 3847 22 avril 13:57 wp-cron.php 12 drwxr-s--- 19 apache apache 8192 22 avril 13:57 wp-includes 4 -rw-r-S--- 1 apache apache 2502 22 avril 13:57 wp-links-opml.php 4 -rw-r-S--- 1 apache apache 3306 22 avril 13:57 wp-load.php 40 -rw-r-S--- 1 apache apache 38883 22 avril 13:57 wp-login.php 12 -rw-r-S--- 1 apache apache 8403 22 avril 13:57 wp-mail.php 20 -rw-r-S--- 1 apache apache 17947 22 avril 13:57 wp-settings.php 32 -rw-r-S--- 1 apache apache 31085 22 avril 13:57 wp-signup.php 0 drwxr-s--- 3 apache apache 23 22 avril 14:14 wp-snapshots 8 -rw-r-S--- 1 apache apache 4764 22 avril 13:57 wp-trackback.php 4 -rw-r-S--- 1 apache apache 3068 22 avril 13:57 xmlrpc.php [root@tchana ~]#
On vérifie le répertoire de travail de Duplicator.
[root@tchana ~]# ls -alsR /var/lib/nethserver/vhost/devnet/wp-snapshots/ /var/lib/nethserver/vhost/devnet/wp-snapshots/: total 4 0 drwxr-s--- 3 apache apache 23 22 avril 14:14 . 4 drwxr-s--- 9 ftp apache 4096 22 avril 14:35 .. 0 drwxr-s--- 2 apache apache 53 22 avril 14:14 installer /var/lib/nethserver/vhost/devnet/wp-snapshots/installer: total 16 0 drwxr-s--- 2 apache apache 53 22 avril 14:14 . 0 drwxr-s--- 3 apache apache 23 22 avril 14:14 .. 16 -rw-r-S--- 1 apache apache 14659 22 avril 14:14 dup-installer-log__6ca1eb9-21180704.txt [root@tchana ~]#
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.
[root@tchana ~]# chmod g-w /var/lib/nethserver/vhost/devnet/ [root@tchana ~]#
On vérifie.
[root@tchana ~]# ls -lsd /var/lib/nethserver/vhost/devnet/ 4 drwxr-sr-x 9 apache apache 4096 22 avril 14:35 /var/lib/nethserver/vhost/devnet [root@tchana ~]#
Redémarrage du démon httpd
On redémarre le démon httpd pour s'assurer que tous les fichiers sont ajustés correctement.
[root@tchana ~]# systemctl restart httpd [root@tchana ~]#
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:
● 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'historique 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
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).
Menus et pages
Rechercher un produit
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
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.
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
Enregistrer les modifications.
On met aussi le compte PayPal en Mode TEST (Bac à sable PayPal: activé) → Enregistrer les modifications.
Liens de téléchargements
Les liens pointent vers www.micronator-dev.net__.
||
</WRAP>
Les liens pointent tous vers le nouveau site. Duplicator les a ajustés.
===== Adresses courriel =====
Tableau de bord WordPress → WooCommerce → Réglages → onglet E-mails.
On voit que les adresses courriel Destinataire(s) et Adresse de l'expéditeur ont bien été modifiées.
==== 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 paiement-stripe@micronator-101.com 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 ====
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.
[root@tchana ~]# mkdir /temp [root@tchana ~]#
On s'y rend.
<file>
[root@tchana ~]# cd /temp/
[root@tchana temp]#
</file>
On vérifie.
<file>
[root@tchana temp]# pwd
/temp
[root@tchana temp]#
</file>
==== Déversement de la BD ====
On déverse la BD (MN101) du site dans un fichier. (On emploie mysqldump102 à cause de l'utilisation de la Collection MariaDB 10.2.)
<file>
[root@tchana temp]# mysqldump102 MN101 > ./MN101.sql_original
[root@tchana temp]#
</file>
On vérifie.
<file>
[root@tchana temp]# ls -ls MN101.sql_original
12380 -rw-r–r– 1 root root 12673874 22 avril 16:43 MN101.sql_original
[root@tchana temp]#
</file>
==== Remise en place de la BD originale ====
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).
[root@tchana temp]# mysql102 MN101 < /temp/MN101.sql_original [root@tchana 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.
==== 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) notification.
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.
- 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.
===== 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.
<file>
[root@tchana temp]# cd
[root@tchana ~]#
</file>
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.
<file>
[root@tchana ~]# rm -rf /temp
[root@tchana ~]#
</file>
On vérifie.
<file>
[root@tchana ~]# ls -als /temp
ls: impossible d'accéder à /temp: Aucun fichier ou dossier de ce type
[root@tchana ~]#
</file>
===== Sauvegarde =====
==== Serveur physique directement relié à l'Internet ====
Après la restauration, il est fortement recommandé de créer une sauvegarde complète avec Duplicator pour survivre en cas de désastre. La récupération de cette sauvegarde sera très facile, car elle sera remise sur la même machine et il n'y aura aucune manipulation à faire après la récupération sauf, nettoyer les fichiers du Paquet.
On crée aussi une sauvegarde régulière NethServer du serveur de DESTINATION.
==== Serveur virtuel sur le réseau LOCAL ====
Pour une machine virtuelle du serveur DESTINATION, on peut prendre un instantané du Serveur NethServer.
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:
Version | Date | Commentaire | Auteur |
---|---|---|---|
0.0.1 | 2012-11-25 | Début. | Michel-André |
0.0.2 | 2012-12-13 | Coquille dans l'entête de l'index. | Michel-André |
0.0.3 | 2012-12-14 | Ajout du paragraphe de vérifications des liens internes à vérifier. | Michel-André |
0.1.0 | 2016-04-04 | Mise à jour. | Michel-André |
0.2.0 | 2016-10-24 | Mise à jour complète. | Michel-André |
1.0.0 | 2017-03-31 | Ré-écriture pour l'utilisation de Duplicator dans le cours Micronator-101. | Michel-André |
1.0.1 | 2017-04-11 | - Correction pour l'affichage des paramètres de php.ini de PHP-5.6 dans le chapitre Serveur DESTINATION. - Mis l'ajustement de l'Adresse de messagerie dans Réglages/Général en premier pour améliorer certains liens qui s'ajusteront automatiquement. | Michel-André |
1.0.2 | 2017-04-16 | Corrections orthographiques, coquilles. | Michel-André |
2.0.0 | 2018-04-07 | Mise à jour. | Michel-André |
3.0.0 | 2018-10-30 | Mise à jour complète. | Michel-André |
3.0.1 | 2018-11-06 | Suppression d'un paragraphe double pour le Cours Micronator-101. | Michel-André |
4.0.0 | 2019-03-08 | Adaptation pour NethServer-7.6.1810. | Michel-André |
4.0.1 | 2019-04-21 | - Ajuster le diagramme du paragraphe But de la migration. - Ajuster la section Répertoire wp-snapshots pour spécifier la configuration sur un Serveur SME ou sur un Serveur NethServer. - Ajout pour le paramétrage du temps d'exécution de PHP. - Ajouter une remarque lors de l'affichage de Forbidden You don't have permission to access /dup-installer/main.installer.php on this server. - Ajout à la section Première connexion. - Différentes autres petites modifications et ajouts. - Changement du propriétaire:groupe pour apache:apache du répertoire /var/lib/nethserver/vhost/devnet/. | Michel-André |
4.0.2 | 2019-06-25 | Corrections mineures. | Michel-André |
4.1.0 | 2019-07-30 | Ajustements pour DokuWiki. | Michel-André |
4.1.1 | 2019-08-19 | Suppression du “sticky bit” pour les fichiers | Michel-André |
12345678901 | 12345678901 |
<html><hr style=“width:50%; margin: 0 auto;”></html>
AVIS DE NON-RESPONSABILITÉ
Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce document 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 directs 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 ordinateur 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.
Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.