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.
Come risolvere il problema?
Innanzitutto è buona cosa mettere il sito un modalità manutenzione andando in Impostazioni -> Manutenzione e selezionando NO alla voce Attiva negozio
Andiamo quindi nella schermata di impostazioni e correggere l’attuale impostazione con il nuovo nome a dominio Impostazioni -> SEO & URLs
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.