Promocja: pl – od 5 zł | eu – od 5 zł | com – od 20 zł

Aktualizacja aplikacji PrestaShop na serwerze CloudHosting e-Sklep

 

PrestaShop to aplikacja przeznaczona do prowadzenia sklepu internetowego. Zbudowana jest w oparciu o język PHP. Twórcy PrestaShop wraz z pojawianiem się nowych wersji PHP wydają również nowe, zaktualizowane wersje swojego oprogramowania, poprawiając jednocześnie jego funkcjonalność i szybkość działania. Rekomendowaną wersją PHP dla nowych, stabilnych wydań aplikacji PrestaShop 1.7.7 jest PHP 7.3, a dla PrestaShop 1.7.8 - PHP 7.4.

Korzystając z jakiegokolwiek oprogramowania, które opiera swoje działanie na języku skryptowym PHP oraz na bazach danych, należy pamiętać o przeprowadzaniu jego bieżących aktualizacji. Właściwą praktyką jest wykonywanie różnego rodzaju upgrade'u np. modułów, szablonów czy też całego oprogramowania na wcześniej przygotowanej kopii strony, tak, aby ewentualne niezgodności aktualizacji nie spowodowały dłuższych przerw w funkcjonowaniu witryny, a w najgorszym przypadku, nie spowodowały jej utraty. Praca na kopii strony pozwala bowiem na sprawdzenie, czy wykonane aktualizacje i zmiany nie wprowadzają żadnych błędów w działaniu naszej strony. Dopiero po takiej wstępnej weryfikacji należy wykonać wdrożenie zmian w ramach właściwej, produkcyjnej wersji witryny.

Po zweryfikowaniu, czy aktualizacja kopii naszej strony została wykonana prawidłowo, sam proces można zakończyć na kilka sposobów:

  • zostawiając przekierowanie na tę kopię plików i bazę danych sklep, uprzednio usuwając niepotrzebne już pliki i bazę danych sprzed aktualizacji;
  • przełączając domenę na oryginalny katalog sklepu, a następnie ponawiając proces aktualizacji i usuwając po jego zakończeniu pliki z katalogu testowego, z testową bazą danych.

W dalszej części naszego artykułu zajmiemy się pierwszym z zaproponowanych wyżej rozwiązań.
 
 
 
Budowa aplikacji PrestaShop

Na system zarządzania treścią PrestaShop składają się dwa elementy:

  • zestaw plików umieszczonych na serwerze, czyli pliki sklepu, szablony, moduły, produkty, pliki graficzne;
  • baza danych zawierająca informacje o wyglądzie sklepu, produktach, zamówieniach, klientach itp.

Aby możliwe było przywrócenie prawidłowego działania sklepu, np. po awarii, konieczne jest wykonanie kopii bezpieczeństwa tych obu elementów.

Niniejszy poradnik prowadzi krok po kroku przez proces aktualizacji aplikacji PrestaShop. Przed wykonaniem przedstawionych tu operacji należy przełączyć sklep w tryb konserwacji. W tym celu należy w kokpicie aplikacji przejść do zakładki KONFIGURUJ -> Preferencje -> Ogólny i wybrać kartę Przerwa techniczna, a następnie ustawić opcję Włącz sklep na NIE. Na czas wykonywania operacji klienci nie będą mogli dokonywać zakupów.

wlacz sklep nie

 
 
Aktualizacja PrestaShop

Proces aktualizacji aplikacji PrestaShop jest działaniem złożonym. Wykonanie kolejno przedstawionych w tym artykule kroków pozwoli na właściwe jego przeprowadzenie. Dla wygody, artykuł został podzielony na poszczególne zagadnienia. Zalecane jest wykonanie poszczególnych prac w kolejności, którą prezentujemy poniżej:

 

 
KROK 1: Wykonanie kopii folderu z plikami.
 

    • Zaloguj się do panelu zarządzania serwerem Active.admin, a następnie przejdź do menu Domeny -> Wykaz domen i przy właściwej domenie sklepu odczytaj ścieżkę dostępu do katalogu z plikami. Jest ona zawsze poprzedzona nazwą katalogu /prestashop/.
      katalog sklepu nazwa.pl
    • Informację, o nazwie katalogu instalacji sklepu, znajdziesz również, przechodząc do menu e-Sklep -> Wykaz instalacji.
      e-sklep wykaz instalacji
    • Zaloguj się do serwera przy pomocy klienta SSH, np. PuTTY (Sprawdź: Co to jest SSH i do czego służy?). Uzupełnij specyfikację połączenia (1), wpisując identyfikator serwera (na poniższym przykładzie server12345.nazwa.pl) w polu Host Name, podając port 22 i zaznaczając typ połączenia jako SSH. Następnie kliknij przycisk Open (2).
      putty szczegoly polaczenia
    • W konsoli programu PuTTY wpisz login, którym jest początek identyfikatora serwera (dla przykładowego identyfikatora serwera będzie to server12345), a następnie wpisz hasło takie samo, jak do panelu Active.admin tego serwera. Wpisywane znaki hasła nie będą widoczne.
      ssh nazwa.pl logowanie
    • Po zalogowaniu użyj polecenia ls (1), aby wyświetlić zawartość głównego katalogu serwera. Właściwy katalog sklepu będzie znajdował się w folderze prestashop (2). Przejdź do tego katalogu, używając polecenia cd prestashop (3), a następnie ponownie użyj ls (4), aby wylistować jego zawartość. Nazwa katalogu z plikami strony (5) powinna być taka sama, jak nazwa widoczna w panelu Active.admin serwera.
      ssh listowanie plikow
    • Utwórz kopię katalogu z plikami strony, używając polecenia cp -R z właściwymi nazwami katalogów. Ważne jest, aby parametr -R został napisany dużą literą. Składnia polecenia powinna być następująca:

      cp -R nazwa_kopiowanego_katalogu nazwa_docelowego_katalogu

      ssh kopia katalogu

    • W zależności od ilości i wielkości plików proces wykonywania kopii może potrwać od kilku do kilkunastu minut. Po jego zakończeniu sprawdź, czy pojawił się nowy katalog, a także, czy nie jest on pusty. W tym celu wykonaj kolejno polecenia ls oraz du -s nazwa_katalogu:

      ls
      du -s prestan_mojsklep_kopia

      ssh wielkosc skopiowanego katalogu

    • Jeśli kopia została prawidłowo wykonana, w wierszu, poniżej polecenia du -s, wyświetlona zostanie informacja o wielkości skopiowanego wcześniej katalogu. Można również porównać objętość tego katalogu z folderem źródłowym, wykonując dla jego nazwy analogiczne polecenie du -s.
    • Wykonaj dodatkową archiwizację plików sklepu poprzez spakowanie ich do pliku .tar lub .zip. W tym celu użyj polecenia tar lub zip z odpowiednimi parametrami:

      tar -zcvf nazwa_archiwum.tar.gz nazwa_archiwizowanego_katalogu

      ssh pakowanie tar

      lub

      zip -r nazwa_archiwum.zip nazwa_archiwizowanego_katalogu

      ssh pakowanie zip

    • Po wykonaniu pliku archiwum dowolnym poleceniem sprawdź, czy powstały plik nie jest zerowej wielkości. Użyj do tego polecenia:

      ls -al

      ssh lista plikow all

    • Jeśli logowanie do serwera poprzez SSH stanowi problem, możliwe jest wykonanie kopii plików strony lub przygotowanie archiwum z plikami za pomocą skryptu php, który zostanie uruchomiony z poziomu przeglądarki.
    • W tym celu zaloguj się do serwera poprzez klienta FTP, a następnie przejdź do katalogu /prestashop i utwórz w nim nowy plik o rozszerzeniu .php, np. skrypt.php.
      ftp skrypt.php
    • Wewnątrz pliku wpisz kod dla jednej z poniższych czynności. Pamiętaj, aby na końcu każdego wiersza systemecho umieścić znak średnika.
      - Kopiowanie plików:

      <?php
      system ('cp -R -v prestan_mojsklep prestan_mojsklep_kopia');
      echo 'skopiowane';
      ?>

      - Tworzenie spakowanego archiwum tar.gz:

      <?php
      system ('tar -zcvf archiwum_sklepu1.tar.gz prestan_mojsklep');
      echo 'zrobione';
      ?>

      - Tworzenie spakowanego archiwum .zip:

      <?php
      system ('zip -r archiwum_sklepu2.zip prestan_mojsklep');
      echo 'zrobione';
      ?>

    • Po wpisaniu kodu i zapisaniu pliku wywołaj skrypt w przeglądarce internetowej, wpisując ścieżkę dostępu do niego. Dla serwera o przykładowym identyfikatorze server12345.nazwa.pl należy wpisać adres https://server12345.nazwa.pl/prestashop/skrypt.php.
    • Wynikiem poprawnego wykonania jednego z powyższych poleceń będzie utworzenie kopii katalogu z plikami strony, o określonej wcześniej nazwie, lub też utworzenie pliku archiwum o określonej nazwie i wybranym rozszerzeniu.

 

 
KROK 2: Wykonanie kopii bazy danych.
 

    • Zaloguj się do serwera poprzez klienta FTP, np. WinSCP (Sprawdź: WinSCP – konfiguracja programu do połaczeń sFTP).
    • Przejdź do katalogu /prestashop, a następnie do właściwego katalogu z plikami sklepu (np. prestan_mojsklep). Przejdź kolejno do podkatalogów app -> config. Odszukaj plik o nazwie parameters.php i wykonaj jego kopię (np. dodając do jego nazwy dopisek .old).
      winscp parameters
    • Otwórz plik do edycji, odszukaj wiersze dotyczące parametrów database_namedatabase_password (czyli nazwa bazy danych i hasło dostępowe do niej), a następnie skopiuj lub przepisz wartości, które przy tych parametrach będą widoczne. Będą one niezbędne w trakcie wykonywania dalszych czynności. Po przepisaniu lub skopiowaniu danych, zamknij plik.
      winscp edycja pliku
    • Zaloguj się do panelu zarządzania serwerem Active.admin, a następnie przejdź do menu Bazy danych -> Wykaz baz danych i odszukaj bazę danych o nazwie widocznej w sprawdzanym wcześniej pliku (1). Zanotuj ilość zajętego i zarezerwowanego dla bazy miejsca (2) oraz wersję silnika bazy danych (3).
      lista baz danych
    • Przejdź do szczegółów bazy danych, klikając w jej nazwę, a następnie, kliknij przycisk Wykonaj kopię.
      wykonaj kopie bazy
    • Wpisz hasło dostępowe do bazy danych (1), odczytane wcześniej w pliku parameters.php i kliknij przycisk Wykonaj (2).
      wykonaj kopie bazy
    • Kopia bazy zostanie wykonana do domyślnego katalogu /_sqldump_, a jej nazwa będzie zawierać nazwę bazy danych, a także datę i godzinę wykonania kopii. Przejdź ponownie do szczegółów bazy danych, aby sprawdzić, czy kopia została prawidłowo wykonana.
      poprawne wykonanie kopii bazy

 

 
KROK 3: Utworzenie instalacji testowej.
 

    • Zaloguj się do panelu zarządzania serwerem Active.admin, a następnie przejdź do menu Bazy danych -> Dodaj bazę danych. Wybierz wersję bazy danych (1) taką samą jaką ma źródłowa baza. Również w przypadku rozmiaru bazy (2) ustaw taki sam, jak w oryginalnej bazie danych. Wpisz nową nazwę bazy danych (3). Hasło (4) wpisz takie samo, jakie zostało wcześniej odczytane w pliku parameters.php. Po uzupełnieniu wszystkich pól kliknij przycisk Zapisz (5).
      dodaj baze danych update
    • Po utworzeniu nowej bazy danych przejdź do menu Bazy danych -> Wykaz baz danych i kliknij w nazwę nowej bazy. W jej szczegółach kliknij przycisk Wgraj kopię.
      wgraj kopie nowej bazy
    • Wybierz plik wykonanej wcześniej kopii bazy danych (1). Wpisz hasło dostępowe do bazy danych (2), które zostało odczytane wcześniej w pliku parameters.php i wpisane przy tworzeniu pustej bazy. Po uzupełnieniu pól kliknij Wgraj (3).
      wgraj kopie nowej bazy
    • Przejdź ponownie do szczegółów bazy danych, aby sprawdzić, czy kopia została prawidłowo wgrana.
      prawidlowo wgrana kopia
    • Zaloguj się do serwera poprzez klienta FTP, np. WinSCP (Sprawdź: WinSCP – konfiguracja programu do połaczeń sFTP).
    • Przejdź do folderu /prestashop, a następnie do podfolderu z wcześniej wykonaną kopią plików (np. prestan_mojsklep_kopia). Przejdź kolejno do podkatalogów app -> config, odszukaj plik o nazwie parameters.php i wykonaj jego kopię (np. dodając do jego nazwy dopisek .old).
      parameters w kopii strony
    • Otwórz plik do edycji, odszukaj wiersze dotyczące parametrów database_namedatabase_user (czyli nazwa bazy danych i jej użytkownik), a następnie zmień widoczne tam wartości. W przypadku zmiany nazwy bazy danych i użytkownika pamiętaj, aby pozostawić niezmienioną pierwszą część nazwy, tzn. server12345_, a zmienić jedynie drugą jej część, widoczną po znaku _. Nie zmieniaj również znaków apostrofów ani przecinków. Zapisz wykonane w pliku zmiany i zamknij go.
      aktualizacja pliku parameters
    • Przejdź w panelu Active.admin do zakładki Domeny -> Wykaz domen i kliknij w nazwę domeny, pod którą widoczna jest strona sklepu. W sekcji Ustawienia WWW zaznacz checbox przy opcji Przekierowanie WWW na katalog na serwerze (1), a następnie wybierz katalog (2) zawierający wcześniej wykonaną kopię sklepu. Po wykonaniu ustawień kliknij przycisk Zapisz (3).
      przekierowanie domeny na kopie sklepu
    • Sprawdź, czy strona sklepu jest prawidłowo wyświetlana pod adresem domeny.
    • Wyloguj się z połączeń SSH i FTP z serwerem.

 

 
KROK 4: Instalacja modułu 1-Clik Upgrade i aktualizacja oprogramowania sklepu.
 

  • Zaloguj się do zaplecza sklepu. Przejdź do zakładki Preferencje -> Przerwa techniczna i sprawdź, czy opcja Włącz sklep ustawiona jest na NIE. Jeśli ustawiona jest na TAK, przełącz ją.
    wlacz sklep nie
  • Wybierz z menu zakładkę ULEPSZENIA -> Moduły -> Katalog (1). Wpisz w polu wyszukiwania (2) nazwę 1-Click Upgrade i kliknij ikonę wyszukiwania. Po znalezieniu właściwego modułu kliknij przy nim przycisk Instaluj (3).
    instaluj 1-click upgrade
  • Po zainstalowaniu dodatku odśwież stronę w przeglądarce, a następnie przejdź w menu do zakładki ULEPSZENIA -> Moduły -> Module Manager (1) i kliknij przycisk Konfiguruj (2) widoczny przy module 1-Click Upgrade.
    konfiguruj 1-click upgrade
  • Zweryfikuj listę punktów do sprawdzenia przed dokonaniem aktualizacji. Aby mogła ona zostać przeprowadzona, wszystkie punkty powinny być oznaczone na zielono.
    lista punktow do sprawdzenia

    - Jeśli przy punkcie Your store is in maintenance mode (1) widnieje czerwony krzyżyk, kliknij widoczny poniżej niego przycisk Kliknij tutaj, aby przełączyć Twój sklep w tryb konserwacji.

    - Jeżeli przy punkcie PrestaShop's caching features are disabled (2) również widnieje czerwony krzyżyk, należy na czas aktualizacji aplikacji wyłączyć cacheowanie zawartości. W tym celu przejdź w menu do zakładki KONFIGURUJ -> Zaawansowane -> Wydajność (1), odnajdź sekcję Cache (2) i przy opcji Użyj pamięci podręcznej (3) wybierz NIE. Zapisz (4) zmianę i powróć do konfiguracji modułu 1-Click Upgrade.

    wylacz cache

  • Jeśli wszystkie punkty do sprawdzenia z listy zaznaczone są na zielono, przejdź niżej, do sekcji ROZPOCZNIJ AKTUALIZACJĘ. Widoczna jest tutaj aktualnie zainstalowana na serwerze wersja PrestaShop, a także najnowsza dostępna (1). Przed rozpoczęciem aktualizacji kliknij przycisk Więcej opcji (Tryb eksperta) (2) i dokonaj ustawień poszczególnych opcji.
    sekcja rozpocznij aktualizacje
  • W sekcji Wybierz swój kanał można zdecydować, czy aktualizacja ma przebiegać do najnowszej dostępnej stabilnej wersji, czy też do niższej, która będzie zgodna z wymogami ewentualnie posiadanych dodatkowych modułów lub szablonów. Zalecane jest pozostawienie wybranej opcji Wydane poboczne (zalecane). Jeśli dokonana zostanie zmiana Kanału, kliknij poniżej przycisk ZAPISZ. Minimalna wersja zgodna z PHP 7.3, a więc taka do jakiej należy zaktualizować aplikację, to 1.7.7.
    wybierz swoj kanal
  • W sekcji OPCJE KOPII BEZPIECZEŃSTWA można zdecydować, czy ma zostać wykonana kopia plików i bazy danych (Back up my files and database) oraz czy ma zostać wykonana kopia obrazków dostępnych w sklepie (Back up my images). Zalecane jest ustawienie obu opcji na TAK. Po ich wybraniu kliknij poniżej przycisk Zapisz.
    opcje kopii zapasowej
  • W sekcji OPCJE AKTUALIZACJI można zdefiniować poszczególne parametry przebiegu aktualizacji:

    - Wydajność serwera - dla serwerów CloudHosting e-Sklep zalecane jest wybranie opcji Niska (zalecana).

    - Wyłącz nie-wbudowane moduły - opcja dotycząca wyłączenia własnych lub pochodzących od innych niż programiści PrestaShop modułów. Zalecane jest ustawienie tej opcji na TAK. Po zaktualizowaniu aplikacji konieczne będzie ponowne zainstalowanie zewnętrznych modułów w wersjach zgodnych ze zaktualizowaną wersją aplikacji.

    - Upgrade the default theme - jeśli używany jest własny szablon lub też używany jest domyślny szablon, ale nie był on modyfikowany, zalecane jest ustawienie tej opcji na TAK. W przeciwnym wypadku należy wybrać NIE. Zgoda na aktualizację używanego szablonu (ustawienie opcji na TAK), jeśli był on modyfikowany, spowoduje nadpisanie wykonanych zmian i ich utratę.

    - Switch the default theme - zalecane jest ustawienie opcji na TAK. Wówczas aktualnie ustawiony szablon zostanie zmieniony na domyślny.

    - Keep the customized email templates - zalecane jest ustawienie opcji na TAK. Pozwoli to na zachowanie zmodyfikowanych szablonów wiadomości e-mail.
    ustawienie opcji aktualizacji

  • Po ustawieniu opcji aktualizacji kliknij ikonę Zapisz. Następnie powróć do sekcji ROZPOCZNIJ AKTUALIZACJĘ i kliknij przycisk UPGRADE PRESTASHOP NOW!.
    upgrade prestashop now
  • Proces aktualizacji może potrwać od kilku do kilkunastu minut. Po jego zakończeniu wyświetlone zostanie podsumowanie.
    podsumowanie aktualizacji prestashop
  • Po wykonanej aktualizacji wyloguj się z zaplecza sklepu i zaloguj ponownie. Aktualna wersja aplikacji będzie widoczna powyżej okna logowania.
    logowanie z nowa wersja aplikacji
  • Zaloguj się do zaplecza sklepu, przejdź ponownie do modułu 1-Click Upgrade i w sekcji ROZPOCZNIJ AKTUALIZACJĘ zweryfikuj, czy widoczna jest informacja o najnowszej wersji aplikacji.
    najnowsza wersja aplikacji
  • Jeśli w sklepie zainstalowane były dodatkowe moduły, które zostały wyłączone w trakcie aktualizacji, zaktualizuj je, włącz i zweryfikuj działanie sklepu.
  • Przejdź do zakładki KONFIGURUJ -> Preferencje -> Ogólny, wybierz kartę Przerwa techniczna i ustaw opcję Włącz sklep na TAK.
    wlacz sklep na tak

UWAGA! Jeśli aktualizacja nie zakończy się powodzeniem, przejdź do konfiguracji modułu 1-Click Upgrade, odnajdź sekcję POWRÓT, wybierz z listy właściwą kopię zapasową (1) i kliknij przycisk POWRÓT (2). Zaczekaj, aż operacja zostanie wykonana.
opcja powrot aktualizacji

 

 
KROK 5: Dodatkowe czynności po wykonaniu aktualizacji.
 

    • Po prawidłowej aktualizacji aplikacji wykonaj czyszczenie cache CDN nazwa.pl. Czynność tą możesz zrealizować poprzez SSH lub Panel Klienta (Sprawdź: Czyszczenie cache CDN nazwa.pl).
    • Upewnij się w panelu Active.admin (menu Domeny -> Wykaz domen), czy domena wskazuje prawidłowy katalog z kopią plików strony, na których wykonana została aktualizacja.
      domena przekierowanie na katalog kopii
    • Zaloguj się do serwera poprzez klienta FTP, przejdź do katalogu /prestashop i podkatalogu z kopią strony, którego nazwa została sprawdzona w panelu Active.admin. Następnie przejdź do podkatalogów app -> config i odszukaj plik o nazwie parameters.php. Otwórz plik i upewnij się, że w parametrach database_namedatabase_user widnieje nazwa i użytkownik nowej bazy danych.
      aktualizacja pliku parameters
    • Jeśli przekierowanie domeny w panelu Active.admin, a także dane dostępowe do bazy danych prawidłowo wskazują na nową, zaktualizowaną wersję sklepu, usuń poprzez FTP poprzedni katalog z plikami strony, a także utworzony podczas wykonywania czynności opisanych w punkcie 3, plik parameters.php.old. Poprzez panel Active.admin usuń również poprzednią bazę danych (Sprawdź: Zarządzanie bazą danych).

 

 
KROK 6: Przełączenie wersji PHP na 7.3.
 

    • Zaloguj się do panelu Active.admin serwera i wykonaj zmianę wersji PHP na 7.3 lub wyższą oficjalnie wspieraną przez silnik PrestaShop w danej wersji (Sprawdź: Zmiana wersji PHP na serwerze).

 

 
KROK 7 (opcjonalny): Migracja bazy danych do wersji MariaDB 10.5.
 

    • Jeśli chcesz korzystać z nowszej wersji silnika bazy danych, jakim jest MariaDB 10.5, zaloguj się do panelu Active.admin serwera i wykonaj migrację bazy danych sklepu z dotychczasowej wersji MariaDB 10.1 (Sprawdź: Migracja przestarzałej wersji bazy danych do nowej wersji). Pamiętaj, aby uaktualnić po migracji dane nowej bazy w pliku parameters.php.
Table of Contents