Feed Blog Prima Posizione linkedin Pinterest facebook twitter Foursquare Gplus youtube
SEO Motori di Ricerca Web Marketing Social Network Link Building Curiosità Programmazione
in E-commerce - 12 set, 2012
da Ertil Gani - 2 Commenti
Trasferire Magento da un server all’altro

Per chi non lo conosce, magento è un software open source per l’e-commerce in circolazione dal 2008 con licenza Open Software License. E’ stato sviluppato in php usando il framework Zend. Al momento sono in molti i venditori che lo preferiscono, e questo si vede anche dai grandi marchi internazionali che lo usano, come Samsung, Skype, Nokia ecc., è un CMS in costante crescita di utenti.

chiave

Magento richiede server dedicati forniti da compagnie di hosting particolari per poter funzionare in modo efficace e veloce. Se non valutati attentamente la scelta del del hosting da acquistare, non  potrai avere grandi risultati sul bilancio o sull’avanzamento del tuo progetto.

Quindi il consiglio principale è di evitare hosting low cost come ad esempio aruba, e sopratutto vedere se rispetta a pieno i requisiti di Magento.
Per testare la compatibilità del server ti basta seguire questi tre semplici passi:

  1. Scaricare il file magento check dal sito e scompattare sul tuo computer
  2. Caricare il file magento-check.php nella directory del server
  3. Dal browser navigare sulla pagina :
     http://mio_sito/magento-check.php

Una volta che hai controllato sei pronti per l’istallazione o per lo spostamento da un server ad un altro (come nel mio caso), e per fare questo è necessario seguire dei passaggi semplici:

  1. Creare il back-up dei file Magento

É sempre consignato fare un back-up prima di iniziare. Per fare questo, viene fatto il refresh della Cache da  System => Cache Management e dopo  via FTP scarichi tutti i file del CMS.

  1. Creare il dump del database

Il back-up del database può essere fatto a linea di comando

# mysqldump -u [user_database] -p [database_name] > dumpServerMagento.sql

oppure utilizzando phpmyadmin nell’area Esporta del pannello di controllo.

  1. Caricare i file di back-up nel nuovo server

I file recuperati al passo nr. 1 vengono caricati nella directory principale htdocs del nuovo server.

  1. Caricare il database nel nuovo server

Nel nuovo server crei un database [nome_database] e importi i dati del dumpServerMagento.sql .  L’import del database si può fare a liena di comando

# mysqldump -u [user_database] -p [nome_database] < dumpServerMagento.sql

oppure come prima dal pannello di controllo di phpmyadmin nell’area Importa.

  1. Aggiornare nel database la nuova URL del server

In questo passo viene modificato il database. Dal phpmyadmin sul database ti sposti dentro la tabella core_config_data e modifichi queste due righe come si vede qui sotto:

web/unsecure/base_url   >   http://www.newdomain.com/

web/secure/base_url   >   http://www.newdomain.com/
  1. Configurare magento per l’accesso al database

Questo passaggio dipende dai cambiamenti che hai fatto al nome database, user e password. Se sono state cambiate bisognerà modificare il file local.xml che si trova su app/etc/local.xml inserendo i dati di accesso corretti.
[host_database] [nome_database] [user_database] [password]

  1. Aggiornare la cache

Questo è l’ultimo passo, bisogna pulire la cache. Entri nel pannello di controllo e poi System -> Cache management -> Seleziona tutto e poi disabilita cache management, dopo di che cancelli tutte le cartelle e i file che si trovano dentro var/sesion/ e var/cache del nuovo sito.

L’unico problema che ho riscontrato è stato tra la versione di Magento 1.3.0 e la versione di PHP 5.2.0  dandomi come errore:

Fatal error: Method Varien_Object::__tostring() cannot take arguments
La soluzione a questo problema è modificare due righe di codice.

La prima riga si trova su “app/code/core/Mage/Core/Controller/Request/Http.php :199 ”

PRIMA
$host = split(':', $_SERVER['HTTP_HOST']);
DOPO
$host = explode(':', $_SERVER['HTTP_HOST']);

la seconda riga si trova su “lib/Varien/Object.php :484″

PRIMA
public function __toString(array $arrAttributes = array(),
$valueSeparator=',')
DOPO
public function  __invoke(array  $arrAttributes = array(),
$valueSeparator=',')
A questo punto dopo aver finito il trasloco di Magento e fatto gli ultimi controlli il tuo negozio online è pronto per iniziare con le vendite. :)

Spero di esserti stato d’aiuto.
A presto!
Ertil Gani

Scritto da

Commenta articolo

Lascia un Commento

  • dechigno il 13 set 2012

    Grazie Ertil per aver condiviso con tutti noi la tua esperienza e le tue conoscenze… :P

  • Ertil Gani il 13 set 2012

    Sempre al vostro servizio De Capitani :D
    Oltre a questa guida, nella community di Magento si può trovare un altra guida ufficiale che usa SSH come accesso al server.
    http://www.magentocommerce.com/wiki/groups/227/moving_magento_to_another_server
    Nel mio caso come accesso ho solo FTP quindi di conseguenza ho dovuto fare delle ricerche è unire tutto in questo post compreso i problemi riscontrati.

Loading Facebook Comments ...