Migrar WordPress a un nuevo servidor

La manera más sencilla de migrar un sitio web que utiliza WordPress a un nuevo servidor es utilizando la aplicación wp-cli. Los pasos a seguir para realizar este procedimiento son los siguientes:

Instalamos wp-cli en el servidor donde se encuentra actualmente el sitio web

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

,comprobamos que la descarga se ha realizado satisfactoriamente

php wp-cli.phar --info

y asignamos permisos de ejecución al archivo descargado y lo colocamos en una ruta más accesible.

chmod +x wp-cli.phar

Ahora ya podemos ejecutarlo desde cualquier ubicación del servidor. Estos mismos pasos se deben llevar a cabo en el nuevo servidor donde vamos a alojar el sitio web.

Llegados a este punto, comenzamos realizando una exportación de la base de datos del sitio web. Para ello, nos colocamos en el directorio que contiene la instalación de WordPress y ejecutamos el siguiente comando

cd /path/to/site
wp db export dbname.sql

Es importante recordar que para llevar a cabo la exportación y la importación, es necesario qu el usuario de acceso a la base de datos que está configurado en el archivo wp-config.php tenga el privilegio LOCK TABLES sobre la base de datos. Si no es así, debemos asignarselo momentaneamente para llevar a cabo esta tarea.

Una vez disponemos de la copia de seguridad de la base de datos, replicamos el sitio web en el nuevo servidor.

scp -r . user@new_server:/path/to/site

Ahora, nos conectamos al nuevo servidor, colocándonos en el directorio que contiene la réplica del sitio web, y reconfiguramos los parámetros de conexión de la base de datos en wp-config.php

cd /path/to/site
nano wp-config.php
...
define('DB_NAME', 'BASE_DE_DATOS');
define('DB_USER', 'USUARIO');
define('DB_PASSWORD', 'CONTRASEÑA');
define('DB_HOST', 'db02cpd001t.epgpc.epgpc');
...

e importamos la base de datos

wp db import dbname.sql

Ahora tenemos que buscar todas las referencias en la base de datos alantiguo servidor y cambiarlas por el nuevo servidor. Para realizar esta tarea, utilizamos el siguiente comando

wp search-replace old_server new_server --skip-columns=guid --all-tables --dry-run

–dry-run ejecuta el comando sin realizar cambios en la base de datos, y nos sirve para ver cual sería el resultado de la ejecución. es recomendable ejecutar el comando una primera vez con este parámetro para comprobar su correcto funcionamiento y, una vez estemos seguros, ejecutarlo de nuevo sin –dry-run.

En algunas instalaciones, no se detecta ninguna tabla sobre la cual realizar las sustituciones. En ese caso, ejecutar el comando con el parámetro --all-tables.

Ya sólo nos queda eliminar el sitio web y la base de datos del antiguo servidor para tener la migración finalizada.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *