Informativa sui Cookie

:::: MENU ::::

Prestashop 1.6 – Migrare un negozio da un dominio ad un altro

Può capitare di dover migrare un’installazione di Prestashop da un server ad un altro, o meglio, da un dominio ad un altro.
Le casistiche per cui può rivelarsi necessaria questa migrazione sono varie. Ad esempio:

  • spostamento del sito da un ambiente di sviluppo locale al web server di produzione
  • similmente, deploy del negozio dal server di test a server di produzione

Personalmente questo problema mi si è presentato durante alcune prove della piattaforma cloud EC2 di Amazon. Non avendo assegnato un ip statico o un nome a dominio fisso alla macchina, mi sono dopo ogni riavvio della macchina cambiava l’ip e il nome a dominio generato da EC2.

Quando si esegue una migrazione di questo tipo, il risultato è che il frontend del negozio mostra una pagina bianca, mentre il backend di amministrazione continua a funzionare. Mostrando un messaggio in cui viene spiegato che è necessario modificare il nome a dominio per il sito.

Messaggio errore cambio dominio

Come risolvere il problema?

Innanzitutto è buona cosa mettere il sito un modalità manutenzione andando in Impostazioni -> Manutenzione e selezionando NO alla voce Attiva negozio

Prestashop modalità manutenzione

Andiamo quindi nella schermata di impostazioni e correggere l’attuale impostazione con il nuovo nome a dominio Impostazioni -> SEO & URLs

Prestashop cambio dominio

Se questa procedura viene eseguita nell’ambito di deploy da server di sviluppo a server di produzione, è altamente probabile che sia necessario cambiare i riferimenti ad database. Per fare ciò, modificare il file /config/settings.inc.php

define('_DB_SERVER_', 'database_host'); 
define('_DB_NAME_', 'database_name'); 
define('_DB_USER_', 'database_user'); 
define('_DB_PASSWD_', 'database_password');

Eliminiamo  l’intera cartella /cache nella root di Prestashop

Infine riattiviamo il sito andando in Impostazioni -> Manutenzione e selezionando SI alla voce Attiva negozio

A questo punto il frontend del negozio tornerà visibile.

Riferimenti: