Come aggiornare Magento

Logo-magentoNumerose sono le possibilità offerte da Magento per effettuare l’aggiornamento di versione. Obiettivo di questo articolo sarà quello di spiegare nel dettaglio due delle più comuni e facili procedure da seguire, raccogliendo utili consigli direttamente dalla wiki ufficiale di Magento.

Prima di tutto il backup

Prima di cominciare qualsiasi operazione di aggiornamento, dobbiamo assolutamente effettuare una copia dei dati, sia del database che dei files. I “fortunati” possessori dell’accesso SSH, potranno comodamente effettuarlo con due semplici comandi.

#Backup database
mysqldump -u utenteDatabase -p nomeDatabase > nomeDatabase.sql

#Backup files
tar czvf directoryMagento.tgz directoryMagento

Tutti gli altri potranno o utilizzare le funzionalità di backup offerte dal pannello di controllo del proprio hosting, oppure utilizzare phpMyAdmin per il dump del database e un software ftp per la copia dei files.

Settiamo i permessi

Prima di procedere con l’aggiornamento, dobbiamo settare i permessi di scrittura a tutta la cartella di Magento, come avevamo già visto in un precedente tutorial.

Aggiornamento da Magento Connect Manager

Sicuramente, il metodo più semplice di effettuare l’aggiornamento è quello di utilizzare il Magento Connect. Per raggiungerlo, colleghiamoci al back-end del nostro e-commerce e dal menù “Sistema“, selezioniamo la voce “Magento Connect / Magento Connect Manager” (ci verrà richiesto, per motivi di sicurezza, di ripetere i dati di login). Inseriamo la stringa “magento-core/Mage_All_Latest“, come illustrato nell’immagine seguente.

magento-connect-key

L’operazione, a seconda dalla dimensione del database, potrà richiedere diversi minuti.

Aggiornamento partendo da una nuova installazione

Andremo ora ad analizzare un secondo metodo di aggiornamento che più volte mi è tornato molto utile, in particolare in situazioni in cui si voleva di fatto fare un re-style completo di un e-commerce Magento (nuova grafica, nuove estensioni, nuove funzionalità), preservando però tutti i dati del “vecchio” e-commerce, come ordini, clienti, iscritti alla newsletter, prodotti. Il procedimento è di fatto molto semplice ed è lo stesso che va seguito per l’installazione da zero di una copia Magento (procedimento descritto in un precedente tutorial). Basterà indicare, al momento della richiesta dei dati di configurazione, il nome del database al quale è collegato il “vecchio” e-commerce (in figura la fase di richiesta dei dati).

3

In automatico, il procedimento di installazione, riconoscerà nel database la presenza di una vecchia installazione e si occuperà di aggiornarla. Il risultato sarà quello di ottenere un Magento aggiornato all’ultimissima versione disponibile, con già però tutti i dati del nostro “vecchio”  e-commerce. Come detto in precedenza, l’operazione potrà durare diversi minuti a seconda della mole di dati memorizzata nel database. A operazione ultimata, prendendola dal backup in precedenza effettuato, copiamo la cartella “media” in questa “nuova” installazione di Magento. In questo modo verranno preservate anche tutte le immagini dei nostri prodotti.

Consigli utili

We do NOT recommend upgrading a production installation of Magento directly. Please backup database and all files before upgrading“.
E’ la stessa società che realizza Magento a ricordarci, a ogni uscita di una nuova versione, di non procedere a un aggiornamento direttamente su un sito in produzione e soprattutto, senza aver in precedenza effettuato un backup. Ricordiamoci inoltre che con l’aggiornamento, qualsiasi modifica eventualmente fatta a files del “core” verrà persa. Questo perché i files del core non vanno mai modificati. Fortunatamente Magento è una piattaforma veramente potente che mette a disposizione diversi strumenti per la sua personalizzazione (realizzazione di moduli/estensioni). A molti, il più delle volte, risulterà una complicazione dover realizzare un modulo apposta per dover modificare una piccolissima funzionalità del “core” che non funziona come noi vogliamo e una riga di codice inserita nel posto giusto in un file del core sembra la strada più facile da seguire. Quando sarete tentati a fare questo, pensate al giorno in cui dovrete aggiornare il vostro e-commerce. Preferite tenere sempre aggiornato il vostro negozio e offrire ai vostri clienti tutte le più moderne funzionalità ? Oppure arrivare un giorno a non poterlo aggiornare per i troppi “ritocchi” fatti al “core” ?