Je prends ici quelques minutes pour proposer une alternative intéressante pour réussir la migration de sa base de données WordPress, lors d’une mise en production ou d’un changement d’hébergeur, donc applicable lors d’une création de site internet, d’une refonte ou d’un changement de prestataire.
Je viens de changer d’hébergeur je suis ravi. Mais mon hébergeur, voulant bien faire, m’a vivement recommandé la lecture de l’article de Grégoire Noyelle sur l’utilisation du script DBSR, puis sa mise en application. Oui mais c’était sans compter le plugin WordPress WP Migrate DB et un peu d’anticipation !
(En relisant mon article je me rends compte que Grégoire a écrit un récapitulatif sur WP Migrate DB, considérez celui-là comme une bonne piqure de rappel doublé d’un petite accélération 😉 )
Migration de la base de données : une priorité
Votre base de données est le point central de votre application web. Réussir son export sur un serveur tiers (la faire migrer) est souvent considéré à tors comme une phase stressante. On s’affaire généralement d’abord à exporter ses fichiers avec un client FTP comme FileZilla après avoir effectué les modifications de configuration nécessaires sur le fichier de configurations wp-config.php , avant d’exporter la base de données.
Le script DBSR fonctionne, cool. Mais puisque nous avons à ce stade, accès aux services de notre hébergeur, tentons d’inverser le processus de migration du site pour gagner une peu de temps.
Votre hébergeur : votre nouvel ami
Pour l’administration, nombre d’hébergeurs vous proposent des solutions similaires et vous pourrez sans doute vous connecter à une interface de gestion de type cPanel. C’est d’ailleurs par là que vous vous connecterez à PHPMyAdmin pour importer vos bases de données, et que vous définirez des rôles et autorisations pour gérer ces dernières.
En regardant de plus près vous devriez trouver parmi les sections de cPanel, une rubrique « Gestionnaire de fichiers » … c’est simplissime : si vous vous y rendez, vous verrez apparaître une arborescence de dossiers (répertoires) représentant l’espace disque alloué à votre hébergement. Ce qui nous intéresse ici est le chemin menant à votre répertoire personnel (path en anglais dans le texte). C’est là que se trouve le dossier public_html dans lequel vous allez exporter vos fichiers WordPress.
Votre base de données WordPress a besoin de ce chemin pour que le CMS accède correctement à vos fichiers. Ce chemin est rappelé à côté de la racine de votre espace disque, et Il correspond au parcours depuis celle-ci jusqu’au répertoire « www » (« www » n’est qu’un alias de « public_html« , il pointe en fait vers le même dossier). Vous ajoutez le répertoire public au chemin primaire et vous obtenez /home/votreDossier/public_html.
WP Migrate DB : un plugin WordPress pour migrer vos bases de données
Nous nous intéressons en premier à l’export de la base de données pour éviter d’avoir à faire des transferts fichiers inutiles.
WP Migrate DB est une extension WordPress vous permettant d’exporter vos bases de données en ne modifiant que le nouveau domaine ainsi que le nouveau chemin d’accès à vos fichiers. Le plugin vous propose, dès sa version gratuite, une compression gzip pour les bases de données volumineuses, ainsi qu’un panel d’options intéressantes comme l’exclusion des commentaires identifiés comme spams ou des révisions.
Le processus d’utilisation du plugin passe généralement par une double installation du plugin, côté serveur distant et en local (ou sur une version de WordPress installée chez vos deux hébergeurs en ca de changement de prestataire). Cela permet de récupérer les nouvelles infos depuis le plugin installé sur le serveur cible pour les injecter au niveau de celui qui se trouve sur le serveur source, et lui fournir les deux informations néssecaires à la conversion des données. Oui, mais on peut se passer de cette première phase !
C’est ici que nous avons besoin de notre chemin d’accès aux fichiers. Nous nous en en servons pour alimenter le champ « new file path » (notre nouveau chemin de fichiers).
Vous devez vous dire « mais si je n’ai qu’à faire cela pourquoi ne pas débuter directement par cette étape ? ». Et bien justement parce que vous aurez besoin de ce chemin pour mener à bien l’export.
Après avoir installé le plugin sur la version à faire migrer, rendez-vous dans le menu « Outils/Migrate DB ». Renseignez le champ « new file path » ainsi que le champ « new URL » de la colonne « Replace ». Cliquez sur le bouton « Export » et vous téléchargez la version convertie de votre base de données.
Votre devis en 48 H chrono !
Demandez à être rappelé !
Nous préciserons ensemble votre projet
de vive voix
Je rappelle que vous renseignez le champs consacré à l’URL « new url » en fonction de votre projet : votre adresse sur votre serveur local en cas de rapatriement du site sur votre ordinateur, votre nouveau nom de domaine si vous en changez, le même nom de domaine si vous changez d’hébergeur.
En cas de transfert du site vers votre serveur local (MAMP, WAMP ou LAMP), votre nouvelle URL dépend de votre configuration serveur et de votre système. Si vous avez configuré un VirtualHost et votre fichier système host, vous pouvez utiliser une URL définie arbitrairement. Mais si vous travaillez basiquement sur un sous-répertoire du dossier « www » (ou htdocs sur Mac), votre URL sera du type :
- http://localhost/mon-repertoire
- http://192.168.0.1:8888/mon-repertoire (sur Mac)
Voilà, vous n’avez plus qu’à revenir dans la partie PHPMyAdmin de votre interface cPanel, sélectionner votre base de données nouvellement créée et importer le fichier téléchargé.
J’ai noté que la compression est parfois délicate, décochez l’option et recommencez si vous rencontrez des problèmes (l’export lui-même ne prend que quelques minutes).
Chemin d’accès aux fichiers introuvable
Il se peut que, pour une raison qui là m’échappe, vous ne disposiez pas de ce chemin de fichiers. Pas de panique, un petit coup de fil à votre hébergeur ne vous coûtera rien. 😉 S’il est indisponible … et bien vous n’y couperez pas, il faudra installer un WordPress tout neuf (vierge) sur le serveur cible après avoir renseigné les lignes du fichier wp-config portant sur votre base de données.
Vous transférez le contenu du dossier WordPress dans le répertoire « www » avec un client FTP comme FileZilla.
Vous vous rendez ensuite directement sur l’interface d’administration WordPress que vous venez d’installer, en ajoutant « /wp-admin » à votre domaine (http://votre.domain.fr/wp-admin).
Allez dans le menu « Extensions/ajouter » pour rechercher WP Migrate DB (c’est gratuit et c’est bon !). Vous installez le plugin, puis via le menu « Outils/Migrate BD » vous retrouvez votre interface de migration. Et là, miracle, la colonne « Find » vous donne le chemin d’accès aux fichiers chez votre nouvel hébergeur (ou votre serveur local, suivant ce que vous souhaitez faire). Vous copier ces informations dans la fenêtre du site à migrer et lancez l’export.
Vous pouvez désormais exporter vos fichiers à la place de l’installation WordPress vierge, vous rendre sur votre cPanel pour (créer si ce n’est pas déjà fait) et importer vos tables dans votre nouvelle base de données.
La migration de votre base de données WordPress : c’est tranquille
Je récapitule les étapes de la migration de votre base de données WordPress (et de votre site) :
- Vous commencez de toute façon par créer votre base de données sur le serveur cible ainsi qu’un utilisateur privilégié doté d’un mot de passe pour accéder à cette base
- Vous retrouvez via le menu « système de fichiers », le chemin d’accès local à vos fichiers
- Si vous ne le trouvez pas, vous appelez votre hébergeur
- S’il n’est pas disponible, vous installez rapidement une version de WordPress et le plugin WP Migrate DB sur ce serveur cible et de là, vous récupérez ces informations.
- Vous installez le plugin WP Migrate DB sur la version à migrer, et vous renseignez l’information récupérée plus tôt ainsi que la nouvelle URL, avant de lancer l’export et télécharger le fichier sur votre disque dur.
- Vous retournez sur votre cPanel (ou assimilé), accédez à PHPMyAdmin et sélectionnez votre base de données avant de lancer l’importation du fichier téléchargé plus tôt.
- Enfin vous effectuez un transfert FTP de vos fichiers du serveur source vers le serveur cible et vous profitez de votre site !
Voilà ! Vous avez donc une méthode simplissime pour effectuer la migration de votre base de données WordPress et transférer votre site depuis votre serveur local vers celui de votre hébergeur, ou de votre ancien prestataire pénible vers ce qui est désormais votre serveur tout nouveau tout propre !
Merci Sébastien d’avoir cité mes articles.
Très bon article en tout cas. Je constate que tu as beaucoup d’autres contenus intéressants.
A bientôt 🙂
Merci pour ça… et puis tes tutoriels WordPress sont très bons, il est donc normal de les citer 😉
À très bientôt !