Системные требования для маркетплейса
29.04.2024
Системные требования:
- Хостинг с операционной системой Linux
- PHP 7.4-8.1 (с установленными расширениями: json, curl, gd, mysqli, imagick, openssl, ZIP, zlib, xmlreader, opcache, SimpleXML, fileinfo, mbstring, iconv, soap, Phar, ftp, xml, libxml, dom, xmlwriter, sockets, exif, date). Не должен использоваться Suhosin patch
- MySQL 5.7.+ с поддержкой InnoDB (напр.: 5.7.21) или MariaDB 10.+ (напр.: 10.2). Убедитесь, что не включен strict mode
- Веб-сервер Apache 2.4.x с включенными: mod_rewrite, mod_headers, mod_gzip, mod_deflate. Должен быть выключен: mod_security
- На сервере должны быть включены директивы PHP: file_uploads и allow_url_fopen. Должна быть выключена: safe_mode
- Для .htaccess должны быть разрешены следующие директивы: Deny, Allow, Options, Order, AddHandler, RewriteEngine, RewriteBase, RewriteCond, RewriteRule
* Если используете виртуальный хостинг Бегет, то из всего перечисленного вам нужно только выбрать версию PHP
Дополнительно для VDS/VPS:
- Ubuntu не ниже 20.04 (тестировалось на 22.04) версии
- Обязательные настройки
- Не должны быть включены: SELinux и AppArmor
- Жесткий диск: 10 Гб
Процессор: одноядерный
Оперативная память: 1Гб
В админке можно в любой момент посмотреть настройки сервера и проверить все ли необходимые библиотеки подключены на хостинге.
Админка > Настройки > Системная информация
- Рекомендуемая версия PHP: 7.4
INI PARAMS:
Значения параметров PHP как правило ограничены возможностями вашего хостинга, соответственно выставите максимально возможные!
Расшифровка:
- memory_limit - Максимальный объем памяти, который разрешается использовать скрипту
- post_max_size - Максимально допустимый размер данных, отправляемых методом POST
- max_input_time - Максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные
- max_file_uploads - Максимально разрешенное количество одновременно закачиваемых файлов
- max_execution_time - Максимальное время в секундах, в течение которого скрипт должен полностью загрузиться
- upload_max_filesize - Максимальный размер закачиваемого файла
- max_input_vars - Сколько входных переменных может быть принято в одном запросе
УСТАНОВЛЕННЫЕ НА СЕРВЕРЕ РАСШИРЕНИЯ:
и проверка все ли необходимые расширения (выделены жирным) из них подключены:
Расширения Memcache или Memcached нужны только в том случае, если планируете использовать кэширование запросов к базе данных.
Для VDS:
Дополнительные настройки сервера на примере VDS на Ubuntu 22.04 с Hestia CP:
1) убедитесь, что версия PHP на сайте 7.4
2) для доступа к сессии на папку /home/admin/tmp/ или /home/user/tmp/ выставить права 777
3) на корневую папку сайта и все вложенные в нее папки и файлы права должны быть не менее 755, владелец файлов должен совпадать с владельцем, от которого работает веб-сервер.
4) в настройках нужной версии PHP на сервере выставите системные параметры (INI PARAMS) максимально доступные на вашем сервере (вместо дефолтных):
И отключите вывод уведомлений:
- display_errors = off
5) в расширенных настройках PHP на сервере выставите параметры сессии не ниже:
- session.gc_divisor = 1000000
- session.gc_maxlifetime = 28800
- не забыв раскомментировать: max_input_vars = 120000
6) увеличьте лимиты по времени в настройках apache2:
- Timeout 3600
7) также (если на сервере не подключен mod_php, соответствующий вашей версии PHP) ошибку может давать использование php_value и php_flag - нужно закомментировать эти строки в .htaccess
8) лог ошибок находится в /var/log/apache2/domains/
9) если планируется использование кэширования запросов к БД, то помимо расширения Memcached потребуется установка и сервиса Мemcached