DataFirefly Staging Pro: kompletny przewodnik
Tworzenie, ochrona i publikacja na produkcji staging PrestaShop 8 i 9: kreator w 4 krokach, kontrola miejsca na dysku, postęp na żywo, kopie zapasowe i cofanie.
Staging Pro tworzy pełną kopię Twojego sklepu (pliki i bazę danych), dzięki której możesz bez ryzyka testować moduły, motywy i aktualizacje, a następnie opublikować zmiany na produkcji. Od wersji 2.0.0 miejsce na dysku jest sprawdzane przed kopiowaniem i w jego trakcie: kopia nie może już zapełnić dysku Twojego hostingu. Ten przewodnik obejmuje instalację, kreator tworzenia, zabezpieczenie miejsca na dysku, ochronę staging, publikację na produkcji, kopie zapasowe i rozwiązywanie problemów.
Instalacja i aktualizacja
- Pobierz plik
dfstagingpro-2.0.0.zipze swojego konta DataFirefly. - Panel administracyjny PrestaShop → Moduły → Menedżer modułów → Wgraj moduł, a następnie wyślij plik ZIP.
- Otwórz Parametry zaawansowane → Staging Pro.
Aby zaktualizować z wersji 1.x, wystarczy wgrać nowy plik ZIP. Aktualizacja dodaje nowe kolumny, nowe hooki i ustawienia domyślne, a ze starych logów usuwa hasła HTTP zapisane jawnym tekstem. Istniejące środowiska staging pozostają na liście z odznaką „1.x” i nadal można nimi zarządzać: odświeżać, publikować na produkcji, cofać i usuwać.
Zgodność z PrestaShop od 8.0 do 9.x. PHP musi mieć możliwość zapisu w folderze sklepu, a użytkownik MySQL musi mieć uprawnienia CREATE, DROP, ALTER i INSERT, co jest standardem w typowej instalacji. Brak zależności Composer.
Pulpit
U góry strony modułu widoczne jest pięć wskaźników: liczba środowisk, miejsce zajęte przez staging, wolne miejsce na dysku, czas trwania ostatniej kopii oraz kopie zapasowe publikacji. Zakładki dają dostęp do środowisk, kreatora tworzenia, kopii zapasowych i ustawień.
Każde środowisko jest przedstawione na karcie: adres staging, folder, prefiks tabel, rozmiar (pliki i baza danych), data i czas trwania ostatniej kopii, odznaki ochrony, login i hasło HTTP (ukryte, z przyciskami Pokaż i Kopia) oraz prywatny link dostępu. Dostępne akcje to Otwórz, Odśwież, Opublikuj na produkcji, Cofnij ostatnią publikację, Log i Usuń.

Nieudana kopia pozostaje widoczna wraz z przyczyną niepowodzenia, na przykład brakiem miejsca na dysku, oraz potwierdzeniem, że kopia częściowa została usunięta. Przycisk Spróbuj ponownie ponownie uruchamia kontrole wstępne, a następnie kopiowanie.
Tworzenie staging: kreator w 4 krokach
Krok 1: lokalizacja
Wpisz nazwę (małe litery, cyfry i myślniki, na przykład v2). Adres staging wyświetla się na bieżąco. Następnie wybierz:
- Podfolder Twojego sklepu (zalecane): staging powstaje w
/staging-nazwa/, nic nie trzeba konfigurować. - Własny folder i adres (subdomena): dla subdomeny takiej jak
staging.example.com, utworzonej wcześniej w panelu hostingu i wskazującej na pusty folder. - Ta sama baza danych, własny prefiks tabel (
dfs1_,dfs2_…) albo Oddzielna baza danych na tym samym serwerze, którą trzeba wcześniej utworzyć i udostępnić użytkownikowi MySQL sklepu.

Krok 2: dane i ochrona
- Pomiń dane statystyczne (domyślnie zaznaczone): wizyty, połączenia i logi nie są kopiowane, tabele są tworzone puste.
- Pomiń dane klientów (RODO): klienci, adresy, zamówienia, koszyki i wiadomości nie są kopiowane.
- Współdziel obrazy ze sklepem produkcyjnym: folder
img/jest podlinkowany zamiast kopiowany. Duża oszczędność miejsca, ale obraz zmieniony na staging zmienia się także w sklepie. - Hasło HTTP (.htpasswd) (Apache, LiteSpeed), prywatny link dostępu (wszystkie serwery, także nginx) i tryb konserwacji.
- Płatności: moduły płatności online są wyłączone na staging. Metody offline (przelew, czek, płatność przy odbiorze) pozostają dostępne, aby można było składać zamówienia testowe.
- Wrażliwe moduły: aktywne moduły z listy (zadania cron, synchronizacje ERP lub newslettera, śledzenie, płatności cykliczne) są proponowane do wyłączenia, tylko na staging.
Trzy zabezpieczenia są zawsze aktywne: noindex, blokada wszystkich e-maili i baner STAGING.

Krok 3: kontrole wstępne
Moduł analizuje Twój sklep: pliki są mierzone bez odczytywania ich zawartości, co zajmuje kilka sekund nawet w dużym sklepie, a następnie rozmiar bazy danych jest odczytywany z information_schema. Raport zawiera:
- potrzebne i dostępne miejsce na dysku, ze wskaźnikiem (rozmiar kopii, margines bezpieczeństwa, miejsce pozostawione wolne dla sklepu);
- miejsce na dysku bazy danych, gdy serwer MySQL jest lokalny i możliwy do zmierzenia;
- szacowany rozmiar (pliki i baza danych) oraz, jeśli w Twoim sklepie zmierzono już jakąś kopię, szacowany czas trwania;
- kontrole: nazwa, uprawnienia do zapisu, uprawnienia MySQL, limity PHP, rozszerzenia, serwer WWW;
- największe foldery, które możesz wykluczyć jednym kliknięciem, oraz wskazówki, jak zaoszczędzić miejsce.

Krok 4: kopiowanie
Kliknij Utwórz staging. Kopiowanie rozpoczyna się, a jego postęp widać na karcie środowiska (zobacz „Podgląd kopiowania na żywo”).
Miejsce na dysku: jak moduł chroni Twój sklep
Staging powstaje na tym samym dysku co Twój sklep. Pełny dysk może zablokować sklep produkcyjny: pamięć podręczną, sesje, wysyłanie plików, faktury. Staging Pro stosuje więc trzy zabezpieczenia.
- Przed kopiowaniem: potrzebne miejsce jest obliczane następująco: rozmiar kopiowanych plików (bez pamięci podręcznych, logów, sesji, kopii zapasowych i innych staging) + rozmiar bazy danych + margines bezpieczeństwa (10%, minimum 50 MB) + miejsce zawsze pozostawione wolne dla sklepu (domyślnie 500 MB). Jeśli wolnego miejsca brakuje, kopiowanie jest odrzucane z podaniem trzech wartości: potrzebne, dostępne, brakujące. Kontrola jest powtarzana przy starcie kopiowania.
- W trakcie kopiowania: wolne miejsce jest stale mierzone na nowo. Kopiowanie zatrzymuje się, zanim spadnie poniżej miejsca zarezerwowanego dla sklepu. Każdy zapis jest kontrolowany: pełny dysk, po stronie plików lub MySQL, zatrzymuje kopiowanie z czytelnym komunikatem.
- Po niepowodzeniu lub zatrzymaniu: kopia częściowa (folder i tabele) jest usuwana automatycznie. Nic nie zostaje na dysku ani w bazie danych, a sklep produkcyjny nigdy nie jest modyfikowany.

Gdy brakuje miejsca, raport podpowiada rozwiązania z konkretnymi wartościami: współdzielenie obrazów, pominięcie statystyk lub danych klientów, wykluczenie dużego folderu, wyczyszczenie pamięci podręcznej (przycisk), usunięcie starych logów z var/logs, usunięcie starych staging lub starych kopii zapasowych publikacji.
Na niektórych hostingach współdzielonych funkcja PHP disk_free_space jest wyłączona i wolnego miejsca nie można zmierzyć. Moduł wyraźnie to sygnalizuje, pokazuje przybliżony rozmiar kopii i prosi o zaznaczenie potwierdzenia po sprawdzeniu miejsca w panelu hostingu. Błędy zapisu nadal są wykrywane i czyszczone.
Podgląd kopiowania na żywo
W trakcie kopiowania karta środowiska pokazuje:
- etapy: kontrole wstępne, przygotowanie, pliki, baza danych, adresy URL, ochrona, weryfikacja;
- pasek postępu;
- liczbę skopiowanych plików i bajtów;
- sklonowane tabele;
- czas, który upłynął, oraz szacowany pozostały czas, wyliczany na podstawie rzeczywistego postępu;
- ostatnie wiersze logu.
Przycisk Zatrzymaj przerywa kopiowanie i usuwa kopię częściową.

Kopiowanie przebiega partiami trwającymi kilka sekund: bez przekroczenia limitu czasu, nawet przy niskiej wartości max_execution_time. Jeśli zamkniesz stronę, kopiowanie zostaje wstrzymane i wznawia się po ponownym otwarciu pulpitu, dokładnie w miejscu, w którym się zatrzymało.
Ochrona staging
- Noindex: nagłówek
X-Robots-Tagwysyłany przez PHP na wszystkich stronach (działa nawet bezmod_headersi pod nginx), znacznik metanoindexorazrobots.txt. - Żaden e-mail nie wychodzi:
PS_MAIL_METHOD = 3oraz blokada każdej wysyłki przez moduł, nawet jeśli ktoś ponownie włączy SMTP na staging. Baner w panelu administracyjnym staging pokazuje liczbę zablokowanych e-maili. - Hasło HTTP (użytkownik
staging), wygenerowane lub wybrane, w formacie APR1 obsługiwanym przez Apache i LiteSpeed. Autoweryfikacja po zakończeniu kopiowania sprawdza, czy serwer odpowiada 401 bez danych logowania. - Prywatny link dostępu: bez tajnego linku odwiedzający widzą stronę „prywatny staging”. Link zapisuje plik cookie ważny 30 dni.
- Płatności online i wrażliwe moduły są wyłączone, a baner STAGING jest widoczny na froncie i w panelu administracyjnym.
Odświeżanie, ponawianie, usuwanie
- Odśwież: odbudowuje staging na podstawie bieżącego stanu sklepu. Najpierw okno pokazuje kontrole wstępne. Uwzględniane jest miejsce zwolnione po usunięciu starej kopii. Jeśli brakuje miejsca, odświeżanie nie zostaje uruchomione, a bieżąca kopia jest zachowana.
- Spróbuj ponownie: ponownie uruchamia nieudaną kopię, po nowych kontrolach wstępnych.
- Usuń: usuwa folder i tabele staging. Poza folderem sklepu usuwany jest tylko folder zawierający znacznik środowiska.
Publikacja na produkcji
Przycisk Opublikuj na produkcji otwiera listę tabel staging, pogrupowanych według kategorii: katalog, treść i wygląd, moduły, klienci i zamówienia, pozostałe. Dla każdej tabeli widać liczbę wierszy na staging i w sklepie. Wyszukiwarka i filtr „Tylko tabele, które się różnią” ułatwiają wybór.

Wybrane tabele są najpierw kopiowane osobno, z zamianą adresów URL staging na adresy sklepu. Następnie są zamieniane w jednej niepodzielnej operacji (RENAME TABLE): sklep nigdy nie widzi tabeli pustej ani wypełnionej tylko częściowo. Zastąpione tabele są zachowywane jako kopia zapasowa (dfbak…). Jeśli publikacja nie powiedzie się przed zamianą, tabele tymczasowe są usuwane, a sklep pozostaje nietknięty.
Unikaj publikowania tabel klientów i zamówień, jeśli sklep nadal przyjmował zamówienia od czasu kopiowania: zastąpiłyby one nowsze zamówienia. Tabel krytycznych (shop_url, configuration, shop, sesje) nigdy nie można opublikować.
Kopie zapasowe i cofanie
Zakładka Kopie zapasowe zawiera listę kopii utworzonych podczas publikacji, z datą, liczbą tabel, rozmiarem i danym środowiskiem. Przycisk Cofnij ostatnią publikację na karcie środowiska przywraca oryginalne tabele. Usuń kopie zapasowe, które nie są już potrzebne, aby zwolnić miejsce w bazie danych.

Log
Każde środowisko ma własny log, w języku pracownika: kontrole wstępne, etapy, ostrzeżenia, błędy i czyszczenia. Filtr pokazuje tylko ostrzeżenia i błędy. Przycisk Pobierz (.txt) eksportuje pełny log z nagłówkiem przydatnym dla wsparcia (wersje, adresy, wolne miejsce). Hasła nigdy nie pojawiają się w logu.

Ustawienia
- Wolne miejsce zawsze zachowywane dla sklepu produkcyjnego (domyślnie 500 MB): kopiowanie jest odrzucane lub zatrzymywane, zanim wolne miejsce spadnie poniżej tej wartości.
- Margines bezpieczeństwa szacunku dodawany do oszacowania (10%, minimum 50 MB).
- Czas trwania partii (domyślnie 6 sekund, od 2 do 25).
- Dodatkowe foldery lub pliki do wykluczenia, poza wykluczeniami automatycznymi (pamięci podręczne, logi, sesje, kopie zapasowe panelu administracyjnego, inne staging).
- Wrażliwe moduły proponowane do wyłączenia na staging.

Staging bez danych klientów
Przy opcji Pomiń dane klientów (RODO) tabele klientów, zamówień, koszyków, wiadomości, gości, newslettera i logów RODO są tworzone puste. Adresy dostawców, producentów i magazynów są zachowywane, podobnie jak tabele konfiguracji zamówień (statusy, szablony wiadomości, statusy zwrotów) i cały katalog. To zalecany wybór, gdy staging udostępniasz zewnętrznemu wykonawcy. Na takim staging tabele klientów i zamówień są usuwane z listy publikacji i odrzucane przez serwer: pusta tabela nigdy nie może nadpisać produkcji.
Uprawnienia i bezpieczeństwo
- Akcje respektują uprawnienia zakładki Parametry zaawansowane → Staging Pro: wyświetlanie, dodawanie (tworzenie), edycja (kopiowanie, publikacja, cofanie, ustawienia) i usuwanie. Pracownik z dostępem tylko do odczytu nie widzi ani haseł, ani przycisków akcji.
- Wszystkie akcje są blokowane, jeśli bieżący sklep sam jest staging.
- Pliki
parameters.php,.envi.htpasswdstaging nie są dostępne z internetu.
FAQ i rozwiązywanie problemów
Co się stanie, jeśli na moim dysku nie ma dość miejsca? Kopiowanie jest odrzucane przed rozpoczęciem, z podaniem miejsca potrzebnego, dostępnego i brakującego oraz propozycjami, jak je zyskać. Jeśli miejsce zniknie w trakcie kopiowania, kopiowanie zatrzymuje się, zanim zapełni dysk, a kopia częściowa jest usuwana automatycznie.
Mój hosting wyłącza disk_free_space. Czy mogę używać modułu? Tak. Moduł pokazuje przybliżony rozmiar kopii i prosi o potwierdzenie. Błędy zapisu nadal są wykrywane i czyszczone.
Kopiowanie zostało przerwane (zamknięta strona, awaria sieci). Otwórz pulpit ponownie: kopiowanie wznowi się w miejscu, w którym się zatrzymało.
Mój serwer działa na nginx: hasło HTTP nie działa. nginx ignoruje pliki .htaccess. Użyj prywatnego linku dostępu, który działa na wszystkich serwerach. Autoweryfikacja zgłasza ten przypadek w logu.
Czy staging może wysyłać e-maile do moich klientów? Nie. E-maile są zawsze blokowane na staging, nawet jeśli ktoś ponownie włączy SMTP.
Czy mogę przetestować zamówienie na staging? Tak: płatności online są wyłączone, ale przelew i czek pozostają dostępne.
Jak cofnąć zmiany po publikacji na produkcji? Użyj Cofnij ostatnią publikację na karcie środowiska, a następnie usuń stare kopie zapasowe w zakładce Kopie zapasowe.
Czy moje staging utworzone w wersji 1.x są zachowane? Tak. Po aktualizacji pozostają na liście i można je odświeżać, publikować na produkcji lub usuwać.
Staging wszędzie zwraca 404 na hostingu cPanel / LiteSpeed. Zaktualizuj moduł, a następnie odśwież środowisko: hasło jest generowane w formacie APR1, zgodnym z LiteSpeed, a strona 401 jest wbudowana w .htaccess.
Historia wersji
2.0.0 (1 listopada 2026)
- Sprawdzanie miejsca na dysku przed kopiowaniem (pliki, baza danych, margines, miejsce zarezerwowane dla sklepu), kontrola w trakcie kopiowania, wykrywanie pełnego dysku po stronie plików i MySQL, automatyczne czyszczenie kopii częściowej.
- Kreator w 4 krokach z raportem kontroli wstępnych, wykluczaniem największych folderów i wskazówkami.
- Postęp na żywo z podziałem na etapy, ręczne zatrzymanie, wznawianie po przerwaniu, przetłumaczony log do pobrania.
- Atomowa publikacja na produkcji, zakładka Kopie zapasowe.
- Subdomena (własny folder i adres) oraz oddzielna baza danych.
- Prywatny link dostępu,
noindexwysyłany przez PHP, e-maile zawsze blokowane, wrażliwe moduły wyłączone, metody płatności offline zachowane. - Uprawnienia sprawdzane dla każdej akcji, hasła usunięte z logu, multistore, tłumaczenia w 8 językach.
1.1.0 (4 września 2026)
- Opcja „Bez danych klientów”.
1.0.1 (3 września 2026)
- Hasło HTTP w formacie APR1-MD5, wbudowana strona 401, przepisany
ErrorDocument, autoweryfikacja po zakończeniu kopiowania.
1.0.0 (11 czerwca 2026)
Pierwsza wersja publiczna.