Ti è mai successo di dover trasferire Magento da un account hosting ad un altro e non sapere come fare?
E’ proprio di questo di cui vi parlerò in questo articolo e se seguite quello che vi dirò potrete fare questa operazione facilmente ed in modo veloce, senza più perdere del tempo prezioso inutilmente.
Cominciamo subito e segui passo dopo passo quanto segue:
1) Trasferire magento: prima di tutto il Backup del Database MySQL
Per fare in modo corretto un backup del database del tuo sito web segui le informazioni che trovi in questa guida: Come fare il backup del database di Magento in modo corretto, veloce, facile e indolore!
In alternativa, se non hai phpMyAdmin istallato sul tuo server, puoi usare il tool mysqldump tramite ssh.
La sintassi è come segue:
mysqldump -h HOST -u USER -p DATABASENAME > FILENAME.sql
dove:
- HOST – è il nome dell’host del database del server o potrebbe essere omesso se stai usando il server MySQL in locale
- USER – un utente con pieni privileggi al database di Magentoa user with full privileges to the Magento database
- DATABASENAME – è l’intero nome del database che Magento sta usando
- FILENAME – può essere qualsiasi nome che può essere adatto al file di backup
Anche, se hai Plesk, DirectAdmin o qualsiasi altro tool per la gestone del web hosting, puoi guardare le opzioni disponibili. Molti pannelli ti permettono di copiare il database con alcuni semplici click.
2) Trasferire tutti i file magento
Una volta fatto il backup del database, ti servirà di scaricare tutti i file dal tuo store attuale e caricarli nella nuova posizione. Fare questo potrebbe essere una perdita di tempo considerando che l’istallazione di Magento è fatta con tanti files. Una buona alternativa è quella di creare un archivio compresso con tutti i file prima di scaricarli/caricarli se possibile.
Per fare questa operazione, ti servono delle nozioni di base su come operare sui files tramite SSH.
Tempo fa ho scritto un articolo su come muovere ii primi passi con SSH.. dagli un’occhiata! SSH per principianti: 5 comandi utili per Magento
In breve, Se hai un accesso SSH puoi fare il login sul tuo server e andare nella directory dell’istallazione di magento e creare un archivio compresso di tutti i file usando il seguente comando:
tar -czif ARCHIVENAME.tar.gz
Questo creerà un archivio tarball di tutti i file nella directory.
Successivamente puoi scaricare l’archivio e facilmente ricaricarlo sulla nuova localizzazione. Per estrarlo nella nuova posizione usa il seguente comando nella cartella che desideri per l’istallazione di magento:
tar -xzif ARCHIVENAME.tar.gz
3) Modificare la configurazione di Magento
Dopo aver spostato i files da un server ad un altro, dovrai modificare la configurazione dei file per farli corrispondere alle nuove impostazioni.
Tutto quello che devi fare è di cambiare i dettagli del database sulla nuova posizione.
Per cambiare questi dati manualmente, puoi modificare il file app/etc/local.xml
Le linee che devono essere modificate sono:
[php]
<host><![CDATA[HOSTNAME]]></host>
<username><![CDATA[USER]]></username>
<password><![CDATA[PASSWORD]]></password>
<dbname><![CDATA[DATABASENAME]]></dbname>
[/php]
dove:
- HOSTNAME dovrebbe essere l’hostname del database, solitamente: localhost
- USER è un utente che ha tutti i privilegi nel database
- PASSWORD è la password per l’utente del database
- DATABASENAME è il nome completo del database per il database che userai magento una volta traferito
4) Ripristinare il database di magento
Una volta che hai aggiustato le opzioni sopra dovresti ripristinare il database sulla nuova posizione.
Un’ ottima abitudine è quella di aggiungere delle opzioni nel file di backup MySQL prima di caricarlo. Quanto segue dovrebbe essere aggiunto all’inizio del file SQL:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;SET NAMES utf8;SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;
Poi aggiungi la string ache segue alla fine del file sql.
SET SQL_MODE=@OLD_SQL_MODE;SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;SET SQL_NOTES=@OLD_SQL_NOTES;
Ora puoi importare il database usando phpMyadmin -> Import oppure un altro tool MySQL , dipende dal tipo di accesso che hai sul sito.
Nel caso in cui vorresti ripristinare il database via “comando shell” puoi usare quanto segue:
mysql -h HOST -u USER -p DATABASENAME < FILENAME.sql
e inserisci la password per dell’utente del database quando richiesta.
RICORDA: Se il negozio online di Magento deve lavorare con un nome differente del dominio sulla nuova posizione, dovresti cambiare l’url all’interno del campo specifico nella tabella core_config_data del database.
Ad esempio. Se devi spostare il sito dal tuo computer “localhost” a www.nomesito.it, dovrai intervenire su questo paramentro. Se invece, stai trasferendo semplicemente i files e il database da un provider hosting ad un altro e il dominio rimane invariato non sarà necessario cambiare l’url dal database.
Apri quindi il database, e posizionati sulla tabella core_config_data.
Qui dovrai modificare i valori delle colonne web/unsecure/base_url and web/secure/base_url per far coincidere il nuovo dominio modificando il valore colonna per entrambi i record.
5) Aggiorna la Cache
L’ultimo passagio è di ripulire la cache di Magento. Puoi fare questo o attraverso admin panel > System > Cache management di Magento oppure eliminando i contenuti delle cartelle var/cache and var/session dentro la directory d’istallazione di Magento.
Ed ecco fatto! Il tuo Magento ora dovrebbe essere perfettamente funzionante nella nuova posizione!
Se per caso non dovessi riuscirci, hai dei problemi con il tuo hosting o stai cercando un hosting ottimizzato per Magento dai un’occhiata al servizio Magentiamo Hosting.
Se per caso dovessi sceglierlo, il passaggio dal vecchio server al nuovo è offerto da Magentiamo 😉