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

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

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 возникали ошибки.

      Примечание

      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    

  • Установлены следующие расширения PHP (обязательные расширения отмечены знаком *):

    Поддержка MySQL* mysqli ИЛИ pdo_mysql Для хранения данных магазина в базе данных.
    Поддержка сетевых запросов* curl, sockets Для правильной работы некоторых способов оплаты и доставки, для отправки электронной почты по SMTP и для обновления магазина.
    Графическая библиотека* imagick ИЛИ gd Для создания иконок (уменьшенных версий) изображений товаров. Если у вас нет графической библиотеки, вы не сможете загружать изображения для товаров.
    Поддержка EXIF* exif Чтобы правильно разворачивать иконки, созданные из изображений, снятых в горизонтальном режиме.
    Поддержка JSON* json Для правильной работы ядра CS-Cart и Multi-Vendor.
    Поддержка XML* xml, libxml, SimpleXML, dom, xmlreader, xmlwriter Для правильной работы ядра CS-Cart и Multi-Vendor.
    Поддержка SOAP* soap Для правильной работы некоторых способов доставки с расчётом тарифов в реальном времени.
    Поддержка многобайтовых строк* mbstring ИЛИ iconv Для правильной работы с многобайтовыми строками (например, со строками с кириллицей).
    Поддержка проверки типа символов* ctype Для проверки, относится ли символ или строка к определённому классу, заданному текущей локалью.
    Поддержка архивов GZIP* Phar Для распаковки архивов TAR и GZIP. Иначе вы не сможете устанавливать модули и темы из таких архивов.
    Поддержка архивов ZIP* zip Для распаковки архивов ZIP. Иначе вы не сможете обновлять магазин и устанавливать модули и темы из таких архивов.
    Поддержка информации о файле* fileinfo Для правильного определения типа файла.
    Поддержка шифрования* openssl Для правильной работы некоторых способов оплаты и для взаимодействия со сторонними сервисами.
    Поддержка FTP ftp Для назначения правильных прав доступа к файлам при установке и обновлении магазина, а также при установке модулей и тем. На сервере должен быть установлен FTP-сервер.
    Бэкенд сервера и кэша redis ИЛИ sqlite3 ИЛИ xcache ИЛИ apcu ИЛИ apc Чтобы хранить кэш и сессии PHP в высокопроизводительном хранилище, а не на диске.

    Примечания:

    • Мы рекомендуем Imagick, а не GD, так как производительность и качество изображений после обработки у него лучше. Использование GD может привести к падению магазина при загрузке больших изображений для товаров из-за нехватки памяти.

      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.


  • При использовании веб-сервера 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 Мб