Migración de WordPress a AWS Lightsail: Una Alternativa a los Plugins de Pago

Posted on

Motivación

Soy un apasionado de AWS y varios amigos tenían sus sitios WordPress alojados en servidores clásicos, con los que les invité a moverlos  a AWS para beneficiarse de las ventajas en precio y sobre todo tecnología de la nube. Aunque AWS ofrece varios servicios como EC2 y RDS para alojar sitios de WordPress, AWS Lightsail es la opción más adecuada debido a su simplicidad y rentabilidad. Hay numerosos tutoriales disponibles para configurar un nuevo sitio de WordPress en Lightsail, como la Guía de inicio rápido de AWS para WordPress, pero la información disponible para  la migración de un sitio ya existente es escasa.

AWS proporciona dos tutoriales principales para la migración. El primer tutorial se basa en una operación de exportación/importación utilizando un archivo XML. Este método es inadecuado para migrar imágenes o vídeos, por ejemplo, por lo que es poco práctico para una migración completa. En resumen,  una pérdida de tiempo.

El segundo tutorial,  utiliza el plugin WP on AWS desarrollado por Seahorse. Después de instalar el plugin y seguir las instrucciones, tras varios intentos, logré hacerlo funcionar para uno de los sitios web. El plugin crea un clon del sitio WordPress en una instancia temporal de Lightsail propiedad de Seahorse. Pero…, usar tu propia instancia requiere un pago de $120 por sitio. Aunque el plugin ofrece características adicionales, encuentro que precio es demasiado elevado exclusivamente para fines de migración. No obstante, otras personas pueden encontrarlo valioso y estar dispuestos a asumir el coste.

Otra plugin disponible es All-In-One WP Migration., el cual permite crear y exportar una copia de seguridad del sitio de WordPress de origen e importarla en el sitio de WordPress de destino. La versión gratuita funciona bien para sitios pequeños con un contenido  de menos de 80 MB. Sin embargo, para sitios más grandes con muchas imágenes o videos, es necesaria la versión de pago, que cuesta desde $20 por mes.

En resumen, no hay un plugin gratuito que permita una migración completa de WordPress. Por lo tanto, necesitamos explorar métodos alternativos para transferir de modo seguro el contenido del sitio WordPress hasta AWS Lightsail.

Objetivo

la migración de WordPress  entre servidores convencionales es relativamente sencilla: solo es necesario tener acceso a las bases de datos MySQL y a los directorios de archivos en ambos servidores para realizar la transferencia de datos de manera fácil. Sin embargo, la transición a AWS Lightsail presenta un conjunto de desafíos nuevos, dada su condición de servicio en la nube.

El obstáculo principal radica en acceder a los archivos y la base de datos de WordPress dentro del entorno de Lightsail. Las instancias de Lightsail vienen precargadas con imágenes de aplicaciones de WordPress de Bitnami. Localizar el directorio raíz de la configuración de Bitnami implica conectar con la instancia mediante SSH o FTP y navegar a través del árbol de directorios hasta llegar al directorio de WordPress. Alternativamente, el tutorial de Bitnami ofrece instrucciones detalladas para encontrar esta ruta. Acceder a la base de datos de la instancia a través de PhpMyAdmin requiere crear un túnel SSH, según se detalla en otro documento de Bitnami.

En este tutorial, te guiaremos a través de los pasos fundamentales necesarios para migrar tu sitio de WordPress, previamente alojado en un servidor LAMP tradicional, a la nube de AWS.

Demostraremos el proceso de migración utilizando el Terminal de MacOS y la versión 2024 de AWS Lightsail. Los usuarios de Windows pueden consultar la guía de Bitnami, que proporciona instrucciones específicas adaptadas a su sistema operativo. Alternativamente, la guía paso a paso de Raddy desde 2021 ofrece instrucciones completas adecuadas para

Prerrequisitos Para seguir esta guía, solo necesitarás dos cosas: Acceso al servidor de origen: credenciales de FTP y PhpMyAdmin. Una cuenta de AWS. Con estos dos prerrequisitos en su lugar, estarás listo para comenzar el proceso de migración desde tu servidor tradicional hacia AWS Lightsail. Vamos a adentrarnos en los pasos detallados.

Pre-Requisitos

Para seguir esta guía, solo necesitarás dos cosas: 1) Acceso al servidor de origen mediante las credenciales de FTP y phpMyAdmin, y 2) Una cuenta de AWS.

Con estos dos pre-requisitos satisfechos, estarás listo para comenzar el proceso de migración desde tu servidor tradicional hacia AWS Lightsail. Vamos a adentrarnos en los pasos detallados.

Paso 1:  Copia de Seguridad de tus Archivos y Base de Datos de WordPress

Para hacer una copia de seguridad de los archivos originales y la base de datos de tu sitio de WordPress, sigue estos pasos:

  1. Copia de Seguridad de Archivos. Tienes dos opciones para crear una copia de seguridad de tus archivos de WordPress:
    • Desde el panel del servidor: Utiliza la opción de copia de seguridad del panel del servidor para crear un archivo zip que contenga todos los directorios y archivos de tu sitio.
    • Por FTP: Conéctate al directorio raíz de tu sitio a través de FTP y descarga los archivos y directorios a tu sistema local.

Al utilizar cualquiera de estos métodos, tendrás una copia de seguridad completa de todos los archivos y directorios utilizados por tu sitio de WordPress.

  1. Copia de Seguridad de la Base de Datos. Para hacer una copia de seguridad de tu base de datos accede a phpMyAdmin, selecciona tu base de datos de WordPress y haz clic en la pestaña Exportar. Continuación, sigue las indicaciones para descargar la copia de seguridad de tu base de datos.

Guarda tanto las copias de seguridad de archivos como de la base de datos en un lugar seguro, ya que las necesitarás más adelante para importarlas en la nueva instancia de Lightsail.

Paso 2: Crea una Nueva Instancia de Lightsail

Los pasos necesarios para crear la nueva instancia Lightsail son sencillos:

  1. Accede a tu consola de AWS y navega hasta Lightsail.
  2. Haz clic en Crear Instancia.
  3. Configura la instancia seleccionando la ubicación de la instancia (la más cercana a tus usuarios), la plataforma (Linux) y la plantilla (WordPress).
  4. Selecciona el tipo de red y el tamaño de la instancia.
  5. Asigna un nombre a tu instancia y agrega etiquetas que desees.
  6. Haz clic en Crear Instancia.

La creación de la instancia llevará unos minutos. Espera hasta completar el proceso antes de continuar con los siguientes pasos.

Paso 3: Asignar una IP Estática.

Una vez que se haya configurado la nueva instancia, necesitas asignar una IP estática para conectar un nombre de dominio a tu instancia y garantizar que permanezca estable, incluso si la instancia se reinicia. Para ello, sigue estos pasos:

  1. Accede al Panel de Control de la Instancia.
  2. Navega a Networking.
  3. Asigna una IP Estática. Proporciona un nombre a la IP estática y asócialas con la instancia.
  4. Verifica la nueva IP Estática. Visita http://IP_ESTATICA en tu navegador.

Al asignar una IP estática a tu instancia, aseguras que la dirección IPv4 pública permanezca la misma, incluso si la instancia se reinicia. Esta consistencia es necesaria para conectar la instancia a un nombre de dominio, lo cual se cubrirá más adelante en este tutorial.

Paso 4: Acceder a la Administración de la Instancia

Ahora que has visto el sitio de WordPress predeterminado funcionando con tu IP estática, es hora de acceder al administrador de WordPress.

  1. Recupera la Contraseña del Administrador:
    • En la consola de Lightsail, ve a la pestaña Conectar.
    • Haz clic en Conectar usando SSH para abrir un terminal en tu navegador.
    • Utiliza el comando cat bitnami_application_password para mostrar la contraseña y cópiala.
  2. Inicia Sesión en el Administrador de WordPress:
    • Abre tu navegador e ingresa a http://IP_ESTATICA/wp-admin.
    • Utiliza las siguientes credenciales para iniciar sesión:
      • Usuario: user
      • Contraseña: (La que recuperaste anteriormente)

Ahora tienes acceso a tu consola de administración de WordPress a través de tu IP estática. Aquí encontrarás la versión de WordPress y los complementos incluidos en la imagen de Bitnami. En los siguientes pasos, transferiremos nuestros archivos y base de datos para completar la migración de tu sitio.

Paso 5: Acceso a la Base de Datos de WordPress

En el servidor de origen, accedimos a la base de datos MySQL de WordPress usando phpMyAdmin. Ahora necesitamos hacer lo mismo en la instancia de Lightsail para importar nuestra copia de seguridad de la base de datos.

En la configuración de Bitnami, phpMyAdmin solo es accesible a través de localhost por razones de seguridad. Si navegas a http://IP_ESTATICA/phpmyadmin, encontrarás un mensaje de restricción. Según la documentación de Bitnami, necesitas crear un túnel SSH desde tu sistema a la instancia para acceder a phpMyAdmin.

Pasos para Acceder a phpMyAdmin:

  1. Descarga el Archivo de Clave SSH (.pem): En la consola de la instancia, encuentra Descargar clave predeterminada y descárgala a tu sistema local.
  2. Abre el Terminal: En macOS, abre el Terminal en tu sistema local. Para Linux, usa una aplicación de terminal similar. Los usuarios de Windows deben usar PuTTY, pero esta guía se centrará en el Terminal para macOS y Linux.
  3. Establece Permisos de Archivo:
    • chmod 600 ARCHIVO_CLAVE.pem
  4. Crea el Túnel SSH:
    • ssh -N -L 8888:127.0.0.1:80 -i ARCHIVO_CLAVE.pem bitnami@IP_ESTATICA
    • Si hemos tenido éxito, , este comando creará un túnel SSH sin mostrar ninguna salida en la consola del servidor.
  5. Accede a phpMyAdmin: Abre tu navegador e ingresa a http://127.0.0.1:8888/phpmyadmin
  6. Inicia sesión con las siguientes credenciales:
    • Usuario: root
    • Contraseña: (la contraseña de la aplicación recuperada anteriormente)

La base de datos de WordPress se llama bitnami_wordpress. Siguiendo estos pasos, podrás acceder a phpMyAdmin en tu instancia de Lightsail y proceder con la importación de tu copia de seguridad de la base de datos.

Paso 6: Importar la Base de Datos del Sitio de WordPress

Ahora que tenemos acceso a la base de datos de la instancia, podemos importar la copia de seguridad de la base de datos desde el servidor de origen.

Pasos para Importar la Copia de Seguridad de la Base de Datos:

  1. Eliminar las Tablas Existentes: Selecciona la base de datos bitnami_wordpress, selecciona todas las tablas y elimínalas.
  2. Importar la Copia de Seguridad: Haz clic en la pestaña Importar y selecciona el archivo .sql de la copia de seguridad. Una vez que se complete la importación, todas las tablas almacenadas de tu copia de seguridad serán visibles en phpMyAdmin.

Paso 7: Importar los Archivos del Sitio de WordPress

El paso final para completar la migración de tu sitio de WordPress a Lightsail es copiar los archivos en el directorio apropiado en la imagen de Bitnami. Usaremos FileZilla para este proceso.

Pasos para Importar los Archivos del Sitio de WordPress:

  1. Crear una Nueva Conexión en FileZilla:
    • Protocolo: SFTP (SSH File Transfer Protocol)
    • Servidor: Usa la dirección IP estática
    • Usuario: bitnami
    • Modo de Acceso: Archivo de clave
  2. Navegar al Directorio de WordPress: En el sitio remoto, ve a /opt/bitnami/wordpress.
  3. Encontrar y descargar el archivo wp-config.php: Necesitamos este archivo para conectarnos con la base de datos de Bitnami.
  4. Eliminar los Archivos Existentes: Elimina todos los archivos en el directorio /opt/bitnami/wordpress.
  5. Sustituir el archivo wp-config.php en los archivos de la copia de seguridad: Cambia el archivo de la copia de seguridad por el original en la instancia de Lightsail para poder conectar con la base de datos.
  6. Subir los Archivos de la Copia de Seguridad: Copia todos los archivos y directorios de la copia de seguridad desde tu sistema local a este directorio.

Una vez que hayas completado la importación de los archivos, la migración de tu sitio de WordPress a Lightsail estará terminada. Ahora es crucial asegurarse de que todo esté funcionando correctamente.

Pasos para Verificar la Funcionalidad del Sitio:

  1. Visita Tu Sitio: Navega a http://IP_ESTÁTICA en tu navegador web. Confirma que tu sitio funcione como se espera.
  2. Accede al Panel de Administración de WordPress: Ve a http://IP_ESTÁTICA/wp-admin. Inicia sesión en el administrador de WordPress usando las mismas credenciales que en el servidor de origen.

Paso 8: Configura Tu Sitio Web de WordPress

Lightsail ofrece la capacidad de configurar tu instancia para alojar un sitio web de WordPress seguro con un nombre de dominio personalizado, incluyendo la asociación de la instancia con un nombre de dominio y un certificado SSL.

Pasos para Configurar Tu Sitio Web de WordPress:

  1. Inicia la Configuración: En la consola de la instancia, haz clic en Set up your website.
  2. Opciones de Configuración de Dominio: Tienes dos opciones:
    1. Usar un dominio registrado en AWS Route 53.
    2. Usar un dominio registrado con un registrador de terceros.
  3. Asocia Tu Dominio Existente: Como estás migrando un sitio web existente, probablemente ya tengas un nombre de dominio asociado con él. Puedes transferir el dominio a Route 53 o mantenerlo con el registrador actual y actualizar los registros DNS A y AAAA para que apunten a tu nuevo sitio de AWS Lightsail. Si tienes un servicio de correo electrónico con tu proveedor de alojamiento actual, el enfoque más simple es el segundo.
  4. Configura Tu Dominio:
    • Haz clic en Set up your website.
    • Selecciona Third-party domain e ingresa tu nombre de dominio.
    • Haz clic en Use this domain. Ahora tendrás dos opciones: Lightsail DNS zone o Third-party DNS.
  5. Configura el DNS:
    • Si seleccionaste Zona DNS de Lightsail, se creará una nueva Zona DNS en AWS Route 53. En el siguiente paso (Actualizar servidor de nombres), verás los nuevos servidores de nombres que debes configurar en el panel de tu proveedor de dominio para que apunten a los servidores de AWS Route 53. Esto asegura que toda la gestión de DNS sea manejada por AWS Route 53.
    • Si seleccionaste Third-party DNS, necesitas asociar el dominio con la IP estática. Se te pedirá que actualices los registros A y AAAA en el panel de tu proveedor de dominio a la IP estática de la instancia.
  6. Crea un Certificado SSL/TLS: Después de configurar los ajustes de DNS, crea un certificado SSL/TLS para asegurar tu sitio. Ten en cuenta que deberás esperar a que la propagación de DNS se complete antes de finalizar este paso. Una vez que estos pasos estén completos, podrás verificar que tu sitio de WordPress y el administrador sean accesibles bajo tu dominio personalizado.

Resumen

Este tutorial te ha guiado a través de la migración de un sitio de WordPress existente desde un servidor tradicional a AWS Lightsail usando la imágen de WordPress de Bitnami, todo ello sin incurrir en costos adicionales por el uso de plugins de WordPress pagos. La motivación detrás de esta guía ha sido abordar los desafíos de tales migraciones, sin incurrir en gastos adicionales. El proceso implica varios pasos clave: desde hacer copias de seguridad de los archivos y base de datos de WordPress originales, crear una nueva instancia de Lightsail  y asignar una IP estática para garantizar una conectividad consistente. Para acceder a la base de datos de WordPress, creamos un túnel SSH que nos permite utilizar phpMyAdmin de manera segura. Una vez importada la copia de seguridad de la base de datos y transferidos los archivos de respaldo al directorio de WordPress de Bitnami, tendremos el sitio funcionando en la instancia de Lightsail. Finalmente, asociaremos la instancia con un nombre de dominio personalizado y configurando un certificado SSL. Siguiendo estos pasos, migrarás con éxito tu sitio de WordPress a AWS Lightsail, asegurando un funcionamiento sin problemas y el acceso a los beneficios de la infraestructura basada en la nube sin costos adicionales por el uso de plugins de WordPress pagos.

What do you think?

No Comments Yet.