Jak zainstalować PrestaShop na serwerze

Spis treści

Chcesz uruchomić sklep internetowy bez zbędnych przeszkód? Ten poradnik przeprowadzi Cię krok po kroku przez pełną konfigurację PrestaShop na klasycznym hostingu współdzielonym lub na własnym VPS. Zaczniemy od przygotowania środowiska, przez wgranie plików i konfigurację baza danych, aż po zabezpieczenia, optymalizację i automatyczne kopie zapasowe. Dzięki temu Twoja instalacja będzie stabilna, szybka i zgodna z dobrymi praktykami — od pierwszego kliknięcia po gotowy do sprzedaży sklep.

Przygotowanie środowiska i wymagania

Wybór usług: domena, certyfikat i odpowiedni plan

Na start wybierz dostawcę, który zapewnia wydajne środowisko i wsparcie dla PrestaShop. Rozważ plan z pamięcią RAM 1–2 GB (dla mniejszych sklepów), dyskiem SSD/NVMe i nielimitowanym transferem. Zadbaj o rejestrację i delegację domena do hostingu: ustaw rekordy A/AAAA na IP serwera oraz CNAME, jeśli korzystasz z zewnętrznego CDN. Certyfikat SSL (np. Let’s Encrypt) jest obowiązkowy — zapewnia szyfrowanie, zaufanie i lepsze pozycjonowanie.

Minimalne i zalecane wersje oprogramowania

PrestaShop pracuje w środowisku LAMP/LEMP. Zwróć uwagę na zgodność wersji: PHP (zalecane stabilne wydanie wspierane przez Twoją wersję PrestaShop, często 8.1/8.2), serwer WWW (Apache 2.4 z mod_rewrite lub Nginx 1.18+), MySQL/MariaDB (MySQL 5.7+/8.0 lub MariaDB 10.3+). Sprawdź aktualne wymagania w dokumentacji swojej wersji, bo kompatybilność rozszerzeń PHP (np. Intl) zmienia się wraz z wydaniami.

Rozszerzenia PHP i limity

Włącz i potwierdź dostępność rozszerzeń: PDO/MySQLi, cURL, Zip, Intl, GD, Mbstring, OpenSSL, DOM, SimpleXML, JSON, Iconv, Fileinfo. Zalecane limity: memory_limit 256–512M, max_execution_time 120–300, upload_max_filesize 64–128M, post_max_size 64–128M. Ustaw strefę czasową i poprawną lokalizację (intl) dla właściwej obsługi walut, dat i tłumaczeń.

Tworzenie bazy danych i użytkownika

W panelu cPanel/Plesk lub przez CLI utwórz bazę, użytkownika i przypisz mu pełne uprawnienia. Dobre praktyki: unikalna nazwa, długi losowy login i hasło, ograniczenie dostępu tylko z lokalnego hosta. Zapisz te dane — będą potrzebne w kreatorze instalacji.

Dostęp i protokoły: FTP/SSH oraz kontrola DNS

Skonfiguruj dostęp do plików przez FTP lub SFTP/SSH. SFTP/SSH jest bezpieczniejszy i szybszy przy rozpakowywaniu archiwów bezpośrednio na serwerze. Po stronie DNS ustaw rekordy: A/AAAA dla domeny i www, CAA (opcjonalnie) pod Let’s Encrypt, oraz upewnij się, że TTL jest rozsądny (np. 300–3600) w czasie migracji.

Bezpieczeństwo już na starcie

Wymuś połączenia szyfrowane do panelu hostingu i SFTP, generuj klucze SSH zamiast haseł, używaj menedżera haseł. Ogranicz listę adresów IP mających dostęp do paneli administracyjnych, jeśli to możliwe. Zabezpiecz katalogi testowe hasłem HTTP Auth, by roboty nie indeksowały wersji roboczych.

Pobranie i wgranie PrestaShop na serwer

Pobranie oficjalnego pakietu

Pobierz najnowszą stabilną wersję z oficjalnego źródła. Unikaj paczek z nieznanych repozytoriów. Jeśli to możliwe, pobierz archiwum bezpośrednio na serwer (wget/curl), by oszczędzić czas i uniknąć limitów FTP. Alternatywnie pobierz lokalnie i prześlij archiwum przez menedżera plików w panelu hostingu.

Struktura katalogów i lokalizacja sklepu

Zdecyduj, czy sklep ma działać w katalogu głównym (public_html, httpdocs) czy w podkatalogu (np. /sklep). Jeśli chcesz obsługiwać wiele aplikacji, wybierz podkatalog i skonfiguruj odpowiedni DocumentRoot lub alias. Pamiętaj, że adresy SEO i certyfikat obejmują wskazany host (np. shop.twojadomena.pl).

Rozpakowanie i wgrywanie plików

Na hostingu współdzielonym zwykle skorzystasz z menedżera plików do rozpakowania paczki ZIP bezpośrednio w katalogu docelowym. Na VPS użyj SSH: rozpakuj, przenieś pliki do DocumentRoot, usuń zawartość pomocniczą (dodatkowe katalogi instalacyjne). Upewnij się, że plik index.php i katalog /install są obecne po rozpakowaniu.

Uprawnienia plików i właściciel

Ustaw właściciela plików na użytkownika, pod którym działa serwer WWW (lub grupę developerską) i odpowiednie prawa: katalogi 755/750, pliki 644/640. Nie używaj 777. Katalogi wymagające zapisu to zwykle: var/, app/config/, img/, mails/, modules/, themes/, translations/, upload/, download/. Jeżeli instalator zgłosi problem, doprecyzuj prawa tylko dla wskazanego katalogu.

Konfiguracja serwera WWW: Apache lub Nginx

Apache: włącz mod_rewrite, zezwól na .htaccess (AllowOverride All w katalogu docelowym), a następnie przeładuj usługę. Nginx: przygotuj blok serwerowy z przepisywaniem adresów do index.php, ustaw try_files dla zasobów statycznych, skonfiguruj limity przesyłania i buforów. W obu przypadkach przekieruj HTTP do HTTPS, dodaj HSTS (po upewnieniu się, że cały ruch przechodzi przez SSL).

Przygotowanie certyfikatu SSL

Wygeneruj Let’s Encrypt z poziomu panelu lub certyfikat komercyjny. Upewnij się, że cert obejmuje domenę i subdomenę www (SAN). Po wystawieniu, skonfiguruj automatyczne odnowienia. To zapobiegnie przerwom w obsłudze płatności i panelu administracyjnego.

Uruchomienie instalatora i konfiguracja sklepu

Wejście do instalatora

Wejdź pod adres domeny (np. https://twojadomena.pl). Kreator instalacji sprawdzi środowisko i wyświetli ewentualne braki. Usuń zgłoszone problemy: doinstaluj rozszerzenia, podnieś limity, popraw uprawnienia. Przed przejściem dalej ustaw docelowy język, kraj i strefę czasową.

Akceptacja licencji i wybór modułów

Zaakceptuj licencję i zdecyduj, czy instalować domyślny zestaw danych przykładowych. Dla nauki i testów dane demo są przydatne; dla produkcji zwykle lepiej zaczynać „na czysto”, by unikać zbędnych treści.

Konfiguracja połączenia z bazą danych

Wprowadź nazwę hosta (zwykle localhost), nazwę bazy, użytkownika i hasło. Jeśli Twój dostawca wymaga niestandardowego portu, podaj go explicite. Kreator przetestuje połączenie i utworzy tabele. Pamiętaj o prefiksie tabel (np. ps_), jeśli na jednej bazie będzie więcej instalacji.

Utworzenie konta administracyjnego

Podaj e-mail administratora, silne hasło i nazwę sklepu. Notuj dane dostępowe w menedżerze haseł. Nie używaj adresu admin@twojadomena.pl jako loginu w środowiskach publicznych; wybierz unikalny e-mail i dodaj mechanizmy ochrony logowania (np. 2FA, jeśli moduł to umożliwia).

Usunięcie katalogu install i zmiana ścieżki do panelu

Po powodzeniu instalacji system poprosi o usunięcie katalogu /install — wykonaj to natychmiast. Następnie zmień nazwę folderu /admin na niestandardową (np. /admin_9s4q), co utrudni próby ataków. Zaktualizuj zakładki i dokumentację zespołu z nowym adresem panelu.

Wstępna konfiguracja sklepu

Zaloguj się do panelu i ustaw podstawy: waluty, języki, strefy podatkowe, metody płatności i dostawy, statusy zamówień, jednostki wagi i wymiarów. Skonfiguruj e-maile transakcyjne (SMTP lub API dostawcy usług e-mail), stronę kontaktową, regulaminy, politykę prywatności i RODO.

Integracja płatności i wysyłek

Zainstaluj oficjalne moduły płatności (np. PayU, Przelewy24, Stripe) i przeprowadź pełne testy w trybie sandbox. Dodaj przewoźników (InPost, DPD, DHL), reguły kosztów i strefy doręczeń. Ustal progi darmowej dostawy, rozmiary paczek i integracje etykiet, by automatyzować logistykę.

Czynności po instalacji: bezpieczeństwo, wydajność, utrzymanie

Wymuszenie HTTPS i polityki bezpieczeństwa

W panelu włącz tryb SSL i wymuś SSL na wszystkich stronach. Dodaj zabezpieczenia w nagłówkach: Content-Security-Policy (dopasuj do zewnętrznych zasobów), X-Frame-Options, X-Content-Type-Options, Referrer-Policy. Zastosuj rate limiting na logowanie, firewall aplikacyjny (WAF) oraz podstawy ochrony przed botami.

Uprawnienia i separacja środowisk

Po instalacji przywróć najmniejsze możliwe uprawnienia plików. Oddziel środowisko produkcyjne od testowego: osobne bazy, subdomeny i klucze API. Zablokuj indeksowanie wersji testowej w robots.txt oraz przez HTTP Auth, by uniknąć duplikacji treści i niezamierzonej ekspozycji danych.

Konfiguracja e-maili transakcyjnych

Skorzystaj ze zewnętrznego dostawcy SMTP (lub API), aby zapewnić wysoką dostarczalność. Ustaw SPF, DKIM i DMARC w DNS. Przetestuj wysyłkę wiadomości: rejestracja, reset hasła, potwierdzenie zamówienia, faktury. Monitoruj reputację domeny i wskaźniki odrzuceń.

Wydajność: cache, kompresja i CDN

Włącz cache szablonów (Smarty), CCC (łączenie i kompresję CSS/JS) oraz kompresję Gzip/Brotli na serwerze. Dla większego ruchu rozważ Redis/Memcached jako warstwę cache sesji i obiektów. Skonfiguruj nagłówki Expires/Cache-Control dla statycznych zasobów i użyj CDN dla obrazów i plików multimedialnych, zwłaszcza przy sprzedaży międzynarodowej.

Obrazy i media

Skonfiguruj formaty i wymiary miniatur, włącz WebP, a dla dużych katalogów produktów użyj generowania miniatur asynchronicznie. Kompresuj obrazy przed wgraniem, wykorzystaj lazy loading. Zadbaj o właściwe alt-y i nazwy plików dla SEO.

Optymalizacja bazy danych

Włącz log slow query i monitoruj najcięższe zapytania. Indeksuj kolumny wykorzystywane w filtrach modułów. Ustal automatyczne czyszczenie koszyków porzuconych, logów i sesji. Regularnie wykonuj ANALYZE/OPTIMIZE, a przy większej skali rozważ replikację i dedykowany serwer DB.

CRON i automatyzacja

Skonfiguruj zadania CRON: harmonogram indeksacji, generowanie mapy strony, wysyłki e-maili, synchronizacje magazynu, importy/eksporty. Ustal różne godziny dla cięższych zadań, by nie nakładały się i nie spowalniały sklepu w godzinach szczytu.

Moduły: tylko potrzebne i aktualne

Instaluj wyłącznie moduły z zaufanych źródeł. Każdy dodatkowy moduł to potencjalny spadek wydajności i nowe wektory ataku. Utrzymuj aktualizacje i usuwaj nieużywane rozszerzenia. Sprawdzaj kompatybilność z wersją PrestaShop na środowisku testowym przed wdrożeniem.

Kopie zapasowe i plan przywracania

Wdroż cykliczne backupy: pliki i baza, przynajmniej codziennie przy aktywnej sprzedaży. Przechowuj kopie poza serwerem produkcyjnym (np. S3/Wasabi) i szyfruj je. Regularnie wykonuj test odtwarzania na środowisku testowym, aby zweryfikować spójność danych i czas RTO/RPO.

Logowanie i monitoring

Włącz logi aplikacyjne i serwerowe, agreguj je w centralnym narzędziu (ELK, Loki). Monitoruj metryki (CPU, RAM, I/O, czas odpowiedzi), błędy 4xx/5xx, porzucone koszyki, konwersje. Ustaw alerty proaktywne — szybka reakcja ogranicza straty sprzedażowe.

SEO i przyjazne adresy

Aktywuj przyjazne URL-e i zadbaj o spójne przekierowania 301 z www/non-www oraz HTTP→HTTPS. Skonfiguruj mapę strony, robots.txt i dane strukturalne. Uzupełnij meta tytuły/opisy, atrybuty alt, breadcrumbs i mikroformaty produktów (cena, dostępność), by zwiększyć widoczność.

Skalowanie i wysoka dostępność

Dla rosnącego ruchu rozważ podział na warstwy: load balancer, wiele instancji aplikacji, zewnętrzna baza danych i Redis dla sesji. Pliki statyczne przenieś na obiektową przestrzeń (S3) + CDN. Wprowadź rolling deployments i nieprzerywalne aktualizacje w oknach serwisowych.

Bezpieczeństwo płatności i zgodność

Pracuj z dostawcami płatności zgodnymi z PCI DSS. Ogranicz przechowywanie danych wrażliwych — używaj tokenizacji. Aktualizuj biblioteki i moduły płatności, kontroluj webhooks i podpisy żądań, utrzymuj listę dozwolonych adresów IP.

Zarządzanie wersjami i wdrażanie

Traktuj motyw potomny i nadpisania jako kod źródłowy. Wersjonuj w Git, automatyzuj pipeline: testy, budowanie zasobów, deployment. Przed aktualizacjami rób snapshot i testuj na stagingu. Zadbaj o spójność środowisk (te same wersje PHP, rozszerzeń i ustawień).

Aktualizacje rdzenia i motywów

Regularnie aktualizuj rdzeń sklepu i motywy, zaczynając od środowiska testowego. Sprawdzaj changelogi i kompatybilność z Twoimi modułami. Po aktualizacji uruchom ponownie cache, przebuduj indeksy i zweryfikuj kluczowe ścieżki zakupowe (koszyk, płatność, e-maile).

Obsługa wielu sklepów i lokalizacji

Jeśli planujesz multistore, zaprojektuj strukturę domen/subdomen, wspólne lub rozdzielne katalogi produktów, waluty, języki i podatki. Uwzględnij politykę wysyłek i dostępność asortymentu w różnych regionach, a także odrębne polityki cenowe i promocje.

Dane i integracje zewnętrzne

Synchronizuj ERP/WMS/PIM przez API lub importy harmonogramowane. Waliduj dane wejściowe, mapuj atrybuty produktów i warianty, weryfikuj stany magazynowe. Monitoruj kolejki integracyjne i stosuj mechanizmy retry oraz dead-letter dla błędów.

Wsparcie i dokumentacja

Utwórz wewnętrzny podręcznik operacyjny: procedury wdrożeń, odzyskiwania po awarii, eskalacji incydentów, kalendarz zadań cyklicznych. Dokumentuj wersje, konfiguracje i klucze API. Szkol personel z obsługi zamówień, zwrotów, reklamacji i edycji treści.

Najczęstsze problemy i ich diagnostyka

Białe ekrany po instalacji? Włącz tryb debug, sprawdź logi PHP i uprawnienia. Błędne style? Zregeneruj cache i miniatury, sprawdź przepisywanie URL. Problemy z wysyłką maili? Zweryfikuj SMTP, rekordy DNS i blokady portów. Spadki wydajności? Oceń moduły, profiling zapytań, limity CPU oraz działanie CDN i cache.

Checklist wdrożenia produkcyjnego

  • SSL włączone i wymuszone, przekierowania 301 ustawione.
  • Folder /install usunięty, /admin przemianowany.
  • Kopie zapasowe zaplanowane i przetestowane.
  • Cache, CCC i kompresja aktywne, nagłówki dla statycznych zasobów ustawione.
  • SMTP skonfigurowane, SPF/DKIM/DMARC poprawne.
  • CRON działa, zadania rozłożone w czasie.
  • Moduły zaktualizowane, zbędne usunięte.
  • Uprawnienia plików zredukowane do minimum.
  • Mapa strony i robots.txt poprawnie skonfigurowane.
  • Testy procesu zakupowego zakończone powodzeniem.

Po wdrożeniu monitoruj sklep przez pierwsze 24–72 godziny: czasy odpowiedzi, logi błędów, e-maile, płatności, indeksację. Dzięki temu szybko wyłapiesz niuanse konfiguracji i zapewnisz klientom płynne zakupy od pierwszego dnia.

< Powrót

Zapisz się do newslettera


Zadzwoń Napisz