Cómo migrar su sitio web de un host a otro

Publicado: 2022-07-05

Estás listo para dar el paso al alojamiento administrado para tu sitio de Magento o WordPress. Tienes un nuevo servicio en Nexcess, pero ¿cómo das el salto?

Siga leyendo para aprender cómo migrar su sitio web de un host a otro, en este caso, de AWS a Nexcess hosting totalmente administrado.

¿Qué es una Migración?

Cuando decimos "migración de servidor" nos referimos a copiar o mover datos críticos de un servidor a otro y configurar ese servidor de destino para reemplazar al primero. Las migraciones de servidores en el mundo del alojamiento web pueden implicar la configuración de un servidor web y un software de base de datos, copiar sitios web y sus configuraciones, y cambiar el DNS para dirigir a los visitantes a ese nuevo servidor.

Las migraciones de servidores son importantes en el ciclo de vida de su servidor, para garantizar que el sistema operativo y el hardware subyacente se mantengan actualizados con la tecnología actual, para economizar y consolidar el alojamiento, o para expandir y distribuir el alojamiento para ayudar a reducir la carga en un solo punto. .

Cómo Migrar Tu Sitio Web a Nexcess: La Manera Más Fácil

El soporte de migración de extremo a extremo está incluido sin costo adicional con todos los planes de alojamiento administrado en Nexcess. Si desea que hagamos todo el trabajo pesado por usted, ¡solo pregunte! Puede solicitar una migración desde el portal Nexcess proporcionando los nombres de los dominios a transferir y sus credenciales de acceso.

En la mayoría de los casos, las migraciones se pueden completar en una semana o menos. Brindamos la oportunidad de probar los datos migrados después de que se sincronizan inicialmente y le pedimos que actualice el DNS una vez que se complete la migración. Esto hará que su nuevo alojamiento esté en vivo. Más allá de eso, nuestros expertos tienen todo lo que necesitan para duplicar con precisión sus sitios web en su nuevo hogar.

Hay algunos casos en los que es posible que desee realizar su propia migración manual. Por ejemplo, es posible que tenga un marco de tiempo muy estricto para dejar su antiguo host y no pueda esperar en la fila hasta que esté disponible el próximo técnico de migración. O simplemente puede desear tener la experiencia de realizar su propia migración.

Cualquiera que sea el caso, estos pasos deberían ayudarlo a migrar sus sitios web de AWS, o de cualquier otro lugar, al alojamiento totalmente administrado de Nexcess.

Cómo migrar su sitio web manualmente (para usuarios de WordPress)

Si usa WordPress, una manera fácil de migrar su CMS a Nexcess Cloud es usar nuestro práctico complemento de migración. Este complemento se instala en su sitio de origen y extrae todos los datos necesarios directamente en la cuenta de alojamiento de destino utilizando las credenciales de FTP que proporciona desde el panel de control de Nexcess.

Haga clic aquí para obtener instrucciones detalladas sobre cómo migrar su sitio web de WordPress.

Cómo migrar un sitio web de un host a otro manualmente en 8 pasos

¿Vas a probarlo? Estos son los pasos necesarios para copiar manualmente los archivos y la base de datos de CUALQUIER proveedor de origen, con CUALQUIER CMS compatible, a Nexcess Cloud.

Para nuestro ejemplo, migraremos un sitio de Magento desde AWS.

1. Antes de comenzar

El núcleo de una migración es copiar los archivos y las bases de datos de su sitio al nuevo sitio y actualizar el DNS para dirigir el tráfico a la nueva ubicación. Esto requiere acceso a los archivos y la base de datos de su fuente (AWS en este caso) y acceso a la ubicación correcta para colocar estos archivos y la base de datos en Nexcess. También necesitará un programa para recopilar todos los archivos de su sitio y enviarlos al host Nexcess.

Suponiendo que usó Lightsail para instalar su instancia de Magento en AWS, debería poder conectarse a su instancia desde su panel de AWS y usar la ventana de terminal en su navegador.

Sus credenciales de Nexcess SFTP/SSH también se encuentran en el tablero de su plan. Deberá generar una nueva contraseña si nunca antes se ha conectado a SFTP/SSH en su cuenta en la nube. Grabe esto en un lugar seguro.

Como antes, querrá saber dónde está alojado el DNS de su sitio actual. Estos son los registros que traducen su nombre de dominio en una dirección IP y los actualizaremos al final de la migración. Por lo general, puede averiguarlo consultando los registros NS.

2. Conexión de sus máquinas

Ahora que tiene sus credenciales SSH para ambas máquinas, deberán estar conectadas entre sí para transferir datos. Hay varias formas de lograr esto, pero la forma más fácil es hacer que la máquina de origen (AWS) se comunique con la máquina de destino (Nexcess) directamente.

Su Nexcess Cloud tiene una variedad de herramientas disponibles desde su shell SSH para lograr esto, incluidas rsync, ssh, lftp y scp. Usaremos varios de estos comandos para completar nuestra migración.

Primero, conectaremos el SSH a la cuenta de AWS. Siga estas instrucciones de Amazon para conectarse al terminal web de su servidor.

Ahora que estamos en la máquina de origen, podemos usar el comando SSH de una línea que aparece en el tablero de su plan para obtener un shell en su servidor de destino:

 ssh [email protected] “echo hello”

Esta cadena le pedirá su contraseña de usuario Nexcess. Una vez que lo ingrese, la máquina AWS se conectará al servidor Nexcess Cloud. Haga que ejecute el comando "echo hello" (imprimiendo la palabra 'hello' en la terminal) y luego salga de la sesión SSH. Si ve "hola", significa que se ha autenticado con éxito y ¡estamos listos para migrar!

3. Localización de datos

Los archivos en su instancia de AWS, suponiendo que utilizó la instalación Bitnami Magento de Lightsail, estarán en /opt/bitnami/magento/ o /opt/bitnami/apps/magento/htdocs/ según la antigüedad de su servidor.

Una vez que haya localizado la raíz de su documento, también necesitará obtener la información de conexión de la base de datos. Esto se puede extraer del archivo de configuración de Magento, así:

Magento 1:

 grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/local.xml

Magento 2:

 grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/env.php

El terminal ahora debería mostrar el nombre de usuario, la contraseña y el nombre de la base de datos para la base de datos de Magento. Puede usarlos con el programa de línea de comando 'mysql' para ingresar a su base de datos, reemplazando los datos de ejemplo según corresponda:

 mysql -u aws_username -p"aws_password" aws_dbname

Ahora, puede escribir 'mostrar tablas;' y mysql debería imprimir una lista de las tablas en su base de datos. Escriba 'salir;' para salir de la interfaz de línea de comandos de mysql.

4. Copia de datos

Sabemos dónde están nuestros datos en AWS, así que pongámoslos en Nexcess Cloud. Todos estos comandos se ejecutarán en el terminal de AWS. Reemplace los datos de ejemplo en los comandos para adaptarlos a su instalación.

Primero, crearemos un directorio temporal en el servidor Nexcess:

 ssh [email protected] "mkdir migration"

A continuación, haremos un volcado de base de datos y lo colocaremos en esta carpeta. Este comando evita un archivo temporal local al colocar la salida del volcado de la base de datos directamente en el servidor de destino.

 mysqldump -u aws_username -p"aws_password" aws_dbname | ssh \ [email protected] "cat - > aws_dbname.sql"

Finalmente, podemos copiar la carpeta del sitio al nuevo servidor con rsync:

 rsync -avHP /opt/bitnami/apps/magento/htdocs/ \ [email protected]:~/migration/

Una copia completa de la raíz del documento completo ahora llegará al servidor Nexcess en la carpeta de migración.

5. Organización de archivos y bases de datos

Ahora que se han creado la raíz del documento y las copias de la base de datos, debemos clasificarlas en sus ubicaciones adecuadas en el sistema de destino. Primero intercambiemos los archivos. Conecte su SSH a su servidor de destino, nuevamente usando el comando de una línea desde su tablero, pero esta vez desde su computadora. Ya no necesitamos usar el servidor de AWS. Si está utilizando OSX, Linux o Windows 10, el comando SSH ya debería estar instalado desde su shell o símbolo del sistema.

Una vez que nos hayamos conectado al entorno de Nexcess Cloud, enumere el contenido del directorio actual y verá su base de datos (aws_dbname.sql) y la carpeta de archivos del sitio (migración).

La raíz del documento para su sitio en vivo se encuentra en la carpeta de su dominio Nexcess temporal. Este dominio se parece a "49deab9ef.nxcli.net". En este caso, la raíz de nuestro documento sería 49deab9ef.nxcli.net/html/. Primero movemos este directorio fuera del camino:

 mv ~/49deab9ef.nxcli.net/html ~/49deab9ef.nxcli.net/html.bak

... y luego mueva nuestra raíz de documento real a su lugar:

 mv ~/migration ~/49deab9ef.nxcli.net/html

Finalmente, ajustaremos los permisos de la carpeta para que el servidor web pueda garantizar su seguridad:

 chmod 750 ~/49deab9ef.nxcli.net/html

Ahora que los archivos están en su lugar, necesitamos descubrir las credenciales de nuestra base de datos Nexcess. Estos se almacenan en el antiguo archivo de configuración de CMS, por lo que nuevamente, usamos "grep" para generar esta información (Magento 2 se muestra aquí):

 grep -e username -e password -e dbname \ ~/49deab9ef.nxcli.net/html.bak/app/etc/env.php

Escriba toda esta información en un lugar seguro; lo usaremos para terminar esta sección del tutorial. Ahora, hagamos una copia de seguridad de esta base de datos y reemplácela con el volcado de la base de datos de nuestro servidor de AWS:

 mysqldump -u nx_username -p"nx_password" \ nx_dbname > ~/49deab9ef.nxcli.net/old_database.sql mysql -u nx_username -p"nx_password" nx_dbname < ~/aws_dbname.sql

6. Configuración de base de datos y URL

Hay un paso más para conectar los archivos y la base de datos. Necesitamos modificar el archivo de configuración de Magento para asegurarnos de que utiliza las credenciales de la cuenta Nexcess. Abra el archivo con nano, tome todas las instancias de la información de la base de datos de AWS y reemplácela con la información de la base de datos de Nexcess:

 nano ~/49deab9ef.nxcli.net/html/app/etc/env.php

Una vez que haya terminado de editar el archivo, presione Ctrl+X para salir y el editor le pedirá que guarde; presione "y" para escribir el archivo en el disco.

Además de esto, el sitio debe configurarse para usar el nombre de dominio temporal adecuado de Nexcess, que sería algo así como "49deab9ef.nxcli.net". Para Magento, esto se hace editando algunas líneas en la base de datos desde PHPMyAdmin. Puede acceder a PHPMyAdmin a través del Portal Nexcess.

Una vez que estemos en PHPMyAdmin para el sitio migrado, deberíamos ver nuestros datos de Magento copiados. Queremos navegar a la tabla core_config_data y cambiar las líneas web/unsecure/base_url y web/secure/base_url para que coincidan con nuestro dominio temporal, sin y con https, según corresponda. Guarde estos cambios presionando regresar y salga de PHPMyAdmin.

7. Prueba de sus datos

Eso debería concluir la migración real de datos. Ahora solo tenemos que asegurarnos de que lo que hicimos funcionó. Esta es la parte más fácil de la migración. Simplemente navegue a la URL temporal de Nexcess (como 49deab9ef.nxcli.net) en su navegador.

Lo primero que querremos hacer es vaciar el caché de Magento en el panel de administración. Luego, navegue por su sitio normalmente y asegúrese de que todo su contenido esté presente y funcione como espera.

8. Transmitiendo en vivo

Si todo ha ido bien hasta este punto, deberíamos poder implementar el nuevo servidor para dirigir el tráfico a Nexcess.

Antes de que eso suceda, será necesario actualizar el DNS del dominio. Esto se hace en los servidores de nombres actuales de su dominio. Puede descubrir la dirección IP que necesitará usar para sus registros en my.nexcess.net ubicado dentro de su lista de planes.

Una vez que se cambia el DNS, el nombre de dominio principal en Nexcess se puede modificar a su nombre de dominio real. Haga clic en el botón editar en la pestaña de opciones de dominio en el portal. Ingrese el dominio al que desea cambiar y luego haga clic en el botón Actualizar. Esto buscará y reemplazará automáticamente las instancias del antiguo dominio en la base de datos, por lo que no es necesario volver a pasar por PHPMyAdmin.

Ahora es importante asegurarse de que Let's Encrypt esté habilitado para este dominio, de modo que se instale automáticamente un certificado SSL.

haciéndolo más fácil

Migrar un sitio no es una tarea sencilla ni rápida, aunque se pueda hacer. ¿Quién tiene tiempo para hacerlo todo además de su trabajo diario? Saca una cosa de tu plato con la ayuda de Nexcess.

Nuestros técnicos calificados se pondrán a trabajar en su migración y estarán allí en cada paso del camino. Con migraciones fáciles, soporte de primer nivel y la mejor inversión para su alojamiento, no es solo una opción inteligente, es la mejor opción.

¿Listo para descubrir por qué Better is Built In?

Explore nuestros planes de hospedaje totalmente administrados hoy.

Explora los planes de MagentoExplora los planes de WordPress

contenido relacionado

  • 5 pasos para una migración exitosa del sitio web
  • Migración a la nube: una guía paso a paso para trasladar su sitio a la nube
  • Haciendo que los viejos Stogies sean nuevos otra vez: una historia de migración de Magento 1 a WooCommerce
  • Las 10 preguntas principales para hacerle a un proveedor de alojamiento en la nube
  • ¿Qué es el alojamiento administrado? Cómo funciona