Migración automática de aplicaciones desde un servidor remoto

Una función poco conocida del autoinstalador de aplicaciones Softaculous es que tiene la capacidad de migrar automáticamente una aplicación (siempre que esta app esté en el catálogo del propio autoinstalador) con únicamente los datos de acceso FTP.

Aún con solo los datos de acceso FTP, la herramienta migrará también la base de datos y hará todos los cambios necesarios para que funcione tras la migración.

Realizando una migración

Lo primero que debemos hacer es localizar la aplicación en el catálogo de Softaculous, disponible en cPanel.

Una vez dentro de la ficha, usamos la opción Importar.

Y a continuación, accedemos a la pestaña From Remote Server.

Nos encontraremos con un formulario, la primera parte nos solicita los datos de conexión FTP al servidor remoto, se tratan de parámetros básicos, dominio, servidor FTP, usuario FTP... los dos que pueden llevar a confusión son FTP Path y Installation Directory.

Si por ejemplo tenemos un WordPress instalado en dominio.com, y cuyo directorio interno es el directorio www, entonces FTP Path seria /www, y Installation Directory quedaría vacío, ya que está en la raíz de la cuenta.

Pero si la app estuviese en dominio.com/blog, entonces aunque FTP Path seguiría siendo igual, /www, mientras que Installation Directory sería blog.

El siguiente paso es indicar donde queremos que se instale nuestra aplicación a migrar, elegiremos el protocolo (recomendable siempre https://), dominio y el directorio.

Si queremos que la app se transfiera en la raíz, dominio.com, el directorio se deja vacío, en cambio, si queremos que esté en dominio.com/blog, el campo directorio sería blog.

Lo más interesante de esta herramienta es que aun si eliges transferir la aplicación a un dominio, URL o ruta diferente, el proceso se encargará de hacer todos los cambios necesarios para que funcione en la nueva ruta o dominio.

Finalmente, hacemos click en Importar y esperamos a que el proceso se complete, tardará más o menos dependiendo del tamaño de los directorios y base de datos a migrar.

Explicación del proceso llevado a cabo

En este punto te preguntarás que sucede con la base de datos, al fin y al cabo, los datos de acceso FTP solo le permiten copiar los ficheros.

El proceso es bastante ingenioso, primero copia todos los ficheros vía FTP de forma normal, tras esto carga un programa que conectará con la base de datos para realizar una copia en formato .sql, finalmente para ejecutar este programa, el proceso de migración conecta vía web a dominio.com/programa_backup.php y de esa forma tras generar el backup lo descarga al servidor.

Ya con todos los datos, crea la base de datos, usuario e importa el fichero .sql, así como modifica la configuración de la aplicación para definir los datos de conexión a MySQL correctos y cambiar dominio y rutas internas de ser necesario.

Limitaciones del proceso

Por como funciona todo el proceso, es imprescindible que la web a migrar sea funcional y accesible vía acceso web.

En algunos casos aislados, puede ocurrir que el proveedor con el que trabajes tenga tiempos límites de ejecución muy bajos, por lo que la realización de la copia de seguridad de la base de datos podría verse interrumpida y el proceso fallar.

En estos casos te recomendamos solicites una ampliación de max_execution_time en PHP a tu proveedor actual para evitar el problema, o nos contactes para hacer la migración manualmente.