Migracja sklepu PrestaShop z DataFirefly Server Migration
Sprawdź sklep, utwórz pakiet, wyślij go na nowy serwer, przywróć go samodzielnym instalatorem i uruchom sklep, korzystając z listy kontrolnej.
Przegląd
DataFirefly Server Migration przenosi cały sklep PrestaShop, pliki i bazę danych, na nowy serwer, do nowej domeny lub do podfolderu. Panel administracyjny prowadzi Cię przez pięć kroków: Weryfikacja, Pakiet, Transfer, Przywracanie i Uruchomienie. Na nowym serwerze samodzielny instalator przywraca sklep i aktualizuje wszystko, co zależało od starego serwera.
Obecny sklep jest tylko odczytywany: pliki są otwierane w trybie tylko do odczytu, a baza danych jest eksportowana zapytaniami odczytu. Moduł zapisuje dane wyłącznie we własnym folderze.
Moduł działa na PrestaShop od 1.7.8 do 9.x z PHP od 7.1 do 8.5. Panel administracyjny i instalator są dostępne w języku angielskim, francuskim, hiszpańskim, niemieckim, włoskim, polskim, niderlandzkim i portugalskim.
Instalacja
- W Moduły > Menedżer modułów kliknij Załaduj moduł i upuść plik
dfservermigration-2.0.1.zip. - Otwórz Zaawansowane > Migracja serwera.
Z modułu mogą korzystać tylko superadministratorzy: pakiet zawiera całą bazę danych sklepu.
Krok 1: weryfikacja
Pierwszy krok analizuje sklep i serwer. Cztery kafelki u góry pokazują pliki do skopiowania, bazę danych, szacowany pakiet (po kompresji, z najgorszym przypadkiem bez kompresji) oraz wolne miejsce na dysku. Baner podsumowuje wynik: wszystko gotowe, punkty wymagające uwagi lub punkty blokujące.

Kontrola wstępna
- Wersja PHP i rozszerzenia PHP: wymagane jest pdo_mysql; zalecane są zlib, cURL i OpenSSL (kompresja, bezpośredni transfer, szyfrowanie hasła HTTP).
- max_execution_time i memory_limit: praca jest dzielona na kroki trwające kilka sekund, więc sprawdzi się każdy limit czasu.
- upload_max_filesize / post_max_size: w tym sklepie nie stanowią ograniczenia. Na nowym serwerze instalator dostosowuje rozmiar fragmentów transferu do własnych limitów.
- Przechowywanie pakietów: poza katalogiem głównym serwera WWW, gdy hosting na to pozwala. W przeciwnym razie w losowym folderze z regułami blokującymi dostęp, a Twoja przeglądarka sprawdza, czy pakietu nie da się pobrać z internetu.
- Wolne miejsce na dysku: porównywane z szacowanym pakietem. Jeśli hosting wyłącza
disk_free_space(), zamiast pomiaru pojawia się ostrzeżenie: sprawdź wtedy ilość miejsca w panelu hostingu. - Serwer bazy danych: wersja i max_allowed_packet.
Analiza rozmiaru
Największe foldery i tabele są wyświetlane z przyciskiem Wyklucz. Jeśli w podfolderze zostanie znaleziona inna instalacja PrestaShop (kopia testowa, stary sklep), komunikat zaproponuje jej wykluczenie.
Krok 2: pakiet
Co uwzględnić
- Pliki + baza danych: pełna migracja.
- Tylko baza danych: końcowa synchronizacja zamówień i klientów tuż przed przełączeniem.
- Tylko pliki: szablony, obrazy, moduły.
Pamięć podręczna, logi, kopie zapasowe 1-Click Upgrade i foldery Git są domyślnie pomijane. Możesz też pominąć wygenerowane miniatury (wygeneruj je potem ponownie w Wygląd > Ustawienia obrazów), dodać własne wzorce (jeden w wierszu, * w obrębie jednego folderu, ** w wielu folderach) i pomijać pliki powyżej określonego rozmiaru. Opcja Lżejsza baza danych eksportuje statystyki odwiedzin i logi jako puste tabele.
Dowiązania symboliczne: dowiązania wskazujące wewnątrz sklepu są odtwarzane jako dowiązania. Dowiązania wskazujące poza sklep, np. folder uploads przechowywany w innym miejscu, są kopiowane jako zwykłe foldery: na nowym serwerze nie ma ich celu. Uszkodzone dowiązania, pętle i foldery systemowe są pomijane i wymieniane w raporcie. Możesz to wyłączyć opcją Kopiuj zawartość dowiązań symbolicznych wskazujących poza sklep.

Tworzenie pakietu
Kliknij Utwórz pakiet. Panel pokazuje etapy (skanowanie plików, eksport bazy danych, pakowanie, weryfikacja), liczniki, prędkość, pozostały czas i dziennik. Możesz opuścić stronę: po powrocie tworzenie pakietu zostanie wznowione od miejsca przerwania. Dziennik można pobrać w dowolnej chwili.

Na koniec pakiet jest weryfikowany i pojawia się na liście z zawartością, rozmiarem, miejscem wymaganym na nowym serwerze i datą automatycznego usunięcia (domyślnie po 3 dniach, ustawiane w ustawieniach zaawansowanych).

Miejsce na dysku
Przed startem moduł porównuje wolne miejsce z szacowanym pakietem. Jeśli pakiet się nie zmieści, start zostaje zablokowany, a moduł podaje liczby i rozwiązanie. Mimo to możesz rozpocząć tworzenie pakietu: jest ono chronione.

Podczas tworzenia pakietu moduł zostawia co najmniej 128 MB wolnego miejsca, aby działający sklep pracował bez przeszkód. Gdy miejsca zaczyna brakować, tworzenie pakietu zostaje wstrzymane, a moduł pokazuje, ile miejsca jeszcze potrzeba i co zrobić. Zwolnij miejsce lub wyklucz foldery, a następnie kliknij Ponów: tworzenie pakietu zostanie wznowione od miejsca przerwania. Usuń częściowe pliki czysto je anuluje.

Krok 3: transfer
Umieść instalator na nowym serwerze
Pobierz dfsm-installer.php i prześlij go do folderu, w którym będzie działać sklep (zwykle public_html lub www). Nowy serwer potrzebuje PHP i pustej bazy danych, a nie PrestaShop. Każdy instalator jest domyślnie ważny przez 3 dni i jest chroniony kluczem migracji widocznym obok przycisku.
Bezpośredni transfer (zalecany)
- Wpisz adres instalatora na nowym serwerze. Przed przełączeniem DNS użyj tymczasowego adresu podanego przez nowego dostawcę hostingu.
- Kliknij Przetestuj połączenie: moduł sprawdzi wersję instalatora, wersję PHP dla Twojej wersji PrestaShop, wolne miejsce dla tego pakietu i prawo zapisu.
- Wybierz pakiet i kliknij Wyślij na nowy serwer.
Pakiet jest przesyłany we fragmentach podpisanych HMAC-SHA256. Przerwany transfer jest wznawiany od ostatniego potwierdzonego bajtu, a Zatrzymaj usuwa częściowy plik z nowego serwera. W przypadku folderu chronionego hasłem lub serwera bez ważnego certyfikatu otwórz Uwierzytelnianie HTTP i SSL.

Pobranie i przesłanie przez FTP
Pobierz pakiet z listy i prześlij go w trybie binarnym do tego samego folderu, w którym znajduje się dfsm-installer.php. Instalator sam go znajdzie i odrzuci niekompletny plik.
Krok 4: przywracanie za pomocą instalatora
- Otwórz
dfsm-installer.phpw przeglądarce, wybierz język i wpisz klucz migracji. - Wybierz pakiet odebrany przez transfer lub przesłany przez FTP.
- Sprawdź nowy serwer: PHP w porównaniu z wersjami obsługiwanymi przez Twoją wersję PrestaShop, rozszerzenia, wolne miejsce w porównaniu z pakietem, prawo zapisu, limity, istniejąca witryna w folderze.
- Podaj nową bazę danych i przetestuj połączenie. Instalator porównuje serwer ze źródłem, sprawdza max_allowed_packet i liczy tabele, które już używają danego prefiksu.
- Sprawdź domeny: jeden wiersz na każdy adres URL sklepu z nową domeną, domeną SSL i folderem bazowym. Możesz też zmienić prefiks tabel.
- Kliknij Rozpocznij przywracanie.

Przywracanie rozpakowuje pliki, odtwarza dowiązania symboliczne PrestaShop 9, importuje bazę danych, aktualizuje ps_shop_url i ustawienia domeny każdego sklepu, zamienia stare adresy URL we wszystkich tabelach (łącznie z danymi serializowanymi, bez zmiany adresów e-mail), zapisuje app/config/parameters.php, pozwala PrestaShop wygenerować ponownie .htaccess i czyści pamięć podręczną. Nie zamykaj strony; jeśli jednak zostanie zamknięta, otwórz instalator ponownie, a przywracanie zostanie wznowione.

Po przywróceniu
Ostatni ekran pokazuje dane liczbowe przywracania, automatyczną weryfikację (połączenie z bazą danych, główny adres URL sklepu, .htaccess, folder panelu administracyjnego, foldery z prawem zapisu, strona główna) oraz listę kontrolną uruchomienia. Pakiet i hasło do bazy danych są już usunięte z serwera. Po sprawdzeniu sklepu kliknij Usuń instalator teraz; w przeciwnym razie instalator usunie się sam po 24 godzinach.

Krok 5: uruchomienie
Lista kontrolna w panelu administracyjnym pomaga dopilnować ostatnich zadań: przetestowanie nowego sklepu, zamrożenie starego i synchronizacja ostatnich danych pakietem zawierającym tylko bazę danych, DNS, certyfikat SSL, zadania cron, e-maile, pamięć podręczna, webhooki płatności, SEO i czyszczenie.

Aby nie stracić żadnego zamówienia: przetestuj nowy sklep, włącz tryb konserwacji w starym, utwórz pakiet Tylko baza danych i przywróć go nowym instalatorem. Dane dostępu do bazy danych już przywróconego sklepu są uzupełnione automatycznie; pozostaw pole hasła puste, aby zachować dotychczasowe hasło.
Bezpieczeństwo
- Pakiety są przechowywane poza katalogiem głównym serwera WWW, gdy to możliwe, i usuwane automatycznie po okresie przechowywania.
- Hasło HTTP nowego serwera jest zaszyfrowane w konfiguracji.
- Instalator wymaga klucza migracji, odrzuca niepodpisane żądania, zabezpiecza hasło do bazy danych i usuwa je na koniec, a następnie sam się usuwa 24 godziny po przywróceniu lub po wygaśnięciu.
- Nowy klucz w kroku 3 unieważnia wszystkie wcześniej pobrane instalatory.
Rozwiązywanie problemów
Pakiety MOŻNA pobrać z internetu
Twój serwer ignoruje .htaccess (Nginx). Przed utworzeniem pakietu dodaj regułę blokującą dostęp do /modules/dfservermigration/var/.
Nowy serwer odrzuca połączenie lub wymaga zalogowania
Sprawdź adres instalatora (http czy https, z www czy bez). Przy błędzie HTTP 401 wypełnij pola uwierzytelniania HTTP. Przy błędzie HTTP 413 zmniejsz rozmiar fragmentu transferu w ustawieniach zaawansowanych.
Instalator odrzucił klucz migracji
Od pobrania instalatora wygenerowano nowy klucz albo zegary obu serwerów różnią się o więcej niż 15 minut. Pobierz instalator ponownie.
Błąd SQL podczas importu
Instalator pokazuje tabelę i szczegóły błędu. W przypadku max_allowed_packet poproś dostawcę hostingu o zwiększenie tej wartości do 16 MB lub więcej i kliknij Ponów: bieżąca tabela zostanie zaimportowana ponownie.
Nie udało się wygenerować ponownie .htaccess
Domena i tak została w nim zaktualizowana. W nowym panelu administracyjnym zapisz raz ustawienia w Preferencje > Ruch & SEO.