Para actualizar magento 2 podemos hacerlo de tres formas distintas, una mediante la administración o backoffice de magento otra es a través de la terminal y si todo falla siempre nos queda la opcion de hacerlo de forma manual. En este tutorial voy a enseñaros como hacerlo de las tres maneras.
Antes de empezar con la actualización, debemos tener unas cosillas configuradas correctamente o la instalación no se completara con éxito.
- Tener configuradas las tareas cron ( si quieres ver como se hace accede al enlace ).
- Establecer ulimit para el usuario del sistema de archivos de magento en 65536 o mas.
- tener permisos de escritura para los directorios de magento
Otra cosa que debemos hacer es una copia de seguridas de la base de datos y de los archivos, ya que magento es un sistema muy complejo y no sabemos cual sera el resultado final, por eso es mejor tener un respaldo por si algo sale mal.
Ahora que ya esta todo listo, aun que no es obligatorio si que es recomendable poner la tienda en modo mantenimiento y para ello debemos acceder a la terminal y ejecutar el siguiente comando
bin/magento maintenance:enable
Si queremos consultar el estado del modo mantenimiento, lo podemos hacer mediante:
bin/magento maintenance:status
Una vez activado el modo mantenimiento, ya podemos comenzar con la instalación y vamos a ver primero como hacerlo desde el administrador de magento.
1. Actualizar magento 2 desde la administración
1. Iniciamos sesión en nuestro administrador de magento.
2. Vamos a System > Tools > Web Setup Wizard.
3. Seleccionamos System Configuration.
4. Si no hemos ingresado las claves de autenticacion con anterioridad, nos las pedirá en este paso, las claves a ingresar son las mismas que utillizamos al instalar el sofware de magento.
5. Seleccionamos Save Config.
6. Y por ultimo System Upgrade.
Inmediatamente después de completar los pasos anteriores magento busca actualizaciones en del core principal, pero también busca actualizaciones en las extensiones y temas instalados, para ello marcamos la opción de yes en other components y le damos a next
En caso de que algun componente tenga paquete de actualización nos da la opción de elegir la versión que queremos y aparecera algo similar a esto:
La opcion de poder elegir la version del componente es util cuando no queremos actualizar alguno o queremos una version distinta, pero lo normal es instalar la ultima version, por lo que no tendriamos que cambiar nada, así que le damos de nueno a next
Y si no optenemos ningun error ya tendriamos actualizado nuestro magento.
Ahora solo queda desactivar el modo mantenimiento, para ello usamos el siguiente comando:
bin/magento maintenance:disable
2. Actualizar magento desde la terminal
Comenzamos activando el modo mantenimiento.
bin/magento maintenance:enable
Si queremos consultar el estado del modo mantenimiento, lo podemos hacer mediante:
bin/magento maintenance:status
Indica el paquete de magento al que se quiere actualizar, en este ejemplo vamos a actualizar a la versión 2.3.3 de magento como se muestra a continuación:
composer require magento/product-community-edition 2.3.3 --no-update
Ahora aplicamos la actualización:
composer update
En este paso si nos pedirá las credenciales de magento en caso de que no las hayamos introducido anteriormente, estas credenciales son la llave publica y privada de magento.
El siguiente paso es limpiar la caché y para ello ejecutamos el siguiente comando para limpiar la caché de magento:
bin/magento cache:clean
Borramos manualmente la caché y el contenido generado de los subdirectorios var/ y generated/ :
rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/generation/*
Actualizamos la base de datos:
bin/magento setup:upgrade
compilamos:
php bin/magento setup:di:compile
reindexamos los archivos:
php bin/magento indexer:reindex
Y para terminar desactivamos el modo mantenimiento:
bin/magento maintenance:disable
Si se han seguido los pasos uno a uno y en el orden especificado en este tutorial, la actualización debería haberse completado con exito. Pero para mayor seguridad vamos a verificar la versión actual de magento ejecutando el siguiente comando:
php bin/magento --version
Si el sistema muestra un error de permisos de escritura en caché, agregua el siguiente comando para otorgar permisos de escritura a los directorios pub y var:
chmod -R 777 pub var
En raras ocasiones se da que los permisos de lectura y escritura del servidor se modifican al realizar la actualización y nos genera un error al intentar acceder a la administración, esto se puede solucionar ejecutando:
find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \; && find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \; && chmod u+x bin/magento
Después se debe limpiar la caché nuevamente
Actualización manual de magento
Actualice de esta manera si los dos métodos anteriores fallaron por alguna razón.
Descargue la ultima versión de Magento 2 del sitio web oficial . Descomprímalo en su carpeta principal de magento y sobreescribe los archivos principales con los nuevos.
Ejecute:
php bin/magento setup:upgrade
y después:
php bin/magento deploy:mode:set production
Eso actualizará la base de datos, compilará e implementará contenido estático. Puede requerir algo de tiempo dependiendo de la cantidad de productos, pedidos y clientes que tenga.
La actualización está hecha. Dirígete a la interfaz y al backend para ver si todo parece normal.
Si necesitas ayuda para actualizar tu tienda magento puedes ponerte en contacto conmigo.