Jérémy Ozog

Migration WordPress : déplacer votre blog sur un nouveau serveur

Publié par Jérémy Ozog le dans Wordpress

En cas de changement de serveur pour l’hébergement de votre blog, vous aurez probablement envie de conserver toutes vos données (contenu, extensions, configuration…). Voici une démarche à suivre pour réussir votre migration WordPress.

Notes :

Installation des outils web

Tout d’abord, voici quelques notes, pas forcément détaillées, pour installer et configurer tous vos outils Web. C’est nécessaire si vous disposez d’un serveur dédié nu, sinon autant passer directement à la partie traitant de la migration WordPress.

Installation d’un serveur web Apache

apt-get install apache2
/etc/init.d/apache2 start

Un petit accès sur l’IP de votre serveur pour confirmer que l’installation s’est bien déroulée, vous devriez avoir la page ci-dessous.

Page de confirmation du fonctionnement d'Apache

Installation d’un serveur FTP

apt-get install proftpd

Sélectionnez un serveur “standalone” dans la majorité des cas.

proftpd se sert des utilisateurs enregistrés sur système mais l’accès root n’est pas possible par défaut, question de sécurité j’imagine. Il faut donc créer un nouvel utilisateur afin de pouvoir vous connecter en FTP :

adduser USER_NAME

Il vous faudra saisir le mot de passe et quelques autres informations sur ce nouvel utilisateur.

Vous pouvez tester avec votre client FTP que tout fonctionne bien.

Installation d’un serveur MySQL

apt-get install mysql-server

Il vous sera demandé de saisir un mot de passe root pour votre base.

On sécurise tout ça :

mysql_secure_installation

Installation de phpMyAdmin

apt-get install phpmyadmin

Choisir apache2 comme serveur web. Il vous sera également demandé de saisir le mot de passe permettant d’accéder à votre base de données ainsi que celui que vous souhaitez utiliser pour phpMyAdmin.

phpmyadmin ne semblant pas s’installer par défaut dans /var/www, il faudra créer un lien symbolique pour que apache sache où aller chercher :

ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

Installation d’un serveur SMTP

Une dernière installation, pour pouvoir envoyer des mails, ça peut être utile pour un formulaire de contact sur votre blog !

apt-get install sendmail

Configuration d’un hôtel virtuel

Pour créer un nouvel hôte virtuel, il faut créer un nouveau fichier dans le répertoire /etc/apache2/sites-available/

Par exemple, pour un site ayant pour alias MON_SITE:

nano /etc/apache2/sites-available/MON_SITE

Dans ce fichier, copier le contenu suivant en remplaçant les valeurs en majuscules :

<VirtualHost *:80>
  DocumentRoot /var/www/MON_SITE
  ServerAdmin EMAIL_ADMIN
  ServerName MON_SITE.fr
  ServerAlias MON_SITE.com
  <Directory /var/www/MON_SITE>
    Order Allow,Deny
    Allow from All
  </Directory>
  ErrorLog /var/log/apache2/MON_SITE-error_log
  TransferLog /var/log/apache2/MON_SITE-access_log
</VirtualHost>

Il faut ensuite ajouter ce nouvel hôte et redémarrer Apache :

a2ensite MON_SITE
/etc/init.d/apache2 restart

Tout est prêt, place à la migration WordPress.

Migration de WordPress sur le nouveau serveur

Nous voici arrivés à la migration WordPress en elle-même ! Rien de bien compliqué, rassurez-vous.

Copie des données

Sur votre ancien serveur, rendez-vous via FTP dans votre répertoire WordPress et  récupérez :

Via phpMyAdmin, toujours sur l’ancien serveur, faites une copie du contenu de la base :

Un fichier .sql est téléchargé, gardez-le de côté.

Installation fraîche

Sur le nouveau serveur, faites une nouvelle installation de WordPress.

Restauration des données

Une fois la nouvelle installation terminée, supprimez le dossier wp-content et remplacez-le par l’ancien. Profitez-en pour copier votre fichier .htaccess à la racine du nouveau répertoire.

Pour restaurer le contenu de la base de données, commencez par supprimer toutes les tables de la nouvelle base dans phpMyAdmin :

Ensuite, dans l’onglet SQL, collez le contenu du fichier .sql téléchargé plus haut et exécutez l’ensemble de requêtes.

Activation de la réécriture d’URL

Sur mon serveur dédié, je me suis rendu compte que la réécriture d’URL n’était pas activée : seule ma page d’accueil était accessible, les autres pages utilisant des règles de réécriture.

Cette étape peut être passée dans le cas des hébergements mutualisés : si le module de réécriture n’est pas activé, demandez à votre hébergeur. Pour les autres, voici comment activer le module de réécriture :

a2enmod rewrite

Déplacez le fichier .htaccess de votre ancien blog à la racine du nouveau répertoire WordPress. Chez moi, ce fichier ressemble à ça :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Un petit redémarrage d’Apache et c’est bon :

/etc/init.d/apache2 restart

Mise à jour des DNS

Auprès du gestionnaire de votre nom de domaine, vous devrez changer le serveur vers lequel pointe votre nom de domaine.

Par exemple, chez OVH, rendez-vous dans la Zone DNS et modifiez l’IP pointée par l’enregistrement de type A, comme montré sur les images ci-dessous :

Accès à la zone DNS sur OVH

Modification de l'IP pointée pour la migration WordPress

La propagation peut prendre de quelques minutes à plusieurs heures d’après la documentation OVH, ça a été plutôt rapide dans mon cas.

Votre migration WordPress est à présent terminée. Est-ce que tout fonctionne comme vous le souhaitiez ? :)

Problèmes courants

Selon le serveur sur lequel vous migrez, vous pourriez rencontrer différents problèmes, par exemple :


Cet article vous a plu ? Partagez-le avec vos connaissances !
Share on Google+ Share on Facebook Tweet about this on Twitter Share on LinkedIn Email this to someone

comments powered by Disqus