Tutorial para migrar un sitio web hecho con Joomla de un servidor local a un servidor de Internet. El proceso aquí descrito, puede también emplearse para llevar a cabo una migración entre dos servidores de Internet, dos servidores locales o desde Internet a un servidor local. Para realizar la migración, emplearemos PhpMyadmin y un cliente FTP.
El proceso de migración de un sitio web hecho en Joomla puede dividirse en dos partes:
-
Migración de la base de datos.
-
Migración de los archivos y carpetas de Joomla.
Antes de comenzar la migración, instalaremos Joomla en el nuevo servidor. Ésto generará un archivo “configuration.php” con los parámetros del servidor remoto.
Migrar la base de datos
Para migrar la base de datos utilizaremos PhpMyAdmin, tanto en el servidor local como en el remoto. Este proceso puede realizarse de dos formas:
-
Migrando la base de datos completa.
-
Exportando las tablas a una base de datos creada previamente.
Migrar la base de datos completa
Accedemos a la página de inicio de PhpMyAdmin de nuestro servidor local y pulsamos en “Exportar”. Seleccionamos la base de datos correspondiente a nuestro sitio web y elegimos la opción “SQL”.
En la parte de la derecha, marcamos la opción “Añada DROP DATABASE” dejando el resto de opciones por defecto.
En la parte inferior podremos elegir distintos formatos de compresión o podremos generar un archivo sin comprimir. Una vez elegida la opción, pulsamos en “Continuar” y, tras unos segundos, se generará un archivo que contendrá una copia de la base de datos de Joomla y que tendremos que guardar.
Ahora tendremos que importar el archivo desde nuestro servidor web. Para hacerlo utilizaremos nuevamente PhpMyAdmin, pero desde el servidor remoto. Vamos a “Importar”, pulsamos en “Browse” y, tras seleccionar el archivo que hemos exportado previamente, pulsamos en continuar.
Si no hay ningún problema, veremos un mensaje informándonos del éxito del proceso de importación.
Exportar las tablas a una base de datos existente
En el caso de que en la base de datos ya existiese algunas tablas ya creadas con anterioridad es posible que al realizar la importación empleando el método anteriormente explicado, obtengamos algún mensaje de error del tipo “Access denied” o similar.
Esto puede deberse a que nuestro servicio de hosting, no nos permite crear o borrar bases de datos desde PhpMyAdmin, por lo que tendremos que realizar la importación sobre la base de datos creada durante la instalación de Joomla.
En primer lugar, editamos el archivo de backup de la base de datos con un editor de texto, borrando las órdenes “DROP DATABASE” y “CREATE DATABASE”.Ahora, mediante PhpMyAdmin, borramos todas las tablas creadas durante la instalación de Joomla en el nuevo servidor, dejando la base de datos vacía. Para ello accedemos a la base de datos y vamos a la pestaña “Estructura”. Pinchamos en marcar todos y, en el desplegable, elegimos la opción eliminar.
Cuando se nos solicite confirmación, pulsamos en “sí” y todas las tablas de la base de datos serán eliminadas.
Una vez tengamos la base de datos vacía, procederemos con la importación. Para hacerlo, vamos a “Importar” y pulsamos en "Browse". Buscamos el archivo que hemos guardado previamente y pulsamos en “Continuar”.
Si todo ha ido bien, las tablas de la base de datos se habrán vuelto a crear y contendrán los mismos datos que nuestra instalación local de Joomla.
Migrar archivos y carpetas
Una vez migrada la base de datos, solo nos falta copiar los archivos y carpetas de nuestro servidor local de Joomla al nuevo servidor. Para hacerlo tendremos que conectarnos con el servidor remoto mediante FTP, por lo que necesitamos un cliente FTP y los datos de acceso al servidor.
Antes de subir los archivos, tendremos que borrar los que se han creado en el servidor remoto durante la instalación de Joomla, a excepción del archivo “configuration.php”.
Cuando hayamos subido todos los archivos, comprobaremos que los datos del archivo “configuration.php”, en especial los que hacen referencia a la base de datos, son correctos.
A partir de este momento, tendremos en el nuevo servidor, una web idéntica a la de nuestro servidor local.