Come aggiornare Magento 2.x.x
Sono trascorsi ormai 3 anni dall’uscita di Magento 2 e dopo numerose release rilasciate quasi regolarmente la possiamo considerare una piattaforma “matura”.
Questo non significa che sia esente da bug o miglioramenti che possono e saranno implementati nel futuro, ma sicuramente una delle “feature” che hanno fatto felici gli sviluppatori è il nuovo sistema di aggiornamento.
Aggiornare Magento 1 è sempre stata un operazione delicata, il vecchio Magento Connect non sempre funzionava correttamente e le patch di sicurezza tramite script .sh sono ormai un lontano ricordo. Detto questo consiglio sempre di effettuare un backup completo di tutto il sito e di tutto il database prima di procedere con qualsiasi metodo.
Possiamo seguire due strade diverse per aggiornare Magento 2 sul proprio server o in locale: tramite Composer oppure tramite Github. In entrambi i casi utilizzeremo le funzioni della CLI (Command Line Interface). Non credo che GitHub abbia bisogno di presentazioni per cui elencherò di seguito i vari step (e accorgimenti) da seguire per aggiornare la piattaforma tramite Composer.
La maggior parte delle operazioni fondamentali per lo sviluppo, manutenzione e debug di Magento 2 vengono fatte tramite Shell, lanciando determinati comandi. E’ un approccio completamente diverso rispetto alla precedente versione ma una volta presa confidenza risulta tutto molto semplice e snello. Chi sviluppa in Magento 2 deve abituarsi ad avere la Shell sempre aperta vicino al proprio editor.
Scopri i nostri servizi su MAGENTO
Step 1
Colleghiamoci quindi via SSH al server. Sarebbe buona abitudine mettere Magento in “maintenance mode” prima di fare qualsiasi cosa:
php bin/magento maintenance:enable
Verrà creato un file nascosto .maintenance.flag all’interno della cartella var/.
Nel caso in cui non si riesca ad uscire dalla modalità di manutenzione, possiamo eliminare fisicamente questo file e tutto tornerà a funzionare come prima.
Step 2
Controlliamo sul sito ufficiale qual’è l’ultima versione stabile rilasciata.
Definiamo la versione specifica da installare:
composer require magento/product-community-edition 2.2.x –no-update
… e lanciamo l’aggiornamento vero e proprio.
composer update
Vi verranno ora richieste le credenziali per accedere al repository di Magento. Si tratta della chiave pubblica e privata legate al vostro account sul Magento Marketplace.
La procedura dura qualche minuto e sulla Shell compariranno tutti i pacchetti (e relative versioni) che saranno aggiornati.
Step 3
Eliminiamo alcune cartelle, che verranno rigenerate automaticamente in seguito:
rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/generation/*
Aggiorniamo il database schema:
php bin/magento setup:upgrade
e lanciamo la compilazione dei nuovi pacchetti:
php bin/magento setup:di:compile
Step 4
Possiamo ora svuotare cache e lanciare un reindex completo:
php bin/magento cache:flush
php bin/magento indexer:reindex
Step 5
L’aggiornamento è completo. Usciamo dalla modalità manutenzione:
php bin/magento maintenance:disable
In pochi step possiamo tenere aggiornata la piattaforma, risolvere numerosi bug (spesso segnalati dalla community) e tenere il vostro store al sicuro da vulnerabilità di sicurezza.