Tutorial para la migración de wordpress

Música de fondo de bricomania suena. Deseas migrar tu wordpress de un servidor a otro y aquí vamos a contarte un poco los posibles pasos que tendrás que realizar.

EN EL VIEJO SERVIDOR

Paso 1: Creación de copia de la base de datos del wordpress.
Se puede hacer usando phpmyadmin. En caso de no disponer de esta herramienta se usará la linea de comandos.
Un ejemplo de exportar desde linea de comandos es el siguiente:

mysqldump -uroot -p   > export.sql

Hacemos una copia de seguridad llamada export.sql.bak por si las moscas.

Paso 2: Copia de la web. Bajas los datos de la web. Lo comprimes en un zip y lo subes al nuevo servidor.
Puedes subirlos por ssh aunque es bueno dejarte alguna copia en tu disco duro.

Si deseas directamente subirlo vía ssh (si donde tienes alojada la web te da acceso ssh) puedes usar lo siguiente:

scp whatever.zip usuario@host:/home/usuario/

Si deseas bajarte la web a tu disco duro y crear un zip nunca sobra. Algunos servidores simplemente ofrecen hosting pero no te ofrecen acceso para administrar vía ssh.
En tal caso es posible seguramente que ofrezcan un panel web desde donde bajar la web entera o acceso ftp o sftp.

Bajate la web vía ftp y luego comprimela en un zip para subirla de nuevo al nuevo servidor.

EN EL NUEVO SERVIDOR

Paso 1: Instalar Nginx + php
Paso 2: Instalar MariaDB
Paso 3: Importar la base de datos.

#mysql --user=root mysql -p
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO ''@'localhost' IDENTIFIED BY '' WITH GRANT  OPTION;
 Query OK, 0 rows affected (0.00 sec)
 
MariaDB [mysql]> CREATE DATABASE ;
 Query OK, 1 row affected (0.00 sec)
 
MariaDB [mysql]> exit;
 Bye

Antes de realizar el siguiente tipeo mejor crearse una copia de seguridad por si las moscas. Es muy sencillo confundirse y en vez de usar «<" usar ">» y cargarnos el archivo.
La copia se puede hacer con cp.

cp export.sql{,bak}
#mysql -u root -p -h localhost  < export.sql

Esto funcionará si en el servidor viejo hemos realizado la copia de seguridad utilizando la linea de comandos. Si hemos usado phpmyadmin es diferente.

mysql --user=root  -p

Introducimos en MariaDB el siguiente comando para crear un usuario independiente:

GRANT ALL PRIVILEGES ON *.* TO ''@'localhost' IDENTIFIED BY '' WITH GRANT   OPTION;

Y salimos de MariaDB:

MariaDB [mysql]> exit;
 Bye

Si nos fijamos no hemos creado la base de datos. No la hemos creado ya que al realizar la copia utilizando phpmyadmin es muy probable que el fichero export.sql contenga ya una sentencia de crear la base de datos (create database nombre) y por tanto si tuviésemos ya una base de datos con el mismo nombre no funcionará el volcado.

El volcado en este caso es así:

#mysql -u root -p -h localhost  < export.sql

Paso 4: Descomprimir archivos de la web y editar wp-config
Accedemos por ssh al servidor y descomprimimos el archivo:

wget whatever.zip
unzip whatever.zip

Ahora con nuestro editor favorito de texto vamos a editar el fichero wp-config, concretamente las siguientes lineas:

define('DB_NAME', 'nombredelabasededatos');
define('DB_USER', 'nombredeusuarioenlabasededatos');
define('DB_PASSWORD', 'tupassworddelabasededatos');
define('DB_HOST', 'tuhost-puede-que-sea-localhost'); 

Paso 5: En ngix no funcionará el fichero .htaccess y por tanto los permalinks molones no van a chutar.

Si usamos apache no problema. Meteremos el fichero .htaccess pero si usamos ngix vamos a tener que añadir lo siguiente en el fichero de configuración de nuestra web.

Estos ficheros estarán probablemente si no se ha modificado en /etc/ngix/sites-avaiable

try_files $uri $uri/ /index.php?$args;

Luego reiniciamos ngix.

/etc/init.d/ngix reload

Si todo va bien ya estará la migración completada a falta de redireccionar DNS.

Paso 6: Simplemente vamos a redireccionar el dominio de un server a otro.
Esto cada cual podrá hacerlo de una forma u otra dependiendo del panel de gestión que tenga disponible.

La idea es que si tuweb.com apuntaba a x IP ahora apunte a la del nuevo servidor.

Luego en el servidor ya sea apache lo que uses o ngix tendrás que direccionar donde van las cosas.
Esto ya se nos queda grande para este articulo.

Compartir

1 Comentario

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax