PS PrestaShop Średnio zaawansowany

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.

Zaktualizowano Wersja modułu 2.0.0

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

  1. Pobierz plik dfstagingpro-2.0.0.zip ze swojego konta DataFirefly.
  2. Panel administracyjny PrestaShop → Moduły → Menedżer modułów → Wgraj moduł, a następnie wyślij plik ZIP.
  3. 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ń.

Lista środowisk staging PrestaShop z rozmiarem, zabezpieczeniami, dostępem i akcjami
Lista środowisk

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.
Kreator nowego staging: podfolder lub subdomena, ta sama lub osobna baza danych
Kreator nowego staging

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.

Opcje staging: dane klientów, hasło, link prywatny, płatności i wrażliwe moduły wyłączone
Dane i ochrona

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.
Kontrole wstępne przed kopią staging: miejsce na dysku, baza danych, limity PHP i szacowany rozmiar
Kontrole wstępne przed kopią

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.

  1. 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.
  2. 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.
  3. 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.
Za mało miejsca na dysku: kopia zablokowana z wymaganym, dostępnym i brakującym miejscem oraz sugestiami
Za mało miejsca na dysku

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ą.

Postęp kopii staging na żywo: etapy, pliki, czas upływający i pozostały, dziennik na żywo
Postęp kopii na żywo

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-Tag wysyłany przez PHP na wszystkich stronach (działa nawet bez mod_headers i pod nginx), znacznik meta noindex oraz robots.txt.
  • Żaden e-mail nie wychodzi: PS_MAIL_METHOD = 3 oraz 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.

Publikacja wybranych tabel ze staging na produkcję, atomowa zamiana i automatyczna kopia zapasowa
Publikacja na produkcji

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.

Kopie zapasowe publikacji: cofnięcie ostatniej lub usunięcie starych kopii
Kopie zapasowe publikacji

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.

Czytelny dziennik środowiska staging do pobrania
Dziennik środowiska

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.
Ustawienia: wolne miejsce dla sklepu, margines bezpieczeństwa, czas partii, wykluczenia
Ustawienia

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, .env i .htpasswd staging 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, noindex wysył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.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia