Migrar Joomla desde la línea de comandos

Para migrar Joomla podemos hacerlo de varias maneras, aunque todas se basan en lo mismo. Una manera muy útil es utilizando las herramientas que se describen en este estupendo tutorial.

En ocasiones no disfrutaremos de estas herramientas instaladas y en este tutorial esplicaremos como realizarlo todo desde la línea de comandosEn primer lugar dispondremos de dos servidores, el mío y el de Luisfer, describiremos aquí el proceso de migrar mi Joomla al servidor de Luisfer, que será exactamente igual para migrar el suyo al mío.

Luisfer: 192.168.1.xx1

Aitor: 192.168.1.xx2

Me conectaré a mi servidor por ssh y haremos una compresión de todo el directorio de mi Joomla. Comprimiremos todos los ficheros y carpetas que hay dentro para luego volcarlos en el directorio que nos haya habilitado Luisfer. Utilizamos:

#tar -czvf  joomla3-aitor.tar.gz  joomla3/*

Ahora Luisfer en su servidor me creará un directorio en /var/www y un usuario con permisos en esa carpeta:

#adduser aitor
#mkdir /var/www/joomla3-aitor
#chown aitor:aitor /var/www/joomla3-aitor

De nuevo volvemos al servidor de aitor y copiaremos el fichero comprimido joomla3-aitor.tar.gz en el directorio que ha habilitado Luisfer. Usaremos un comando muy útil para copias remotas :

#scp  joomla3-aitor.tar.gz  aitor@192.168.1.xx1:/var/www/joomla3-aitor

Nos conectamos ahora al servidor de luisfer con la cuenta que nos ha creado y descomprimimos el fichero joomla3-aitor.tar.gz del directorio /var/www/joomla3-aitor.  Nos creará un subdirectorio en el sitio con todo el contenido solo tenemos que mover dicho contenido un nivel arriba.

Migración de la Base de Datos:

Primero luisfer me creará en su servidor una base de datos donde hacer yo el volcado, con un usuario admin y su contraseña de esa base de datos:

# mysql -u root -p
mysql> create database db_joomla_aitor;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON db_joomla3_aitor.* TO 'joomlaitor'@'localhost' IDENTIFIED BY 'joomlaaitor';

Volvemos al servidor de aitor para hacer la copia de la base de datos. Y utilizamos el siguiente comando para realizarla en un fichero .sql

#mysqldump  -u root -p bd_joomla3 > bdaitor.sql

Y copiamos este fichero en el otro servidor:

#scp  bdaitor.sql  aitor@192.168.1.xx1:/var/www/joomla3-aitor

Ahora en el servidor de luisfer, haré el volcado en la base de datos que él me ha creado db_joomla3_aitor  con el usuario que me asignó los permisos:

# mysql  -u  joomlaaitor  -p  db_joomla3_aitor < bdaitor.sql

Ya para terminar modificaremos el fichero configuration.php del nuevo sitio para cambiar los datos de la base de datos y alguna ruta:

$user = joomlaaitor (usuario con permisos en la base de datos)

$password = joomlaaitor (password de dicho usuario)

$db = db_joomla3_aitor (la nueva base de datos)

$log_path = ‘/var/www/joomla3-aitor/logs’ (ahora el directorio es joomla3-aitor)

$tmp_path = ‘/var/www/joomla3-aitor/tmp’

FIN…