Системные требования¶
Серверное окружение¶
CS-Cart разработан с учётом большинства возможных конфигураций сервера, от виртуальных хостингов до выделенных серверов. Для работы CS-Cart требуется два основных компонента:
PHP версии 7.1. CS-Cart поддерживает SAPI mod_php, FPM, FastCGI.
- PHP 7.1 поддерживается в CS-Cart 4.6.1 и выше;
- PHP 7.2 поддерживается в CS-Cart 4.7.2 и выше;
- PHP 7.3 поддерживается в CS-Cart 4.11.1 и выше;
- PHP 7.4 поддерживается в CS-Cart 4.12.1 и выше;
- PHP 8.0 поддерживается в CS-Cart 4.15.1 и выше.
Рекомендуем не переходить на ранние версии PHP, если вы использовали PHP 7.1 и более новые версии для своего магазина. Это может привести к тому, что пользователи не смогут войти в систему.
MySQL версии 4.1 или выше с поддержкой расширения MySQLi или pdo_mysql. Также поддерживаются MariaDB 5.5+ и PerconaServer 5.5+.
Рекомендуем использовать на сервере Unix-подобную операционную систему (например, FreeBSD, Linux или OS X). Эти системы хорошо масштабируются и обеспечивают высокий уровень безопасности и производительности. Поддерживаются и 64-битные, и 32-битные системы, но рекомендуем мы 64-битные: помимо ряда других преимуществ, они не ограничивают максимальный размер оперативной памяти 4 гигабайтами.
Ещё одно требование относится к версии вашей операционной ситсемы. Если в качестве дистрибутива Linux вы используете Ubuntu, то это должна быть Ubuntu 18.04 или более новой версии.
Примечание
CS-Cart совместим почти с любым сервером, который поддерживает PHP и MySQL. Однако для стабильной работы магазина мы рекомендуем использовать Apache или Nginx в качестве веб-сервера.
Требования к настройкам сервера¶
- Для Linux: отключены SELinux и AppArmor.
- Отключена директива PHP safe_mode.
- Включены директивы PHP file_uploads и allow_url_fopen.
На сервере разрешено использовать:
ini_set
ftp_exec
ftp_connect
ftp_login
ftp_get
ftp_put
ftp_nb_fput
ftp_raw
ftp_rawlist
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 в высокопроизводительном хранилище, а не на диске. Примечания:
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.
При использовании веб-сервера 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.
Отключите настройку MultiViews на сервере.
Включенная опция MultiViews может привести к появлению ошибок в случаях, когда URL-адрес (например, SEO-имени) соответствует структуре папок в корневом каталоге магазина.
Список совместимых хостингов¶
Требования, приведенные выше, довольно типичные. Многие хостинговые компании смогут предложить вам подходящий вариант. Если у вас возникли сложности с выбором, можете обратиться к нашему списку совместимых хостингов (на английском языке).
Требования к аппаратному обеспечению сервера¶
Требования к аппаратному обеспечению не постоянные, а зависят от многих факторов. Чем больше количество пользователей, товаров и возможностей интернет-магазина, тем более производительный сервер вам потребуется.
Ниже дан пример сервера, которого будет достаточно для 50 посетителей в час:
Жёсткий диск | 10 Гб |
---|---|
Процессор | Одноядерный процессор с тактовой частотой 2.4 ГГц |
Оперативная память | 1024 Мб |