Migrar Joomla
utilizando una base
de datos MySQL
remota
Fecha: 15/01/2016
ndice de contenido
Introduccin
Comprobacin
Conclusin
Bibliografa
Introduccin
Seguramente en algn momento de nuestra vida como informticos podramos necesitar restaurar
una copia de seguridad. Por alguna razn, podramos necesitar que la base de datos sobre la que
estamos trabajando no est necesariamente en el equipo que est alojando la copia de seguridad
restaurada.
Puede que sea porque no tenemos un servidor MySQL en el equipo que est alojando la copia de
seguridad, puede que para las tareas que vamos a realizar necesitemos un servidor potente y un
cliente comn, o simplemente queremos tenerlo todo centralizado en el mismo servidor.
Sea cual sea la causa, en el siguiente manual vamos a aprender a restaurar una copia de seguridad
de Joomla en un servidor MySQL remoto, y para ello vamos a utilizar el mdulo Akeeba Backup,
un mdulo muy famoso para los administradores de Joomla.
Las especificaciones de ambas mquinas virtuales son casi idnticas, pues hay que tener en cuenta
que la segunda mquina es un clon de la primera. Las caractersticas de las mquinas que voy a
utilizar son las siguientes:
IAW-Emanuel
Memoria base:
1024 MB
Disco duro:
Direccin IP:
IAW-Emanuel (clon)
8GB
192.168.202.54
192.168.202.154
Comenzamos!
Introduccin a la instalacin
Vamos a partir de una mquina virtual con el servidor LAMP y el paquete phpmyadmin instalados.
Tambin tenemos instalado un Joomla, que ser el objetivo, es decir, la pgina web que vamos a
clonar.
En la pgina principal de nuestro back-end, nos dirigimos al apartado Extensiones y hacemos click
en Instalar extensiones.
Nada ms entremos, tendremos varias formas de instalar las extensiones. Ya sea subiendo un
archivo comprimido con el contenido de la extensin, o proporcionndole una URL directa a un
comprimido que contenga esta extensin. A nosotros no nos interesa nada de esto, ya que podemos
instalar la extensin directamente desde la web.
Nos dirigimos al siguiente apartado y hacemos click sobre el botn Aadir la pestaa Instalar
desde la web.
Una vez pulsemos ese botn, la pgina se refrescar y nos aparecern unas categoras repletas de
extensiones, y en la pgina principal, las extensiones ms relevantes. Con un poquito de suerte nos
aparecer la extensin Akeeba Backup nada ms cumplir el paso anterior. En caso contrario,
buscamos la extensin utilizando la barra de bsqueda. Una vez lo veamos, hacemos click sobre el
nombre.
Veremos una serie de informacin respecto a la extensin, como por ejemplo, bajo qu tipo de
licencia est, la versin y la ltima vez que fue actualizado. Pulsamos sobre Install para aadirlo a
nuestras extensiones.
En el siguiente paso, nos pedir que confirmemos la instalacin, y por si acaso (quiz para
comprobar si estamos descargando el paquete desde la pgina oficial?) nos aparece el enlace que
contiene el comprimido de la extensin. Confirmamos pulsando Instalar.
Una vez instalado, nos aparecer la siguiente pantalla, confirmndonos que tanto Akeeba Backup
como sus componentes se han instalado correctamente.
Al ser la primera vez que iniciamos Akeeba Backup nos preguntar si queremos que Akeeba
Backup se configure a si mismo. No est de ms hacerlo, as que pulsamos sobre Configuration
Wizard.
El asistente de la configuracin har una serie de benchmarks sobre nuestro servidor (es decir,
medir su rendimiento) para decidir qu configuracin nos conviene ms. Esperamos hasta que
acabe y no actualizamos la pgina, ni salimos de ella.
Una vez aqu, hacemos click sobre Backup Now para crear la primera copia de seguridad de nuestro
Joomla.
Una vez aqu, nos preguntar por el perfil (lo dejamos por defecto), por una descripcin corta que
nos ayude a identificar este backup en concreto entre otros muchos en el futuro, y un comentario
que nos de ms detalles an sobre el backup.
Nos aparecer una pantalla como esta, que nos recuerda al benchmark anterior. Al igual que ocurre
con el benchmark, no debemos movernos de esta pgina, ya que de lo contrario, la tarea se
abortar.
Hacemos click sobre Manage Backups. Como es la primera vez que accedemos a la lista de backups
realizados, puede que nos preguntemos Vale, lo tengo hecho, y ahora, qu? Cmo restauro yo
eso?. Los desarrolladores de Akeeba han previsto esto, y nada ms entremos, nos saltar esta
ventana con ayuda, como un videotutorial, o el enlace a un asistente de transferencia de pginas.
Sin embargo, como ya tenemos este tutorial para ello, pulsamos Got it! y empezamos con la
preparacin para la restauracin de nuestro backup.
Veremos una amplia lista de productos hechos por Akeeba, pero a nosotros nos interesa Akeeba
Kickstart. Lo localizamos y pulsamos sobre Download.
Como podemos ver, aparece nuestro nico backup. Hacemos click sobre Download y comenzamos
con la descarga. Al intentar descargarlo desde el navegador, nos avisar de que el hecho de
descargar utilizando este mtodo podra corromper los archivos. Esto es a gusto del consumidor, si
realmente ests manejando contenido delicado, quizs deberas hacerlo por SFTP, por ejemplo.
En mi caso, no tengo problema con descargarlo desde el navegador, as que pulsar Download.
Esperamos, y una vez se descargue, tendremos un archivo con un nombre muy largo y extensin
.jpa. En mi caso, y para simplificar la gua, he renombrado el archivo a backup.jpa.
Acto seguido, utilizando un navegador web, vamos a la direccin de nuestro servidor clon y
abrimos el archivo kickstart.php.
En el siguiente paso, pulsamos Run the installer para ejecutar el asistente de restauracin ANGIE.
Una vez pulsemos Run the installer, veremos un informe general sobre nuestro servidor, que puede
resultar bastante interesante. Pulsamos Siguiente.
Por fin, la hora de la verdad: La conexin SQL. En el campo Nombre del servidor de la base de
datos, en vez de utilizar localhost, pondremos la direccin IP de nuestro servidor original. Puesto
que mi servidor original es 192.168.202.54, utilizar esa IP.
Para el nombre de la base de datos, en vez de utilizar el nombre original (mi base de datos original
se llamaba joomla), utilizar otro nombre para poder diferenciar las bases de datos. Por ejemplo,
joomla2.
Esto se debe a que el servidor al que nos estamos tratando de conectar slo admite conexiones
MySQL propias, es decir, cualquier IP que no sea la suya propia tiene el acceso vetado.
Pues bien, deberamos comentar esa linea, y aadir una nueva, que diga esto:
bind-address = 192.168.202.54
Guardamos, y reiniciamos el servicio MySQL para que el servidor empiece a aplicar la nueva
configuracin.
Ahora, solucionado esto, vamos a dirigirnos al gestor de bases de datos PhpMyAdmin del servidor
MySQL (en mi caso, http://192.168.202.54/phpmyadmin).
Iniciamos sesin con la cuenta de root que creamos a la hora de instalar LAMP, y nos dirigimos a la
pestaa Usuarios.
Pulsamos sobre el botn Editar los privilegios en la fila del usuario root en el servidor 127.0.0.1.
En la pantalla de edicin, bajamos del todo, y en el campo Servidor, borramos 127.0.0.1, y
escribimos la IP de la mquina clonada, es decir, la mquina en la que vamos a restaurar la pgina
web. En el campo de abajo, marcamos Crear un nuevo usuario con los mismos privilegios y
mantener el anterior.
Si todo ha salido bien, deberamos tener otra fila: Usuario root, con la IP de nuestra mquina
clonada por servidor.
Con esto, habremos acabado ya con el problema que tenamos, y ya deberamos poder conectarnos
a la base de datos MySQL de forma remota.
No llevar mucho hasta que nos muestre el siguiente mensaje por la pantalla:
A continuacin, seguiremos configurando nuestro Joomla restaurado a nuestro gusto. Cuando est a
nuestro gusto, pulsaremos Siguiente.
Una vez hayamos acabado todo, al igual que en la primera instalacin de Joomla, nos pedir borrar
el directorio de instalacin. Hacemos click en el botn para borrarlo.
Con esto concluye la restauracin al completo, ahora tenemos un clon perfecto de nuestro anterior
Joomla.
Comprobacin
Est claro que hemos conseguido restaurar un backup de Joomla, pero lo que dice el ttulo de la
gua es, claramente, Servidor MySQL Remoto. Cmo podemos asegurar esto? Fcil. Si el servidor
MySQL remoto cae, algn efecto tendr en la pgina web, as que vamos a comprobarlo.
Como podemos ver, si vamos a http://192.168.202.154/joomla2, que es el servidor clonado,
tenemos un Joomla replicado y funcional:
Pero si nos vamos al servidor MySQL (192.168.202.54) y paramos el servicio de MySQL, la base
de datos deja de funcionar, y por lo tanto, la pgina web tambin. Utilizamos sudo service mysql
stop
Conclusin
Esto es bastante sencillo de realizar, y muy til para quien de verdad lo necesite, ya que el mero
hecho de tener una base de datos a la cual puedas acceder de forma remota abre muchas
posibilidades. Aunque esto sea solo un manual, una guia sobre una nica funcin de una extensin
de Joomla, puede servir a una persona no slo para realizar lo que el manual explica, si no tambin
como idea para aplicarla a cualquier proyecto que pueda tener entre manos.
El nico problema que tuve fue el hecho de que, por defecto, MySQL rechaza conexiones externas.
No expongo aqu la forma de solucionarlo ya que forma parte de la propia gua (si no consigues
arreglarlo, no vas ms all). Personalmente me parece bien que sea as por defecto, ms seguro.
Bibliografa
Como permitir la conexin remota en MySQL:
http://stackoverflow.com/questions/14779104/how-to-allow-remote-connection-to-mysql
Como instalar el servidor LAMP en Ubuntu 14.04 (la verdad, poder instalar todo con un nico
comando es til):
http://www.ubuntufacil.com/2014/05/como-instalar-servidor-lamp-en-ubuntu-14-04-lts/
Como permitir a usuarios MySQL conectarse de forma remota (Seccin Granting Permissions
Using phpMyAdmin):
http://wiki.r1soft.com/display/CDP3/Allowing+Remote+Connections+to+MySQL+Instance