Comme moi, vous développez certainement vos sites sur un serveur de dev avec un sous-domaine quelconque puis vous les transférez sur leur hébergement et domaine définitifs. J’ai toujours eu des soucis au niveau des encodages utf8 qui deviennent fantaisistes dès que je touche aux fichiers dump de mysql pour modifier les chemins et urls pour les options et les images. En fait, à partir du moment où le fichier est ouvert avec un éditeur de texte, ça ne va plus. Un peu lasse de passer trop de temps sur ces transferts, j’ai demandé à linux et ssh de me sauver la mise.
D’abord, on fait une sauvegarde de la base de données sur le serveur de dev au moyen du plugin WordPress Database Backup et on laisse le fichier généré sur le serveur.
On transfère tous les fichiers vers le nouvel hébergement, soit par ftp, soit par ssh avec la commande scp -R chemin_source/* nom_utilisateur@host_du_serveur:chemin_destination
Si on le fait par ssh, s’assurer que les owners et groups sont les bons et refaire un chmod sur les répertoires wordpress qui doivent être accessibles en écriture (la routine quoi !)
On modifie bien sûr le fichier wp-config.php sur le nouvel hébergement pour accéder à la bonne base de données.
On se logue en ssh sur le nouveau serveur et on va modifier directement le fichier sql qui est en général dans wp-content/backup_quelquechose. Comme il est zippé, on le dézippe.
gunzip nouvellebase_wp_20061220_715.sql.gz
On procède aux modifications par rechercher/remplacer. Considérons que nous avions pour ancien site http://site.monserveur.com avec pour chemin /home/www/site.monserveur/html et pour nouveau site http://www.site.com avec pour chemin /home/www/site.com/html
sed -i "s/site.monserveur.com/www.site.com/g" base_wp_20061220_715.sql
sed -i "s/home\/www\/site.monserveur\/html/home\/www\/site.com\/html/g" base_wp_20061220_715.sql(notez bien que les slash des url sont échappés par des anti-slash)
Chargez ensuite la base de données directement par ssh (phpmyadmin peut aussi la charger mais tant qu’on y est…)
mysql -hMonHost -uMonUser -pMonMotDePasse Mabase < chemin/monfichier.sql
En principe, tout doit fonctionner sur la nouvelle url.

20 décembre 2006 à 6:27
Trop forte