Come aggiornare Magento
Numerose 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.
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).
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” ?
Ti ringrazio per queste Guide : sono senz’altro utili per chi inizia nel mondo dell’E-commerce e vedo scarsità di manuali in italiano in giro.
Volevo chiederti solo una cosa : come si fà a mettere un menu di testa con le pagine, o far apparire un blocco di link.. ? Ho cercato ma non riesco ( la cosa è un pò strana ), ho caricato anche il pacchetto:
web-experiment.info articles wp_custom_menu
ma niente dafare, e ho seguito le istruzioni cercando di collegare 1 categoria root (con 2 prodotti) come descritto nella guida..
Ciao.. grazie a te che ci segui.. provo ad aiutarti…
Se hai dimestichezza con i template potresti fare qualche cosa te senza installare nessun plug-in:
Prova ad aprire il file catalog.xml.
Osserva come viene inserito il menu di navigazione delle categorie:
Potresti fare una cosa simile e crearti una tua pagina all’interno della quale andrai a costruirti come meglio credi il tuo menu (link o pagine).
Per prendere dinamicamente i dati delle pagine puoi utilizzare la seguente collection:
$collection = Mage::getModel(‘cms/page’)->getCollection()->addStoreFilter(Mage::app()->getStore()->getId());
Spero che queste informazioni possano tornarti utili.
Ciao
Dopo aver aggiornato Magento con magento-core/Mage_All_Latest ma non mi sostituisce la label sotto da Vers. Magento 1.4.1.1 a Vers. Magento 1.4.2 o superiore
Come faccio?
Molto probabilmente è andato qualche cosa storto nell’aggiornamento… prova a vedere che valori trovi per la funzione “getVersionInfo()” nel file /app/Mage.php
Ciao
Ciao Roberto,
ho aggiornato magento dalla versione 1.8.1.0 alla 1.9.0.1 come hai descritto, ho messo le cartelle del nuovo magento in una sottocartella con nome diverso per testarlo, ho fatto il backup, ho cambiato gli url ma quando vado per entrare mi rindirizza nella cartella dove c’è magento 1.8.1.0. Che altro url devo cambiare? io ho cambiato quelli di core..
@rossano
Se hai la certezza che il sottodominio sia configurato correttamente (immagino di si visto che dici di aver portato a termine la procedura), quello che puoi fare è andare a cercare all’interno della tabella “core_config_data” la presenza di qualsiasi riferimento all’url errato.
Prima di questo potresti anche provare a svuotare il contenuto della cartella “var/cache”
ciao
Ciao,
scusa ma scrivendo magento-core/Mage_All_Latest mi dice: Couldn’t resolve host ‘magento-core’
E’ molto che non smanetto con magento, mi ricordo che c’era un modo per risolvere questa cosa. Tu lo sai?
Ho fatto il passaggio dalla 1.8.1 alla 1.9.1, cercando di utilizzare il procedimento di una nuova installazione su database esistente, l’installer non riconosce il db e una volta lanciata mi da questo errore:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: 923835436960
che posso fare?
Grazie in anticipo!
p.s. permessi tutti a 777, proprietario e gruppo corretti,
Queste procedure vanno bene per aggiornare la versione 1.7 a 1.9.2?
In particolare mi interessa la seconda possibilità quella di preservare tutti i dati dei prodotti e utenti.
Però qui mi sorge un dubbio, eventuali estensioni utilizzate, vanno poi aggiornate anch’esse oppure non nel caso in cui non servono più?
Grazie