# DataFirefly Staging Pro — Guida completa

> Staging Pro crea una copia completa del tuo negozio (file e database) per testare moduli, temi e aggiornamenti senza rischi, e poi pubblicare le modifiche in produzione. Dalla versione 2.0.0…

- Pagina: <https://www.datafirefly.com/it/documentation/dfstagingpro/>
- Lingua: it
- Aggiornato il: 2026-11-01
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfstagingpro/index.md), [en](https://www.datafirefly.com/en/documentation/dfstagingpro/index.md), [es](https://www.datafirefly.com/es/documentation/dfstagingpro/index.md), [de](https://www.datafirefly.com/de/documentation/dfstagingpro/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfstagingpro/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfstagingpro/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfstagingpro/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

Staging Pro crea una copia completa del tuo negozio (file e database) per testare moduli, temi e aggiornamenti senza rischi, e poi pubblicare le modifiche in produzione. Dalla versione 2.0.0 lo spazio su disco viene verificato prima e durante la copia: la copia non può più riempire il disco del tuo hosting. Questa guida copre l'installazione, la procedura guidata di creazione, la sicurezza dello spazio su disco, la protezione dello staging, la pubblicazione in produzione, i backup e la risoluzione dei problemi.

## Installazione e aggiornamento

1. Scarica `dfstagingpro-2.0.0.zip` dal tuo account DataFirefly.
2. Back office di PrestaShop → **Moduli** → **Gestione moduli** → **Carica un modulo**, quindi carica il file ZIP.
3. Apri **Parametri avanzati → Staging Pro**.

Per aggiornare dalla versione 1.x, carica semplicemente il nuovo file ZIP. L'aggiornamento aggiunge le nuove colonne, i nuovi hook e le impostazioni predefinite, e rimuove dai vecchi log le password HTTP che vi comparivano in chiaro. I tuoi staging esistenti restano elencati, con un badge «1.x», e restano gestibili: aggiornare, pubblicare in produzione, annullare, eliminare.

Compatibile con PrestaShop dalla 8.0 alla 9.x. PHP deve poter scrivere nella cartella del negozio e l'utente MySQL deve avere i diritti CREATE, DROP, ALTER e INSERT, come avviene in un'installazione standard. Nessuna dipendenza Composer.

## La dashboard

In alto, la pagina del modulo mostra cinque indicatori: numero di ambienti, spazio usato dagli staging, spazio libero su disco, durata dell'ultima copia e backup di pubblicazione. Le schede danno accesso agli ambienti, alla procedura guidata di creazione, ai backup e alle impostazioni.

Ogni ambiente è presentato in una scheda: indirizzo dello staging, cartella, prefisso delle tabelle, dimensione (file e database), data e durata dell'ultima copia, badge di protezione, utente e password HTTP (nascosta, con i pulsanti Mostra e Copia) e link di accesso privato. Le azioni disponibili sono Apri, Aggiorna, Pubblica in produzione, Annulla ultima pubblicazione, Log ed Elimina.

![Elenco degli ambienti di staging PrestaShop con dimensione, protezioni, accessi e azioni](https://www.datafirefly.com/wp-content/uploads/2026/11/elenco-ambienti-staging-stagingpro-it.webp)

Elenco degli ambienti

Una copia non riuscita resta visibile con il motivo dell'errore, ad esempio la mancanza di spazio su disco, e la conferma che la copia parziale è stata eliminata. Il pulsante **Riprova** rilancia i controlli preliminari e poi la copia.

## Creare uno staging: la procedura guidata in 4 passaggi

### Passaggio 1: posizione

Inserisci un nome (lettere minuscole, cifre e trattini, ad esempio `v2`). L'indirizzo dello staging viene mostrato in tempo reale. Scegli poi:

- **Sottocartella del negozio** (consigliato): lo staging viene creato in `/staging-nome/`, nulla da configurare.
- **Cartella e indirizzo personalizzati (sottodominio)**: per un sottodominio come `staging.example.com`, creato prima nel pannello dell'hosting e puntato a una cartella vuota.
- **Stesso database, prefisso delle tabelle dedicato** (`dfs1_`, `dfs2_`…), oppure **Database separato sullo stesso server**, da creare in anticipo e da rendere accessibile all'utente MySQL del negozio.

![Procedura guidata nuovo staging: sottocartella o sottodominio, stesso database o database separato](https://www.datafirefly.com/wp-content/uploads/2026/11/procedura-nuovo-staging-posizione-stagingpro-it.webp)

Procedura guidata nuovo staging

### Passaggio 2: dati e protezione

- **Escludere i dati statistici** (selezionato per impostazione predefinita): visite, connessioni e log non vengono copiati, le tabelle vengono create vuote.
- **Escludere i dati dei clienti (GDPR)**: clienti, indirizzi, ordini, carrelli e messaggi non vengono copiati.
- **Condividi le immagini con il negozio in produzione**: la cartella `img/` viene collegata invece di essere copiata. Si risparmia molto spazio, ma un'immagine modificata sullo staging cambia anche nel negozio in produzione.
- **Password HTTP** (Apache, LiteSpeed), **Link di accesso privato** (tutti i server, nginx compreso) e **Modalità manutenzione**.
- **Pagamenti**: i moduli di pagamento online vengono disattivati sullo staging. I metodi offline (bonifico, assegno, contrassegno) restano disponibili per effettuare ordini di prova.
- **Moduli sensibili**: i moduli attivi dell'elenco (attività cron, sincronizzazioni ERP o newsletter, tracciamento, fatturazione ricorrente) vengono proposti per la disattivazione, solo sullo staging.

Tre protezioni sono sempre attive: `noindex`, blocco di tutte le e-mail e banner STAGING.

![Opzioni dello staging: dati clienti, password, link privato, pagamenti e moduli sensibili disattivati](https://www.datafirefly.com/wp-content/uploads/2026/11/opzioni-dati-protezione-staging-stagingpro-it.webp)

Dati e protezione

### Passaggio 3: controlli preliminari

Il modulo analizza il tuo negozio: i file vengono misurati senza essere letti, il che richiede pochi secondi anche per un negozio di grandi dimensioni, poi la dimensione del database viene letta da `information_schema`. Il rapporto mostra:

- lo spazio su disco necessario e disponibile, con un indicatore (dimensione della copia, margine di sicurezza, spazio lasciato libero per il negozio);
- lo spazio del disco del database, quando il server MySQL è locale e misurabile;
- la dimensione stimata (file e database) e, se una copia è già stata misurata sul tuo negozio, la durata stimata;
- le verifiche: nome, permessi di scrittura, diritti MySQL, limiti PHP, estensioni, server web;
- le cartelle più grandi, che puoi escludere con un clic, e alcuni suggerimenti per risparmiare spazio.

![Controlli preliminari prima della copia di staging: spazio su disco, database, limiti PHP e dimensione stimata](https://www.datafirefly.com/wp-content/uploads/2026/11/controlli-preliminari-staging-spazio-stagingpro-it.webp)

Controlli preliminari prima della copia

### Passaggio 4: copia

Fai clic su **Crea lo staging**. La copia parte e l'avanzamento viene mostrato nella scheda dell'ambiente (vedi «Seguire la copia in tempo reale»).

## Spazio su disco: come il modulo protegge il tuo negozio

Lo staging viene creato sullo stesso disco del negozio. Un disco pieno può bloccare il negozio in produzione: cache, sessioni, caricamento di file, fatture. Staging Pro applica quindi tre protezioni.

1. **Prima della copia**: lo spazio necessario viene calcolato così: dimensione dei file da copiare (esclusi cache, log, sessioni, backup e altri staging) + dimensione del database + margine di sicurezza (10 %, minimo 50 MB) + spazio sempre lasciato libero per il negozio (500 MB per impostazione predefinita). Se lo spazio libero non basta, la copia viene rifiutata con tre valori: necessario, disponibile, mancante. Il controllo viene ripetuto all'avvio della copia.
2. **Durante la copia**: lo spazio libero viene misurato di continuo. La copia si interrompe prima di scendere sotto lo spazio riservato al negozio. Ogni scrittura è controllata: un disco pieno, lato file o lato MySQL, interrompe la copia con un messaggio chiaro.
3. **Dopo un errore o un'interruzione**: la copia parziale (cartella e tabelle) viene eliminata automaticamente. Non resta nulla sul disco né nel database, e il negozio in produzione non viene mai modificato.

![Spazio su disco insufficiente: copia bloccata con spazio necessario, disponibile e mancante, e suggerimenti](https://www.datafirefly.com/wp-content/uploads/2026/11/spazio-disco-insufficiente-staging-stagingpro-it.webp)

Spazio su disco insufficiente

Quando manca spazio, il rapporto propone soluzioni quantificate: condividere le immagini, escludere le statistiche o i dati dei clienti, escludere una cartella grande, svuotare la cache (pulsante), eliminare i vecchi log in `var/logs`, eliminare vecchi staging o vecchi backup di pubblicazione.

Su alcuni hosting condivisi la funzione PHP `disk_free_space` è disattivata e lo spazio libero non può essere misurato. Il modulo lo segnala chiaramente, mostra la dimensione approssimativa della copia e ti chiede di selezionare una casella di conferma dopo aver verificato lo spazio nel pannello dell'hosting. Gli errori di scrittura vengono comunque rilevati e ripuliti.

## Seguire la copia in tempo reale

Durante la copia, la scheda dell'ambiente mostra:

- i passaggi: controlli preliminari, preparazione, file, database, URL, protezione, verifica;
- una barra di avanzamento;
- il numero di file e di byte copiati;
- le tabelle clonate;
- il tempo trascorso e il tempo rimanente stimato in base all'avanzamento reale;
- le ultime righe del log.

Il pulsante **Stop** interrompe la copia ed elimina la copia parziale.

![Avanzamento in tempo reale della copia di staging: fasi, file, tempo trascorso e rimanente, registro in diretta](https://www.datafirefly.com/wp-content/uploads/2026/11/avanzamento-copia-staging-stagingpro-it.webp)

Avanzamento della copia in tempo reale

La copia procede a batch di pochi secondi: nessun timeout, anche con un valore basso di `max_execution_time`. Se chiudi la pagina, la copia si mette in pausa e riprende alla riapertura della dashboard, esattamente dove si era fermata.

## Protezione dello staging

- **Noindex**: l'header `X-Robots-Tag` viene inviato da PHP su tutte le pagine (funziona anche senza `mod_headers` e con nginx), insieme al meta tag `noindex` e a `robots.txt`.
- **Nessuna e-mail in uscita**: `PS_MAIL_METHOD = 3` e blocco di qualsiasi invio da parte del modulo, anche se qualcuno riattiva SMTP sullo staging. Il banner del back office dello staging mostra il numero di e-mail bloccate.
- **Password HTTP** (utente `staging`), generata o scelta da te, nel formato APR1 letto da Apache e LiteSpeed. Un'autoverifica al termine della copia controlla che il server risponda 401 in assenza di credenziali.
- **Link di accesso privato**: senza il link segreto, i visitatori vedono una pagina «staging privato». Il link imposta un cookie valido 30 giorni.
- Pagamenti online e moduli sensibili disattivati, e banner STAGING nel front office e nel back office.

## Aggiornare, riprovare, eliminare

- **Aggiorna**: ricostruisce lo staging a partire dallo stato attuale del negozio. Una finestra mostra prima i controlli preliminari. Lo spazio liberato dall'eliminazione della vecchia copia viene preso in considerazione. Se manca spazio, l'aggiornamento non viene avviato e la copia attuale viene conservata.
- **Riprova**: rilancia una copia non riuscita, dopo nuovi controlli preliminari.
- **Elimina**: elimina la cartella e le tabelle dello staging. Fuori dalla cartella del negozio viene eliminata solo una cartella che contiene il marcatore dell'ambiente.

## Pubblicazione in produzione

Il pulsante **Pubblica in produzione** apre l'elenco delle tabelle dello staging, raggruppate per categoria: catalogo, contenuti e design, moduli, clienti e ordini, altre. Per ogni tabella vedi il numero di righe nello staging e nel negozio. Una ricerca e il filtro «Solo tabelle diverse» semplificano la selezione.

![Pubblicazione delle tabelle scelte dallo staging alla produzione, scambio atomico e backup automatico](https://www.datafirefly.com/wp-content/uploads/2026/11/pubblica-staging-in-produzione-stagingpro-it.webp)

Pubblicazione in produzione

Le tabelle scelte vengono prima copiate a parte, con la riscrittura degli URL dallo staging al negozio. Vengono poi scambiate in una sola operazione atomica (`RENAME TABLE`): il negozio non vede mai una tabella vuota o riempita a metà. Le tabelle sostituite vengono conservate come backup (`dfbak…`). Se la pubblicazione fallisce prima dello scambio, le tabelle temporanee vengono eliminate e il negozio non viene toccato.

Evita di pubblicare le tabelle dei clienti e degli ordini se il negozio ha continuato a ricevere ordini dopo la copia: sostituirebbero gli ordini recenti. Le tabelle critiche (`shop_url`, `configuration`, `shop`, sessioni) non possono mai essere pubblicate.

## Backup e annullamento

La scheda **Backup** elenca i backup creati dalle pubblicazioni, con data, numero di tabelle, dimensione e ambiente interessato. Il pulsante **Annulla ultima pubblicazione**, nella scheda dell'ambiente, ripristina le tabelle originali. Elimina i backup che non ti servono più per liberare spazio nel database.

![Backup delle pubblicazioni: annullare l'ultima o eliminare i vecchi backup](https://www.datafirefly.com/wp-content/uploads/2026/11/backup-pubblicazioni-annulla-stagingpro-it.webp)

Backup delle pubblicazioni

## Log

Ogni ambiente ha il proprio log, nella lingua dell'utente del back office: controlli preliminari, passaggi, avvisi, errori e pulizie. Un filtro mostra solo gli avvisi e gli errori. Il pulsante **Scarica (.txt)** esporta il log completo con un'intestazione utile al supporto (versioni, indirizzi, spazio libero). Le password non compaiono mai nel log.

![Registro leggibile e scaricabile di un ambiente di staging](https://www.datafirefly.com/wp-content/uploads/2026/11/registro-staging-scaricabile-stagingpro-it.webp)

Registro dell'ambiente

## Impostazioni

- **Spazio libero da mantenere sempre per il negozio in produzione** (500 MB per impostazione predefinita): la copia viene rifiutata, o interrotta, prima di scendere sotto questo valore.
- **Margine di sicurezza** aggiunto alla stima (10 %, minimo 50 MB).
- **Durata di un batch** (6 secondi per impostazione predefinita, da 2 a 25).
- **Cartelle mai copiate**: cartelle da escludere in aggiunta alle esclusioni automatiche (cache, log, sessioni, backup del back office, altri staging).
- **Moduli sensibili** proposti per la disattivazione sullo staging.

![Impostazioni: spazio libero riservato al negozio, margine di sicurezza, durata dei lotti, esclusioni](https://www.datafirefly.com/wp-content/uploads/2026/11/impostazioni-staging-sicurezza-disco-stagingpro-it.webp)

Impostazioni

## Staging senza dati dei clienti

Con l'opzione **Escludere i dati dei clienti (GDPR)**, le tabelle di clienti, ordini, carrelli, messaggi, ospiti, newsletter e log GDPR vengono create vuote. Gli indirizzi di fornitori, produttori e magazzini vengono conservati, così come le tabelle di configurazione degli ordini (stati, modelli di messaggio, stati di reso) e l'intero catalogo. È la scelta consigliata quando si affida uno staging a un fornitore di servizi. Su uno staging di questo tipo, le tabelle dei clienti e degli ordini vengono rimosse dall'elenco di pubblicazione e rifiutate dal server: una tabella vuota non può mai sovrascrivere la produzione.

## Diritti e sicurezza

- Le azioni seguono i diritti della scheda **Parametri avanzati → Staging Pro**: visualizzare, aggiungere (creare), modificare (copiare, pubblicare, annullare, impostazioni) ed eliminare. Un utente con accesso in sola lettura non vede né le password né i pulsanti di azione.
- Tutte le azioni sono bloccate se il negozio corrente è esso stesso uno staging.
- I file `parameters.php`, `.env` e `.htpasswd` dello staging non sono accessibili dal web.

## FAQ e risoluzione dei problemi

**Che cosa succede se il mio disco non ha abbastanza spazio?** La copia viene rifiutata prima di iniziare, con lo spazio necessario, disponibile e mancante, e alcune soluzioni per recuperare spazio. Se lo spazio scompare durante la copia, questa si interrompe prima di riempire il disco e la copia parziale viene eliminata automaticamente.

**Il mio hosting disattiva disk_free_space, posso usare il modulo?** Sì. Il modulo mostra la dimensione approssimativa della copia e chiede una conferma. Gli errori di scrittura vengono comunque rilevati e ripuliti.

**La copia si è interrotta (pagina chiusa, interruzione di rete).** Riapri la dashboard: la copia riprende da dove si era fermata.

**Il mio server usa nginx: la password HTTP non funziona.** nginx ignora i file `.htaccess`. Usa il link di accesso privato, che funziona su tutti i server. L'autoverifica segnala il caso nel log.

**Lo staging può inviare e-mail ai miei clienti?** No. Le e-mail sono sempre bloccate sullo staging, anche se qualcuno riattiva SMTP.

**Posso provare un ordine sullo staging?** Sì: i pagamenti online sono disattivati, ma bonifico e assegno restano disponibili.

**Dopo una pubblicazione in produzione, come posso tornare indietro?** Usa **Annulla ultima pubblicazione** nella scheda dell'ambiente, poi elimina i vecchi backup nella scheda Backup.

**I miei staging creati con la 1.x vengono conservati?** Sì. Restano elencati dopo l'aggiornamento e possono essere aggiornati, pubblicati in produzione o eliminati.

**Lo staging risponde 404 ovunque su un hosting cPanel / LiteSpeed.** Aggiorna il modulo e poi aggiorna l'ambiente: la password viene generata nel formato APR1, compatibile con LiteSpeed, e la pagina 401 è integrata nel file `.htaccess`.

## Cronologia delle versioni

### 2.0.0 (1 novembre 2026)

- Verifica dello spazio su disco prima della copia (file, database, margine, spazio riservato al negozio), monitoraggio durante la copia, rilevamento del disco pieno lato file e MySQL, pulizia automatica della copia parziale.
- Procedura guidata in 4 passaggi con rapporto dei controlli preliminari, esclusione delle cartelle più grandi e suggerimenti.
- Avanzamento in tempo reale per passaggi, interruzione manuale, ripresa dopo un'interruzione, log tradotto e scaricabile.
- Pubblicazione in produzione atomica, scheda Backup.
- Sottodominio (cartella e indirizzo personalizzati) e database separato.
- Link di accesso privato, `noindex` inviato da PHP, e-mail sempre bloccate, moduli sensibili disattivati, metodi di pagamento offline conservati.
- Diritti verificati per azione, password rimosse dal log, multinegozio, traduzioni in 8 lingue.

### 1.1.0 (4 settembre 2026)

- Opzione «Senza dati dei clienti».

### 1.0.1 (3 settembre 2026)

- Password HTTP nel formato APR1-MD5, pagina 401 integrata, `ErrorDocument` riscritto, autoverifica al termine della copia.

### 1.0.0 (11 giugno 2026)

Prima versione pubblica.
