Déc 192011
 

j’ai enfin pris le temps de migrer le portail de développement. c’est du wordpress donc c’est pas forcément intuitif, voici pour mémoire la procédure à suivre. au final, changement du nom de domaine et changement de répertoire. voici la méthode utilisée.

la première chose à faire est de copier l’arborescence de votre wordpress :

# cd /var/www/thesite
# tar cvpf – . |gzip -c |(cd /var/www/newsite ; gunzip -d |tar xpf -)

ensuite on va créer une nouvelle base de donnée puis répliquer l’ancienne dedans

# mysqladmin create NEW_BASE -u DBUSER --password=DBPASS
# mysqldump -u DBUSER --password=DBPASS OLD_BASE | mysql -u DBUSER --password=DBPASS -h localhost NEW_BASE

puis changer les référence à l’ancien nom de domaine pour le nouveau

# mysql -u DBUSER -p
mysql> use NEW_BASE
mysql> UPDATE wp_posts SET guid = replace(guid, 'http://dev.mobidyc.net', 'http://www.mobidyc.net');
mysql> UPDATE wp_posts SET post_content = replace(post_content, 'http://dev.mobidyc.net', 'http://www.mobidyc.net');
mysql> UPDATE wp_anchors SET post_url = replace(post_url, 'http://dev.mobidyc.net', 'http://www.mobidyc.net');
mysql> UPDATE wp_posts SET pinged = replace(pinged, 'http://dev.mobidyc.net', 'http://www.mobidyc.net');
mysql> UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'http://dev.mobidyc.net', 'http://www.mobidyc.net');
mysql> UPDATE wp_options SET option_value = replace(option_value, '/var/www/thesite', '/var/www/newsite');
mysql> UPDATE wp_postmeta SET meta_value = replace(meta_value, '/var/www/thesite', '/var/www/newsite');

il reste à modifier la configuration de wordpress (remplacez OLD_BASE et NEW_BASE par VOS valeurs)

# sed -i "s@define('DB_NAME', 'OLD_BASE');@define('DB_NAME', 'NEW_BASE');@" /var/www/newsite/wp-config.php

comme j’aime bien automatiser, voici un script tout fait, pensez à bien

#!/bin/bash

# connexion à mysql
USERMYSQL=adminsql
PASSWORDSQL=thepassword
HOST=localhost

# la source et destination de la base mysql
SRCSQL=SOURCE_DB_NAME
DSTSQL=DEST_DB_NAME

# la source et destination du répertoire contenant wordpress
SRCDIR=/home/mobidyc/dev_mobidyc
DSTDIR=/home/mobidyc/www.mobidyc.net

# l'ancien et nouveau domaine
OLDFQDN=http://dev.mobidyc.net
NEWFQDN=http://www.mobidyc.net

[ -d "${DSTDIR}" ] && {
  echo "ERREUR: DESTINATION EXISTANTE"
  exit 1
}

# copie du site de la source à la destination
cd "${SRCDIR}"
tar cvpf – . |gzip -c |(cd "${DSTDIR}" ; gunzip -d |tar xpf -)

# Creation de la nouvelle base de données
mysqladmin create $DESTSQL -u $USERMYSQL --password=$PASSWORDSQL

# duplication de l'ancienne base sur la nouvelle
mysqldump -u $USERMYSQL --password=$PASSWORDSQL $SRCSQL | mysql -u $USERMYSQL --password=$PASSWORDSQL -h $HOST $DSTSQL

# on modifie les valeurs référence de l'ancien site dans la nouvelle base de donnée (dupliquée) de wordpress
echo "UPDATE wp_options SET option_value = replace(option_value, '${OLDFQDN}', '${NEWFQDN}') WHERE option_name = 'home' OR option_name = 'siteurl';" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_posts SET guid = replace(guid, '${OLDFQDN}', '${NEWFQDN}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_posts SET post_content = replace(post_content, '${OLDFQDN}', '${NEWFQDN}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_anchors SET post_url = replace(post_url, '${OLDFQDN}', '${NEWFQDN}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_posts SET pinged = replace(pinged, '${OLDFQDN}', '${NEWFQDN}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '${OLDFQDN}', '${NEWFQDN}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_options SET option_value = replace(option_value, '${SRCDIR}', '${DSTDIR}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL
echo "UPDATE wp_postmeta SET meta_value = replace(meta_value, '${SRCDIR}', '${DSTDIR}');" |mysql -u $USERMYSQL --password=$PASSWORDSQL $DSTSQL

# on défini la nouvelle base à utiliser dans la conf de wordpress
sed -i "s@define('DB_NAME', '${SRCSQL}');@define('DB_NAME', '${DSTSQL}');@" ${DSTDIR}/wp-config.php
 Publié par à 16 h 58 min

  Une commentaire à “migrer WordPress”

  1. Yes, finally I found what I was looking for, I was looking for an online poker game trusted.
    Here is very complete, starting from the tactics of playing
    poker online, rules of online poker games, and website provider of real money online poker.
    Thank you!}

 Laisser un commentaire

Vous pouvez utiliser ces tags et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.