Wymagania systemowe

Środowisko webowe

Multi-Vendor/CS-Cart został tak zaprojektowany że współpracuje z niemal wszystkimi serwerami, od wynajmowanych hostingów do dedykowanych serwerów.

Istnieją dwa główne wymagania do działania Multi-Vendor/CS-Cart:

  • Wersja PHP 5.3.6, 5.4, 5.5, 5.6, 7 lub 8. Multi-Vendor/CS-Cart wspiera SAPI mod_php, FPM, FastCGI. Zalecamy:

    • PHP 5.6 dla Multi-Vendor/CS-Cart 4.3.1 - 4.3.6.

    • PHP 7.0 dla Multi-Vendor/CS-Cart 4.3.6 - 4.4.3. Wcześniejsze wersje nie wspierają PHP 7.

    • PHP 7.1 jest wspierane od Multi-Vendor/CS-Cart 4.6.1.

    • PHP 7.2 jest wspierane od Multi-Vendor/CS-Cart 4.7.2.

    • PHP 7.3 jest wspierane od Multi-Vendor/CS-Cart 4.11.1.

    • PHP 7.4 jest wspierane od Multi-Vendor/CS-Cart 4.12.1.

    • PHP 8.0 jest wspierane od Multi-Vendor/CS-Cart 4.15.1.

    • Zalecamy nie przełączać sklepu na PHP 5.6, jeżeli wcześniej używane było PHP 7.0 lub nowsze. To może doprowadzić do sytuacji w której użytkownicy nie będą mogli się zalogować.

  • MySQL wersja 4.1 lub wyższa (MySQLi lub pdo_mysql powinny działać poprawnie). Multi-Vendor/CS-Cart wspiera też MariaDB 5.5 lub wyższy, oraz PerconaServer 5.5 lub wyższy.

Zalecamy uniksowy system operacyjny dla serwera, taki jak FreeBSD, Linux, czy OS X. Systemy te są bezpieczniejsze, bardziej konfigurowalne i mają lepszą wydajność.

Multi-Vendor/CS-Cart wspiera niemal każdy serwer który obsługuje PHP and MySQL. Jednakże, zalecamy Apache lub Nginx jako najbardziej stabilne serwery dla twojego sklepu.

Konfiguracja serwera

  • SELinux i AppArmor powinny być wyłączone (na serwerze Linux).

  • safe_mode w PHP powinen być wyłączony.

  • file_uploads, allow_url_fopen w PHP powinny być wyłączone.

  • magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase w PHP powinny być wyłączone dla PHP 5.3 (nie wykonuj tego kroku, jeśli masz PHP 5.4 lub wyższe).

  • Następujące komendy PHP powinny być włączone.

    ini_set ftp_exec ftp_connect ftp_login ftp_get
    ftp_put ftp_nb_fput ftp_raw ftp_rawlist mysql_pconnect
    eva system exec shell_exec passthru
    escapeshellarg escapeshellcmd set_time_limit    
  • Następujące rozszerzenia PHP powinny być zainstalowane (wymagane rozszerzenia są zaznaczone *):

    Obsługa MySQL* Wymagane do przechowywania danych sklepu w bazie danych mysqli LUB pdo_mysql
    Obsługa zapytań sieciowych* Wymagane dla poprawnego funkcjonowania niektórych procesorów płatności (np. PayPal, Authorize Net, etc.), metod wysyłki obliczających koszty w czasie rzeczywistym (FedEx, UPS, DHL), wysyłania maili przez SMTP, oraz aktualizacji sklepu. curl, sockets
    Biblioteka do obsługi grafiki* Wymagane do tworzenia miniaturek zdjęć. Jeżeli biblioteka nie będzie zainstalowana, niemożliwe będzie dodawanie zdjęć do produktów. imagick OR gd
    Obsługa EXIF* Wymagane do odwracania miniaturek zdjęć, gdy sklep jest wyświetlany w orientacji landscape. exif
    Obsługa JSON* Wymagane dla poprawnego funkcjonowania CS-Cart i Multi-Vendor; niektóre podstawowe funkcjonalności systemu bazują na JSON. json
    Obsługa XML* Wymagane dla poprawnego funkcjonowania CS-Cart i Multi-Vendor; niektóre podstawowe funkcjonalności systemu bazują na XML. xml, libxml, SimpleXML, dom, xmlreader, xmlwriter
    Obsługa SOAP* Wymagane do poprawnej obsługi niektórych metod wysyłki (na przykład Temando). soap
    Obsługa wielobajtowych stringów* Wymagane do poprawnej obsługi wielobajtowych stringów (na przykład zawierających znaki cyrylicy). mbstring, iconv
    Obsługa sprawdzania typów znaków* Wymagane do poprawnej obsługi znaków charakterystycznych dla danego języka. ctype
    Obsługa archiwów GZIP* Wymagane do rozpakowywania archiwów TAR i GZIP oraz instalacji dodatków/tematów graficznych zapisanych w tym formacie. Phar
    Obsługa archiwów ZIP* Wymagane do rozpakowywania archiwów ZIP. Bez obsługi plików ZIP niemożliwa będzie aktualizacja sklepu oraz instalacja niektórych dodatków/tematów graficznych. zip
    Obsługa informacji o plikach* Wymagane do poprawnego wykrywania typu pliku. fileinfo
    Kryptografia* Wymagane do poprawnego działania niektórych metod płatności (takich jak Servired czy SagePay) i do integracji z innymi serwisami (np. Facebook). openssl
    Wsparcie dla FTP Wymagane do ustawienia poprawnej praw dla plików i katalogów podczas instalacji sklepu lub dodatków. Serwer FTP musi być zainstalowany na serwerze. ftp
    Cache i sesje backendu Wymagane do przechowywania danych cache oraz sesji backend w szybkiej pamięci, zamiast na dysku. redis LUB sqlite3 LUB xcache LUB apcu LUB apc
  • Albo GD, albo Imagick jako rozszerzenie PHP muszą być zainstalowane. Te rozszerzenia działają na obrazach, tworząc miniaturki, nakładając znaki wodne itd. Zalecamy Imagick, ponieważ daje znacznie lepszą jakość obrazu.

    • GD znajduje się już w PHP, jednak PHP powinno zostać skompilowane z flagą --with-gd . Oficjalna dokumentacja PHP zawiera dokładne instrukcje instalacji GD. Upewnij się że instalujesz GD razem z biblioteką czcionek FreeType.

    • Imagick to rozszerzenie PECL. Oficjalna dokumentacja PHP zawiera dokładne instrukcje instalacji Imagick. ImageMagick w wersji 6.5.3-10+ i PHP 5.4.0+ musi być zainstalowany na serwerze.

      Zalecamy instalację wersji ImageMagick 6.9.3-10 lub wyższej, ponieważ zawiera poprawkę bezpieczeństwa. ImageMagick 7 jest wspierany dopiero od wersji Multi-Vendor/CS-Cart 4.7.2.

  • Jeśli używasz serwera Apache:

    • mod_rewrite powinno być aktywne (działanie SEO);

    • mod_headers powinno być aktywne (działanie CORS i trybu widżetu);

    • mod_ssl powinno być aktywne (działanie SSL);

    • mod_security powinno być nieaktywne; jeśli nie chcesz go wyłączać w całości, tu znajdziesz odpowiednie instrukcje;

    • plik .htaccess powinien zawierać taką strukturę:

      DirectoryIndex Deny Allow Options Order
      AddHandler RewriteEngine RewriteBase RewriteCond RewriteRule
  • Jeśli PHP zostało skomplilowane z rozszerzeniem Suhosin, skonfiguruj je w pliku php.ini:

    suhosin.memory_limit = 0
    suhosin.post.max_vars = 3000
    suhosin.get.max_totalname_length = 3000
    suhosin.session.encrypt = Off
    suhosin.session.cryptua = Off
    suhosin.cookie.cryptdocroot = Off
    suhosin.session.cryptdocroot = Off
    

    Suhosin to rozszerzenie bezpieczeństwa dla PHP. Może jednak powodować błędy w Multi-Vendor/CS-Cart.

Zalecenia architektów Multi-Vendor/CS-Cart

  • Użyj wirtualnego albo dedykowanego prywatnego serwera zamiast współdzielonych hostingów; umożliwia to szybsze aktualizowanie sklepu.
  • Zainstaluj i aktywuj Openssl dla PHP aby wygenerować lepiej zabezpieczone klucze bezpieczeństwa sesji.
  • Zainstaluj Redis lub APCu i ustaw je jako miejsce na dane pamięci cache w Multi-Vendor/CS-Cart.
  • Zainstaluj OPcache.
  • Zainstaluj mod do Apache mod_deflate.

Kompatybilne hostingi

Wymagania serwera webowego są raczej typowe. Tysiące hostingów je zapewnia. Jeśli nie możesz się zdecydować, polecamy hosting Progreso.pl lub Zahid.host.

Wymagania sprzętowe serwera.

Wymagania sprzętowe zależą od wielu czynników. Im więcej produktów, klientów i funkcjonalności ma sklep, tym mocniejszy serwer będzie potrzebny.

Oto przykładowe wymagania dla sklepu z 50 klientami na godzinę:

HDD 10 Gb
CPU Jeden rdzeń, 2.4 GHz
RAM 1024 Mb