Migrare un negozio PrestaShop con DataFirefly Server Migration
Controlla il negozio, crea il pacchetto, invialo al nuovo server, ripristinalo con l'installer autonomo e vai online seguendo la checklist.
Panoramica
DataFirefly Server Migration sposta un intero negozio PrestaShop, file e database, su un nuovo server, un nuovo dominio o in una sottocartella. Nel back office vieni guidato in cinque passaggi: Controlli, Pacchetto, Trasferimento, Ripristino e Messa online. Sul nuovo server, un installer autonomo ripristina il negozio e riscrive tutto ciò che dipende dal vecchio server.
Il negozio attuale viene solo letto: i file vengono aperti in sola lettura e il database viene esportato con query di lettura. Il modulo scrive soltanto nella propria cartella di archiviazione.
Il modulo funziona con PrestaShop da 1.7.8 a 9.x e PHP da 7.1 a 8.5. Il back office e l’installer sono tradotti in inglese, francese, spagnolo, tedesco, italiano, polacco, olandese e portoghese.
Installazione
- In Moduli > Gestione moduli, clicca su Carica un modulo e trascina il file
dfservermigration-2.0.1.zip. - Apri Parametri Avanzati > Migrazione server.
Solo i super amministratori possono usare il modulo: un pacchetto contiene l’intero database del negozio.
Passaggio 1: controlli
Il primo passaggio analizza il negozio e il server. I quattro riquadri in alto mostrano i file da copiare, il database, il pacchetto stimato (compresso, con il caso peggiore senza compressione) e lo spazio libero su disco. Un banner riassume il risultato: tutto pronto, punti di attenzione o punti bloccanti.

Controlli preliminari
- Versione ed estensioni PHP: pdo_mysql è obbligatoria; zlib, cURL e OpenSSL sono consigliate (compressione, trasferimento diretto, cifratura della password HTTP).
- max_execution_time e memory_limit: il lavoro è suddiviso in fasi di pochi secondi, quindi va bene qualsiasi limite di tempo.
- upload_max_filesize / post_max_size: non sono limitanti su questo negozio. Sul nuovo server, l’installer adatta la dimensione dei blocchi di trasferimento ai propri limiti.
- Archiviazione dei pacchetti: fuori dalla web root quando l’hosting lo consente. Altrimenti in una cartella dal nome casuale con regole di blocco, e il tuo browser verifica che un pacchetto non si possa scaricare dal web.
- Spazio libero su disco: confrontato con il pacchetto stimato. Se il tuo hosting disabilita
disk_free_space(), al posto della misura compare un avviso: controlla lo spazio nel pannello del tuo hosting. - Server database: versione e max_allowed_packet.
Analisi delle dimensioni
Le cartelle e le tabelle più grandi sono elencate con un pulsante Escludi. Se in una sottocartella viene trovata un’altra installazione di PrestaShop (una copia di staging, un vecchio negozio), un messaggio ti suggerisce di escluderla.
Passaggio 2: il pacchetto
Cosa includere
- File + database: la migrazione completa.
- Solo database: la sincronizzazione finale di ordini e clienti, subito prima del passaggio.
- Solo file: temi, immagini, moduli.
Cache, log, backup di 1-Click Upgrade e cartelle Git sono esclusi per impostazione predefinita. Puoi escludere anche le miniature generate (da rigenerare poi in Aspetto > Impostazioni immagini), aggiungere schemi personalizzati (uno per riga, * all’interno di una cartella, ** anche tra più cartelle) e saltare i file oltre una certa dimensione. L’opzione Database alleggerito esporta statistiche visitatori e log come tabelle vuote.
Link simbolici: i link che puntano all’interno del negozio vengono ricreati come link. I link che puntano fuori dal negozio, ad esempio una cartella uploads salvata altrove, vengono copiati come cartelle reali: il nuovo server non ha la loro destinazione. Link interrotti, loop e cartelle di sistema vengono esclusi ed elencati nel report. Puoi disattivare questo comportamento con l’opzione Copia il contenuto dei link simbolici che puntano fuori dal negozio.

Creazione del pacchetto
Clicca su Crea il pacchetto. Il pannello mostra le fasi (scansione, esportazione del database, creazione del pacchetto, verifica), i contatori, la velocità, il tempo rimanente e il log. Puoi lasciare la pagina: quando torni, la creazione riprende da dove si era fermata. Il log si può scaricare in qualsiasi momento.

Al termine, il pacchetto viene verificato e compare nell’elenco con il suo contenuto, la sua dimensione, lo spazio che richiede sul nuovo server e la data di eliminazione automatica (3 giorni per impostazione predefinita, modificabile nelle impostazioni avanzate).

Spazio su disco
Prima di iniziare, il modulo confronta lo spazio libero con il pacchetto stimato. Se non basta, l’avvio viene rifiutato con i numeri e la soluzione. Puoi comunque avviare lo stesso: la creazione è protetta.

Durante la creazione, il modulo lascia sempre almeno 128 MB liberi, così il negozio online continua a funzionare. Se lo spazio si esaurisce, la creazione si mette in pausa e indica quanto spazio manca ancora e cosa fare. Libera spazio o escludi alcune cartelle, poi clicca su Riprova: la creazione riprende da dove si era interrotta. Elimina i file parziali la annulla in modo pulito.

Passaggio 3: trasferimento
Carica l’installer sul nuovo server
Scarica dfsm-installer.php e caricalo nella cartella che ospiterà il negozio (di solito public_html o www). Sul nuovo server servono PHP e un database vuoto, non PrestaShop. Ogni installer è valido per 3 giorni per impostazione predefinita ed è protetto dalla chiave di migrazione mostrata accanto al pulsante.
Trasferimento diretto (consigliato)
- Inserisci l’indirizzo dell’installer sul nuovo server. Prima del cambio di DNS, usa l’indirizzo temporaneo fornito dal nuovo hosting.
- Clicca su Verifica la connessione: il modulo controlla la versione dell’installer, la versione PHP per la tua versione di PrestaShop, lo spazio libero per questo pacchetto e i permessi di scrittura.
- Scegli il pacchetto e clicca su Invia al nuovo server.
Il pacchetto viaggia in blocchi firmati con HMAC-SHA256. Un trasferimento interrotto riprende dall’ultimo byte confermato, e Interrompi elimina il file parziale dal nuovo server. Per una cartella protetta o un server senza certificato valido, apri Autenticazione HTTP e SSL.

Download e caricamento via FTP
Scarica il pacchetto dall’elenco e caricalo accanto a dfsm-installer.php in modalità binaria. L’installer lo trova da solo e rifiuta un file troncato.
Passaggio 4: ripristino con l’installer
- Apri
dfsm-installer.phpnel browser, scegli la tua lingua e inserisci la chiave di migrazione. - Scegli il pacchetto ricevuto o caricato.
- Controlla il nuovo server: PHP confrontato con le versioni supportate dalla tua versione di PrestaShop, estensioni, spazio libero confrontato con il pacchetto, permessi di scrittura, limiti, sito già presente nella cartella.
- Inserisci il nuovo database e verifica la connessione. L’installer confronta il server con quello di origine, controlla max_allowed_packet e conta le tabelle che usano già il prefisso.
- Controlla i domini: una riga per ogni URL del negozio con il nuovo dominio, il nuovo dominio SSL e la cartella di base. Puoi anche cambiare il prefisso tabelle.
- Clicca su Avvia il ripristino.

Il ripristino estrae i file, ricrea i link simbolici di PrestaShop 9, importa il database, aggiorna ps_shop_url e le impostazioni del dominio di ogni negozio, sostituisce i vecchi URL in tutte le tabelle (dati serializzati inclusi, indirizzi e-mail intatti), scrive app/config/parameters.php, lascia che PrestaShop rigeneri .htaccess e svuota le cache. Tieni aperta la pagina; se si chiude, riapri l’installer e il ripristino riprende.

Dopo il ripristino
L’ultima schermata mostra i dati del ripristino, i controlli automatici (connessione al database, URL principale del negozio, .htaccess, cartella del back office, cartelle scrivibili, home page) e una checklist di messa online. Il pacchetto e la password del database sono già stati eliminati dal server. Clicca su Elimina ora l’installer dopo aver controllato il negozio; altrimenti si eliminerà da solo dopo 24 ore.

Passaggio 5: messa online
La checklist del back office tiene traccia delle ultime attività: testare il nuovo negozio, congelare quello vecchio e sincronizzare gli ultimi dati con un pacchetto Solo database, DNS, certificato SSL, cron, e-mail, cache, webhook di pagamento, SEO e pulizia.

Per non perdere nessun ordine: testa il nuovo negozio, attiva la manutenzione su quello vecchio, crea un pacchetto Solo database e ripristinalo con un nuovo installer. Gli accessi al database del negozio già ripristinato sono precompilati; lascia vuota la password per mantenerla.
Sicurezza
- I pacchetti vengono salvati fuori dalla web root quando possibile ed eliminati automaticamente al termine del periodo di conservazione.
- La password HTTP del nuovo server è cifrata nella configurazione.
- L’installer richiede la chiave di migrazione, rifiuta le richieste non firmate, sigilla la password del database e la cancella alla fine, poi si elimina da solo 24 ore dopo il ripristino o alla scadenza.
- Nuova chiave nel passaggio 3 invalida tutti gli installer scaricati in precedenza.
Risoluzione dei problemi
I pacchetti POSSONO essere scaricati dal web
Il tuo server ignora .htaccess (Nginx). Aggiungi una regola che neghi l’accesso a /modules/dfservermigration/var/ prima di creare un pacchetto.
Il nuovo server rifiuta la connessione o chiede un login
Controlla l’indirizzo dell’installer (http o https, www). Per l’errore HTTP 401, compila i campi di autenticazione HTTP. Per l’errore HTTP 413, riduci la dimensione dei blocchi di trasferimento nelle impostazioni avanzate.
L’installer ha rifiutato la chiave di migrazione
Dopo il download dell’installer è stata generata una nuova chiave, oppure gli orologi dei due server differiscono di più di 15 minuti. Scarica di nuovo l’installer.
Errore SQL durante l’importazione
L’installer mostra la tabella e il dettaglio dell’errore. Per max_allowed_packet, chiedi al tuo hosting di portarlo ad almeno 16 MB e clicca su Riprova: la tabella in corso viene importata di nuovo.
Impossibile rigenerare .htaccess
Il dominio al suo interno è stato comunque aggiornato. Salva una volta Parametri Negozio > Traffico & SEO nel nuovo back office.