Gizeek a récemment migré de son ancien hébergement mutualisé chez OVH, sur un serveur dédié Kimsufi toujours chez OVH. La raison est simple: plus de flexibilité, de possibilités, etc. La migration ne s’est pas faite toute seul et j’ai du faire pas mal de recherches pour résoudre certains problèmes. Je vais donc partager cette expérience avec vous dans une série d’articles.
On va donc commencer aujourd’hui avec un premier article traitant de la préparation de la migration. Un minimum de préparation vous sera forcément utile et vous évitera un paquet de cheveux blancs !

La base de données

Là première chose à faire est un dump de votre base de donnée, c’est à dire une copie carbone de la base utilisée par votre WordPress actuel et qui pourra être utilisé avec le nouveau. Attention si vous réutilisez la base, vous réutilisez les tables et vous ne pourrez donc pas choisir de nouveaux préfixes à l’installation du nouveau WordPress.

On commence par se connecter à son phpmyadmin et on sélectionne sa table. A partir de là attention ça va très vite: on clique sur l’onglet « Export » puis on sélectionne le format SQL et on clique sur Exécuter:

Et hop ! Vous obtenez un fichier SQL contenant l’intégralité de votre base WordPress !

Les dossiers

La sauvegarde de la base de données ne fait pas tout. Il faut aussi sauvegarder quelques uns de vos anciens répertoires. Le plus important est surement le répertoire uploads situé dans wp-content. Il contient tous les médias dont vous vous êtes servi pour illustrer vos articles. Les deux autres répertoires à sauvegarder sont le répertoire themes et le répertoire plugins. Tout dépend de comment vous voulez organiser votre migration. Si vous voulez en profiter pour repartir sur des bases saines sans plugins et avec un thème vierge de toute modification ces deux répertoires ne vous seront pas utiles.

Je vous invite aussi à faire une sauvegarde de vos fichiers .htaccess ce qui vous évitera de devoir les réécrire entièrement.

Le serveur Web

Avant d’installer WordPress il faut bien évidemment que votre serveur dédié dispose d’un serveur Web  digne de ce nom. On va considérer une installation de type LAMP, c’est à dire qui tourne sous une distrib Linux avec un serveur Apache, MySQL et PHP. Avant de copier les fichiers de WordPress il faut se demander ou vont-ils être sur le serveur. Cela peut paraître évident mais si vous décidez de positionner votre répertoire wordpress dans le /home de l’utilisateur, il ne sera pas joignable par défaut puisque Apache se base en premier sur le contenu de /var/www/ et il faudra donc lui spécifier ou pointer. Ensuite si vous voulez une URL du type http://www.monsite.com/ plutot que http://www.monsite.com/wordpress/ il faudra déterminer un VirtualHost Apache. Pour l’install suivante on va considérer que le répértoire wordpress se trouve dans /var/www/. Le site chargera donc les fichiers de /var/www/wordpress/. On va maintenant spécifier au serveur qu’il ne doit pas répondre avec www.monsite.com/wordpress/ mais www.monsite.com. Pour cela il faut fourrer ses pattes dans les fichiers de configuration d’Apache pour paramétrer un VirtualHost.

Dans le répertoire /etc/apache/ on va créer un fichier appelé par exemple monsite et lui donner les informations suivantes:

<VirtualHost *:80>
    ServerAdmin admin@monsite.com
    ServerName monsite.com
    ServerAlias www.monsite.com
    DocumentRoot /var/www/wordpress/
    <Directory />
      Options FollowSymLinks
      AllowOverride None
    </Directory>
    <Directory /var/www/wordpress/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      allow from all
    </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
   LogLevel warn
   CustomLog ${APACHE_LOG_DIR}/access.log combined
   </Directory>
 </VirtualHost>

Dans cette configuration on définit l’administrateur du site, l’alias du site, c’est à dire le « www » devant l’URL et bien évidemment le nom du serveur. Là ou le VirtualHost prend tout son sens c’est  que l’on définit le répertoire racine du site www.monsite.com comme étant l’installation de WordPress.  Attention ! Le AllowOverride fixé a All permet de prendre en compte la configuration présente dans les fichiers .htaccess .

Voilà ! on peut considérer votre serveur comme prêt à accueillir votre site !