# DataFirefly Staging Pro: kompletny przewodnik

> 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…

- Strona: <https://www.datafirefly.com/pl/documentation/dfstagingpro/>
- Język: pl
- Zaktualizowano: 2026-11-01
- Inne języki: [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), [it](https://www.datafirefly.com/it/documentation/dfstagingpro/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfstagingpro/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfstagingpro/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

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](https://www.datafirefly.com/wp-content/uploads/2026/11/lista-srodowisk-staging-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/kreator-nowego-staging-lokalizacja-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/opcje-danych-i-ochrony-staging-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/kontrole-wstepne-staging-miejsce-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/za-malo-miejsca-na-dysku-staging-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/postep-kopii-staging-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/publikacja-staging-na-produkcji-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/kopie-zapasowe-publikacji-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/dziennik-staging-do-pobrania-stagingpro-pl.webp)

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](https://www.datafirefly.com/wp-content/uploads/2026/11/ustawienia-staging-bezpieczenstwo-dysku-stagingpro-pl.webp)

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.
