Migrar Joomla con cero downtime: Enfoque en DNS

Escrito por | 01 Agosto 2013 | Publicado en Agosto 2013
En este tutorial se pretende ayudar a todas aquellas personas que tienen necesidad de migrar un sitio web de un servidor a otro, de la manera en que se obtengan los menos problemas posibles, manejando un 0% de downtime.

Al decir "Cero downtime" me refiero a que no haya ni un minuto de que tu sitio este fuera de linea al momento de migrarlo de un servidor a otro, y que este cambio pase totalmente desapercibido para el usuario o visitante de tu sitio web.

Considero lo siguiente: En mi ejemplo, uso hosting tipo cpanel, pero puede usarse hosting de cualquier tipo.

Básicamente encuentro dos problemas al migrar un sitio joomla:

a.- encontrar una buena herramienta de migración.
En este tutorial no abordaré este tema que ya es bastante conocido, pero de todas formas esta puede realizarse con el excelente Akeeba Backup, o incluso hacerlo a mano

b) Evitar en lo posible que el correo enviado por Joomla llegue a carpeta de spam. De esto nos ocuparemos en otro artículo posterior.

c.- Visualizar correctamente el sitio en el nuevo servidor antes de cambiar los DNS del dominio. De esto trata el presente tutorial.

¿cual es la problemática que veo al migrar?

En la mayoría de los hospedajes compartidos, resulta difícil ver el sitio en el nuevo servidor. La problemática radica en que el dominio apunta al servidor viejo, mientras que estamos un poco a ciegas instalando el dominio en el nuevo server. En el mejor de los casos tenemos una URL temporal o ip, sin embargo esto causa en algunas ocasiones, problemas para visualizar perfectamente el sitio en el servidor nuevo que usaremos.

Recordemos que el dominio no estará apuntando al nuevo servidor hasta que hagamos los cambios a los "nameservers" a través de nuestro proveedor de dominios.

Esta técnica que presento servirá para visualizar el dominio en el nuevo servidor, sin hacer cambios de DNS, de tal forma que podremos ver solamente nosotros, el sitio en el nuevo servidor usando el dominio directamente sin pasar por ips o urls extrañas.

El procedimiento es el siguiente:

1) veamos cual es la IP del servidor donde se ubica actualmente nuestro dominio. En este caso usaré el dominio www.iceger.com.mx

hay dos formas fáciles de saber la IP de mi actual server.

1.1 - Ver la IP de mi servidor actual desde cpanel. Al iniciar sesión para acceder al cPanel, veremos dentro, en el lado izquierdo la IP

1.2 Ver la ip de mi servidor acutal con una herramienta de whois por ejemplo http://houston.dnstools.com/.


dns-tuto-01-02

2.- Ver cual es la IP del que será mi nuevo servidor

2.1 ver la ip del que será mi nuevo servidor con Cpanel. para ello accedo al CPANEL del nuevo servidor, en el entendido de que el nuevo proveedor de hospedaje ya ha creado mi cuenta en el nuevo servidor.

2.2 Es muy probable que en el correo de bienvenida, mi nuevo proveedor de hosting haya enviado datos de acceso junto con la IP compartida. En caso de no tenerla, conviene enviarle un correo solicitando la IP compartida del que será nuestro nuevo hospedaje.

dns-tuto-01-03

3.- una vez que tengo identificadas ambas IPs, las escribo para mantenerlas a mano:

Direccion de IP del Servidor actual: 209.51.157.242

Direccion de IP del Servidor nuevo 74.86.192.164

4.- El siguiente paso es identificar la ubicación de un archivo llamado HOSTS en la computadora donde estoy trabajando la migración. Si quieres ver una explicación detallada de cómo funciona el archivo HOSTS, puedes leer más abajo. Si solo te interesa migrar, continuemos con la ubicación del archivo HOSTS (así sin extensión).

Sistema Operativo

Ruta de ubicación del archivo HOSTS

Windows

C:\Windows\System32\drivers\etc\

Mac

/private/etc/

En mi caso uso Windows 7, así que abro mi carpeta C:\Windows\System32\drivers\etc con el explorador de archivos. Abro mi archivo HOSTS con un block de notas, simplemente arrastrando el archivo HOSTS hacia el centro del bloc de notas. En caso de usar MAC o Linux, recomiendo usar cualquier programa de edición de código html o similar, cuidando que no se cambie el nombre del archivo y que no se agregue ninguna extensión tipo txt html o cualquier otra.

 

Al abrir el archivo hosts, encontraremos una lista de IPs seguidas de un espacio y posteriormente un dominio, o tal vez veamos totalmente en blanco este archivo.

Posicionemos en donde inicia la primer IP sin el símbolo de #. Y oprimimos la tecla “enter” para abrir un nuevo renglón.


En este nuevo renglón escribimos la IP del nuevo servidor, después un espacio y seguido el nombre de nuestro dominio sin www. En mi caso y para este ejemplo escribo:

74.86.192.164 iceger.com.mx

En cuanto guarde este documento HOSTS con el cambio que acabo de realizar, puedo ir a mi navegador y verificar qué página se esta mostrando, que será el dominio iceger.com.mx apuntando al actual servidor. Si recargo la página varias veces al cabo de unos segundos podré observar el dominio en mi nuevo servidor. Y este cambio lo veo solamente yo, el resto del mundo sigue viendo el dominio en el servidor que estamos por desocupar.

          Dominio en actual servidor                          Dominio en nuevo servidor

Dominio actual                      
Para el presente ejemplo, el nuevo servidor se ve totalmente en blanco porque no hay  contenido, ni siquiera una página de bienvenida. Ahora puedo entrar al cpanel y trabajar desde mi computadora perfectamente el sitio nuevo, migrarlo, instalar el kickstart.php en caso de usar Akeeba y ver perfectamente cómo se verá el sitio.

Una vez que haya terminado de migrar perfectamente puedo hacer el cambio de DNSs y el dominio cambiará al nuevo servidor para el resto del mundo.

Nota:

Otra forma de alterar el archivo HOSTS a la aquí indicada puede ocasionar problemas de navegación y despliegue de páginas. Se recomienda ampliamente hacer una copia de respaldo del archivo HOSTS antes de editarlo.

Para revertir el efecto de visualizar el nuevo servidor y ver nuevamente el actual, basta con borrar la línea que acabamos de escribir en el archivo HOSTS y guardamos nuevamente el archivo. En pocos segundos el dominio se encontrará nuevamente apuntando al actual proveedor de hosting.

Explicación técnica

Recordemos que los ddns-tuto-01-09ominios son una forma fácil de navegar entre IPs. A alguien se le ocurrió que era más fácil recordar nombres que IPs, y por eso se relacionan los dominios a sus IPs a través de los DNS. Cada servidor web guarda un archivo con ZONAS, las cuales son autoridad máxima al indicar en qué IPs, y hosts se debe dirigir un navegador para consultar cierto dominio.

Cuando escribimos un dominio en nuestro navegador, éste hace una consulta en orden ascendente. La información de que dominio apunta a cual IP se guarda en diferentes ubicaciones, siendo la local la primera en ser revisada por eso nosotros estamos modificando el archivo local para evitar que la consulta salga a internet y nos diriga al servidor actual.

Si en el archivo local HOSTS no hay ninguna referencia al dominio que queremos visitar, el navegador consulta nuestro modem  o router, si tampoco hay esta información entonces se va a otro nivel superior hasta llegar a los roots servers, que es donde se ubica la información que indica en que servidores se encuentra alojado el dominio.

Dicha información de DNS, viaja por internet nuevamente hasta el navegador, y nos despliega la página correspondiente.

Comparto esta imagen obtenida del sitio  http://senpai-it-solutions.blogspot.mx

Visto 3747 veces Etiquetado como Spanish, Administrador
Carlos Olivares Pérez

Carlos Olivares Pérez

I live in México. I teach Joomla since 2008. I have developed my own teaching system, focused into teach to people who does know programming or web related knowledge. Also I give english and spanish consultory for goverment and for corporations. Member of JUG México City :)

Vivo en México. Enseño Joomla desde el 2008. He desarrollado mi propio sistema de enseñanza, enfocado en enseñar a personas que no conocen de programación ni cuentan con conocimientos de web. Brindo consultoría y asesoría en español e inglés para gobierno y empresas. Soy miembro del JUG Ciudad de México :)

 twitter: @liberatumente

Perfiles Sociales

LinkedIn