Anda di halaman 1dari 20

Redactado por: Volk

Curso: 2CFSG ASIR/ASIX

Migrar Joomla
utilizando una base
de datos MySQL
remota

Fecha: 15/01/2016

ndice de contenido

Introduccin

Instalacin de Akeeba Backup

Toma de contacto y primera copia de seguridad

Preparacin para la restauracin de nuestro backup

Restauracin de la copia de seguridad e intento de conexin MySQL Remota

Solucionando el error: Permitiendo conexiones MySQL remotas

Conexin a la base de datos MySQL remota

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:

CARACTERSTICAS DE LA MQUINA VIRTUAL


Nombre:

IAW-Emanuel

Memoria base:

1024 MB

Disco duro:
Direccin IP:

IAW-Emanuel (clon)
8GB

192.168.202.54

192.168.202.154

CARACTERSTICAS DEL SOFTWARE USADO


Sistema Operativo:
Paquetes
instalados:
Software adicional:

Ubuntu 14.04.3 LTS (Trusty Tahr)


lamp-server (instalado con sudo apt-get install lamp-server^)
phpmyadmin (necesario para administrar las bases de datos)
Joomla, Akeeba Backup (extensin)

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.

Instalacin de Akeeba Backup


Lo primero que haremos ser ir al back-end de nuestra pgina web, es decir, a nuestro panel de
control de administrador. A la ruta por la cual accedemos a la pgina, le aadimos /administrator y
accedemos.

Una vez dentro, entramos con nuestras credenciales.

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.

Toma de contacto y primera copia de seguridad


Ya hemos instalado Akeeba Backup. Ahora, para empezar, vamos a crear la primera copia de
seguridad de nuestro Joomla. Para ello, vamos a nuestro back-end, y nos dirigimos a Componentes
Akeeba Backup.

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 el benchmarking finalice, nos aparecer la siguiente imagen:

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.

Pulsamos sobre Backup Now! Y esperamos.

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.

Una vez el backup finalice, nos aparecer la siguiente pantalla:

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.

Preparacin para la restauracin de nuestro backup


Para restaurar nuestro backup, slo necesitamos dos elementos esenciales: kickstart.php y nuestro
backup.jpa. Primero, vamos a ir a por Akeeba Kickstart.
Lo primero que haremos ser dirigirnos a la pgina principal de Akeeba Backup. Una vez ah,
vamos al apartado Download.

Veremos una amplia lista de productos hechos por Akeeba, pero a nosotros nos interesa Akeeba
Kickstart. Lo localizamos y pulsamos sobre Download.

Una vez hayamos descargado el comprimido, localizmos el archivo kickstart.php y lo guardamos, lo


necesitaremos relativamente pronto. Por ahora, vamos a volver al Backup Manager de Akeeba.

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.

Restauracin de la copia de seguridad e intento de conexin


MySQL Remota
Ahora, para continuar con el manual, nos dirigimos a la mquina en la que queremos restaurar
el backup. Vamos a la carpeta /var/www/html que es donde se alojan los archivos publicados en
nuestro servidor web.
Ah, crearemos una carpeta llamada, por ejemplo, joomla2. En esa carpeta copiaremos el archivo
kickstart.php descargado anteriormente. Tambin copiaremos el archivo con extensin .jpa, nuestro
backup.

Acto seguido, utilizando un navegador web, vamos a la direccin de nuestro servidor clon y
abrimos el archivo kickstart.php.

Como podemos ver, ya no estamos en 192.168.202.54


si no en 192.168.202.154, el servidor clon

En el asistente, cuando nos pregunte por el mtodo de restauracin, marcaremos Directly y


continuamos:

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.

Sin embargo, nos aparecer el siguiente error:

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.

Solucionando el error: Permitiendo conexiones MySQL remotas


Para que el servidor MySQL admita conexiones remotas, debemos realizar dos modificaciones
previas. Despus de estas modificaciones, volveremos a intentar conectarnos a la base de datos.
Lo primero que tenemos que hacer es modificar el archivo /etc/mysql/my.cnf. Lo abrimos como
superadministrador (con sudo) y miramos su contenido.
Dentro del archivo, hay una linea que dice lo siguiente:
bind-address = 127.0.0.1

Pues bien, deberamos comentar esa linea, y aadir una nueva, que diga esto:
bind-address = 192.168.202.54

Como podemos observar, la IP que he asignado a bind-address es la IP del propio servidor.


Como dato curioso, lo que hemos hecho ha sido, bsicamente, cambiar la direccin IP de escucha.
Antes escuchaba por 127.0.0.1 (localhost), pero ignoraba completamente las peticiones externas.
Ahora, al escuchar por la IP 192.168.202.54, significar que, bsicamente, si le pides acceso a la
base de datos a travs de esa IP, el servidor te la dar (siempre y cuando te autentifiques, claro).
Debera quedarnos algo as:

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.

Veremos una lista de usuarios bastante parecida a esta:

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.

NOTA: Lo de elegir la IP de la mquina clonada es slo por seguridad. "Que se conecte a mi


MySQL slo este equipo, nadie ms". Tambin puedes marcar, en vez de Local y una IP, Cualquier
servidor, y podra conectarse cualquiera. Ambas son vlidas, slo que la opcin de una IP concreta
es ms segura.

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.

Conexin a la base de datos MySQL remota


Retomamos el asistente tal y como lo dejamos, cuando nos peda los datos de la base de datos de
MySQL. Volvemos a poner los mismos que antes, con la certeza de que esta vez nos dejar.

Como podemos apreciar en la siguiente imagen, ya no tenemos ningn problema, y la copia de


seguridad de la base de datos se est volcando en una base de datos alojada por el servidor MySQL
remoto.

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

Anda mungkin juga menyukai