Cómo actualizar la versión de Magento

¡Buen día a los lectores del blog de Amasty! Hoy hablaré sobre un tema que nuestro equipo tenía muchas solicitudes: ¿cómo actualizar su tienda Magento correctamente?

Hemos estado hablando mucho sobre la importancia de actualizar el software; es crucial tanto para el software de su servidor como para la instalación de la nueva versión de Magento. Las actualizaciones periódicas de Magento le brindan no solo las nuevas funciones, sino también correcciones de seguridad, lo cual es muy importante para la seguridad de su tienda Magento.

No dude en consultar la publicación sobre los detalles de seguridad de Magento .

Digamos que ves que tu versión de Magento necesita una actualización. Es difícil adivinar qué versión tienes ahora, pero esperamos que sea al menos la 1.4.2.0.

¿Pensando en cómo empezar con la migración de Magento? Hable con nuestro experto, reserve una consulta gratuita o contrate a nuestros desarrolladores para migrar su M1 a M2.

1. Prepárese para la actualización de Magento

Para que el proceso sea más vívido, instalamos una tienda en Magento 1.4.2.0 con datos de muestra y la actualizaremos a 1.9.1.0, que es la última versión estable de Magento en el momento de escribir este artículo.

El sitio web está instalado en /home/mgtest/public_html , la base de datos está en localhost y se llama mgtest_magento . Entonces, si usa las instrucciones de este artículo, asegúrese de reemplazar estos valores con los suyos propios.

→ Actualiza tu Magento 2.3.0 a la última versión

2. Copia de seguridad completa de Magento

Esta regla se refiere no solo a la actualización de Magento, sino a cualquier cambio serio que vayas a aplicar en tu sitio web.

¡Haz una copia de seguridad de tu tienda Magento!

Este es un procedimiento esencial que lo salva de actualizaciones fallidas, fallas en el sitio, pérdida de datos y asegura que la actualización no lo lleve a la pared.

La variante más simple de la copia de seguridad de Magento se puede implementar usando estos dos comandos:

tar -czf ~/archivos-magento.tar.gz -C /home/mgtest public_html

mysqldump --add-drop-table -h localhost -u mgtest -p mgtest_magento | gzip > ~/magento-db.sql.gz

No dude en leer un artículo detallado sobre la copia de seguridad de Magento.

En caso de que la actualización de su versión de Magento salga mal, puede revertir todo fácilmente:

cd /inicio/mgtest

mv public_html public_html-BAK

tar -xzf ~/archivos-magento.tar.gz

gzip -dc ~/magento-db.sql.gz | mysql -h localhost -u mgtest -p mgtest_magento

3. Verifique los requisitos del sistema

Compruebe si su servidor se ajusta a los requisitos mínimos del sistema de la versión de Magento a la que se está actualizando. Es posible que desee echar un vistazo a la versión de PHP (se necesita 5.4.x o 5.5.x) y el valor memory_limit en php.ini en primer lugar.

Consulte los requisitos de la versión de PHP para las diferentes versiones de Magento (2.3.0, 2.3.1, 2.3.2, etc.) → 

4. Crea una caja de arena

Nunca actualice el sitio web principal si no está 100% seguro de que todo va bien. Si no prueba la actualización en una caja de arena, no sabrá si el sitio web funcionará después de la actualización y cuánto tiempo llevará el proceso de actualización.

La actualización de su tienda puede requerir varias horas, y no tiene sentido cerrar la tienda electrónica principal durante todo el día laboral solo para descubrir que la actualización salió mal, se perdió el tiempo y todo lo que tiene que hacer es restaurar el sitio web a partir de una copia de seguridad. Además, recuerde que recuperarse de una copia de seguridad lleva más tiempo que hacer una copia de seguridad de sí mismo , así que cuente este tiempo.

Para verificar si la actualización se ejecutará sin problemas, hagamos una caja de arena que vamos a actualizar primero. Hemos creado una base de datos mgtest_staging vacía de antemano.

cd /inicio/mgtest

mkdir public_html/puesta en escena

tar -xzf ~/magento-files.tar.gz --strip-components=1 -C public_html/staging

gzip -dc ~/magento-db.sql.gz | mysql -h localhost -u mgtest -p mgtest_staging

Ahora es el momento de configurar el sandbox :

  • Edite la configuración de conexión de la base de datos en public_html/staging/app/etc/local.xml
  • Vaya a la base de datos mgtest_staging , busque la tabla core_config_data y cambie la URL del sitio web. Digamos que la URL anterior era http://mgtest.local/ , luego la nueva será http://mgtest.local/staging/
  • Si su tienda Magento usa reescrituras de Apache , agregue RewriteBase /staging / en public_html/staging/.htaccess
  • Desactive la compilación en Sistema / Herramientas / Compilación
  • Deshabilitar caché en Sistema / Administración de caché

Ahora el sandbox está listo para ser actualizado.

5. Actualización de la zona de pruebas de Magento

Ejecute los siguientes comandos en la consola:

cd /home/mgtest/public_html/puesta en escena

chmod +x pera

./pera configuración de mago

./pera actualizar -f magento-core/Mage_All_Latest-stable

chmod +x mago

./mage config-set estado_preferido estable

./mage actualizar-todos --force

Si el comando anterior no funciona, ejecute este:

./mage install http://connect20.magentocommerce.com/community Mage_All_Latest --force

Limpiar cache:

cd /home/mgtest/public_html/puesta en escena

rm -fr var/cache var/session var/full_page_cache

Para finalizar la actualización de la versión de Magento, abra la página de inicio para que Magento actualice la base de datos. Este proceso puede ser largo, así que considere hacerlo con el siguiente comando:

cd /home/mgtest/public_html/puesta en escena

php -f índice.php

6. Prueba, prueba, prueba

Compruebe cuidadosamente cómo está funcionando su sitio web. Vaya a los registros de Magento en /home/mgtest/public_html/staging/var/log y a los registros del servidor web en /var/log/httpd , /var/log/apache2 o /var/log/nginx según el kit de distribución y el servidor web que utiliza. Mire cuidadosamente a través de los registros para detectar cualquier posible error.

Nota: asegúrese de probar cuidadosamente el rendimiento de sus extensiones. Si actualiza a la versión más reciente y actualizada de Magento, aumenta la posibilidad de que algunas extensiones funcionen con errores o entren en conflicto entre sí, porque no todos los proveedores de extensiones de Magento prueban sus módulos inmediatamente después del lanzamiento.

7. Actualización principal de Magento

Si la investigación y las pruebas cuidadosas no revelaron ningún mal funcionamiento o si encontró cómo corregir los errores, ahora es el momento de actualizar el sitio web principal. Dado que el proceso de actualización de la versión de Magento y las pruebas lleva cierto tiempo, haga una nueva copia de seguridad del sitio web principal, ya que no desea recuperarse de una copia de seguridad anterior y perder los últimos cambios. Antes de realizar una copia de seguridad, cambie su sitio web al modo de mantenimiento y deshabilite cron.

toque /home/mgtest/public_html/maintenance.flag

crontab -u mgtest -e

Guardar una copia de seguridad:

cd /inicio/mgtest

tar -czf archivos-magento.tar.gz -C /home/mgtest public_html

mysqldump --add-drop-table -h localhost -u mgtest -p mgtest_magento | gzip > ~/magento-db.sql.gz

Repita el procedimiento de actualización de Magento en su sitio web principal.

No recomendamos reemplazar el sitio web principal con la tienda sandbox , ya que en ese caso corre el riesgo de perder los datos que se cambiaron o agregaron durante la prueba.

¡Hecho! La última parte es desactivar el modo de mantenimiento y habilitar cron:

rm /home/mgtest/public_html/maintenance.flag

crontab -u mgtest –e

¡Misión completada! Ahora su tienda está actualizada a la última versión estable de Magento.

Si ya ha actualizado a M2, puede usar nuestra extensión Mass Product Actions para una gestión de catálogo más conveniente.

¿Tiene alguna pregunta sobre el proceso de actualización de Magento? Bienvenido a la sección de comentarios. O comuníquese con nuestros especialistas, ellos pueden ayudarlo a actualizar Magento 2.2 y 2.3 a la última versión.

Actualización: en este momento, las instrucciones no funcionan porque el enlace http://connect20.magentocommerce.com/community   no funciona y no pudimos encontrar el reemplazo en los documentos de Magento. Tan pronto como encontremos uno, actualizaremos el artículo.

Además, después de este proceso, puede utilizar el Servicio de optimización de Magento para mejorar el rendimiento de su sitio web.

Puedes encontrar más información sobre cómo actualizar la versión de Magento aquí .