Системные требования

Серверное окружение

CS-Cart разработан с учётом большинства возможных конфигураций сервера, от виртуальных хостингов до выделенных серверов. Для работы CS-Cart требуется два основных компонента:

  • PHP версии 5.6 или 7. CS-Cart поддерживает SAPI mod_php, FPM, FastCGI. Мы рекомендуем:

    • PHP 5.6 для CS-Cart 4.3.1 – 4.3.6.
    • PHP 7.0 для CS-Cart/Multi-Vendor 4.3.6 – 4.5.2. Более ранние версии не поддерживают PHP 7.
    • PHP 7.1 для CS-Cart/Multi-Vendor 4.6.1 и более поздних версий. В более ранних версиях на PHP 7.1 возникали ошибки.

    Рекомендуем не переходить на PHP 5.6, если вы использовали PHP 7.0 и более новые версии для своего магазина. Это может привести к тому, что пользователи не смогут войти в систему.

    Примечание

    CS-Cart/Multi-Vendor 4.3.x – 4.8.x также поддерживают PHP 5.3.6 – 5.5, хотя мы их не рекомендуем. Поддержка PHP 7.2 впервые появилась в CS-Cart 4.7.2.

  • MySQL версии 4.1 или выше с поддержкой расширения MySQLi или pdo_mysql. Также поддерживаются MariaDB 5.5+ и PerconaServer 5.5+.

Рекомендуем использовать на сервере Unix-подобную операционную систему (например, FreeBSD, Linux или OS X). Эти системы хорошо масштабируются и обеспечивают высокий уровень безопасности и производительности. Поддерживаются и 64-битные, и 32-битные системы, но рекомендуем мы 64-битные: помимо ряда других преимуществ, они не ограничивают максимальный размер оперативной памяти 4 гигабайтами.

Примечание

CS-Cart совместим почти с любым сервером, который поддерживает PHP и MySQL. Однако для стабильной работы магазина мы рекомендуем использовать Apache или Nginx в качестве веб-сервера.

Требования к настройкам сервера

  • Для Linux: отключены SELinux и AppArmor.

  • Отключена директива PHP safe_mode.

  • Включены директивы PHP file_uploads и allow_url_fopen.

  • Для PHP 5.3: отключены директивы PHP magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase (если вы используете PHP 5.4 и выше, не обращайте внимание на это требование).

  • На сервере разрешено использовать:

    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    
  • Установлен модуль Imagick или GD; они нужны для работы с изображениями: создания иконок, добавления водяных знаков, и т.д. GD доступнее и есть на всех хостингах. Но мы рекомендуем Imagick, так как производительность и качество изображений после обработки у Imagick лучше.

    • Imagick — это модуль PECL. В официальной документации PHP есть инструкция по установке Imagick. На сервере должны быть установлены ImageMagick версии 6.5.3-10 или выше, а также PHP версии 5.4.0 или выше.

      Важно

      Настоятельно рекомендуем использовать версию ImageMagick 6.9.3-10 или выше; она содержит исправление критической уязвимости. ImageMagick 7 поддерживается начиная с CS-Cart 4.7.2.

    • GD идет вместе с PHP, но PHP должен быть собран с флагом --with-gd. В официальной документации PHP есть инструкция по установке GD. Убедитесь, что ваша конфигурация GD поддерживает библиотеку шрифтов FreeType.

  • Установлен модуль cURL; он нужен для поддержки безопасного соединения, а также для работы некоторых автоматических способов оплаты и доставки.

  • Включено расширение mbstring; оно необходимо для корректной работы с многобайтными строками (например, со строками, которые содержат кириллицу). Без этого расширения могут неправильно работать некоторые модули и функции ядра CS-Cart.

  • Включен модуль Phar (встроен в PHP, начиная с версии 5.3.0).

  • Включен модуль ZipArchive (встроен в PHP, начиная с версии v5.2.0).

  • При использовании веб-сервера Apache:

    • включен mod_rewrite (для работы SEO);

    • включен mod_headers (для работы CORS и режима виджета);

    • включен mod_ssl (для работы SSL);

    • выключен mod_security; если не хотите его полностью отключать, настройте его так, как указано в этом файле;

    • в файле .htaccess разрешены следующие директивы:

      DirectoryIndex Deny Allow Options Order
      AddHandler RewriteEngine RewriteBase RewriteCond RewriteRule
  • Если PHP собран с расширением Suhosin, то настройте его в файле 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 — это расширение PHP, предназначенное для защиты сервера. Однако, использование Suhosin может привести к различным проблемам в CS-Cart.

Рекомендации от команды CS-Cart

  • Используйте не виртуальный хостинг, а выделенный сервер (можно виртуальный); так будет лучше работать установка обновлений CS-Cart.
  • Установите и включите модуль PHP Openssl, чтобы генерировать более защищённые ключи сессий.
  • Установите Redis или APCu и используйте одно из этих решений в качестве cache_backend в CS-Cart.
  • Установите расширение OPcache.
  • Установите модуль Apache mod_deflate.

Список совместимых хостингов

Требования, приведенные выше, довольно типичные. Многие хостинговые компании смогут предложить вам подходящий вариант. Если у вас возникли сложности с выбором, можете обратиться к нашему списку совместимых хостингов (на английском языке).

Требования к аппаратному обеспечению сервера

Требования к аппаратному обеспечению не постоянные, а зависят от многих факторов. Чем больше количество пользователей, товаров и возможностей интернет-магазина, тем более производительный сервер вам потребуется.

Ниже дан пример сервера, которого будет достаточно для 50 посетителей в час:

Жёсткий диск 10 Гб
Процессор Одноядерный процессор с тактовой частотой 2.4 ГГц
Оперативная память 1024 Мб