Требования к серверному программному обеспечению
Apache (рекомендуется) работа на этом сервере оптимальна.
Для «1С-Битрикс: Управление сайтом» (не для «Битрикс24 в коробке») возможно использование:
IIS (Internet Information Server)(возможна установка) – работа продукта возможна с IIS 5, IIS 6 и IIS 7 и 7.5. Требуется дополнительная настройка для корректной работы с продуктом.
Eserv (возможна установка) – продукт тестировался для совместной работы с веб-сервером.PHP
Для работы продукта требуется наличие PHP версии не ниже 7.2.0 С 1 августа 2020 года. Рекомендуемая версия PHP — 7.4.0 и выше. . Выбор PHP-версии зависит от требований, предъявляемых вашим хостинг-провайдером, либо от установленной версии PHP на локальном компьютере. Рекомендуется использовать самую последнюю стабильную версию PHP, чтобы исключить возможность появления ошибок, связанных с PHP, а также для большей безопасности проекта на сервере.
Для корректной работы продукта требуется наличие следующих расширений PHP:
- GD – библиотека для работы с изображениями, требуется для построения графиков и диаграмм для модулей статистики, рекламы, техподдержки. Используется для работы механизма CAPTCHA.
- PHP XML – используется для работы системы обновлений. Библиотека по умолчанию включена в стандартной установке PHP. Для версии под Windows — поддержка встроенная.
- FreeType – библиотека необходима для корректной работы механизма CAPTCHA.
- Поддержка регулярных выражений (POSIX и Perl-compatible) – необходима для корректной работы внутренних механизмов продукта.
- Zlib compression – библиотека компрессии используется при работе системы обновлений для уменьшения количества передаваемых данных от сервера к клиенту.
- PHP openssl – библиотека используется для упаковки (шифрования) и распаковки (расшифровывания) данных.
- PHP-акселератор – крайне рекомендуется наличие PHP-акселератора, например OPcache или XCache, для значительного ускорения работы PHP-приложений (рекомендуется OPcache, он доступен сразу «из коробки» в PHP v.5.5+).
Внимание: eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.
До версии 20.100.0 модуля main
Примечание: Для базы данных MySQL доступна кодировка UTF-8. Для корректной поддержки кодировки UTF-8 необходимо проверить, установлен ли в PHP модуль mbstring. Для этого в настройках PHP, в файле php.ini, должно быть:
mbstring.func_overload=2 mbstring.internal_encoding=UTF-8
Поддержка серверов баз данных
MySQL – минимальным техническим требованием является использование версии MySQL 5.6 С 30 июня 2019 года. . Рекомендуемая версия MySql — 5.7 и выше.
Для работы с СУБД MySQL требуется установленная поддержка MySQL для PHP.
Внимание! С 1 января 2017 года поддержка продуктов «1С-Битрикс» на Oracle Database и MS SQL Server стала ограниченной: клиенты не могут скачивать обновления продукта платформы и воспользоваться возможностями новых версий продукта.
Примечание: Кодировка MySQL utf8mb4 не поддерживается.
Настройки PHP
Для корректной работы продукта необходимо установить следующие параметры PHP:
-
memory_limit = 64M; Максимальный объем памяти в байтах, который разрешается использовать для работы PHP ядру продукта (в данном случае — 64 Мб).
- непосредственно в файле php.ini;
- из скрипта с помощью функции Такая строка добавляется в файле /bitrix/php_interface/dbconn.php в момент установки, значение задается пользователем. : ini_set(«memory_limit», «64M») ;
- в файле .htaccess с использованием директивы: php_value memory_limit 64M
- в файле httpd.conf с использованием директивы: php_admin_value memory_limit 64M
- используется веб-сервер Apache или совместимый с ним (IIS не является совместимым сервером);
- файлы .htaccess обрабатываются веб-сервером, т.е. в настройках веб-сервера (httpd.conf) установлена директива: AllowOverride All или другое значение, отличное от None ;
- PHP установлен как модуль Apache (в случае, если PHP работает как CGI, все необходимые значения следует учесть и установить при сборке PHP)
- upload_tmp_dir = < имя каталога Необходимо, чтобы указанный каталог существовал и на него были права на запись для пользователя, под которым работает веб-сервер. Параметр upload_tmp_dir может быть закомментирован в php.ini по умолчанию. >
- upload_max_filesize =
- В файле php.ini установить: session.use_trans_sid = 0
- В файле .htaccess установить: php_flag session.use_trans_sid off
Для демонстрационного сайта строка включена в указанный файл, требуется только раскомментировать ее.
Важно! C целью безопасности необходимо обязательно указывать отдельную папку хранения сессий для каждого пользователя хостинга.
Выбор ОС
Вендор рекомендует устанавливать продукты на Виртуальную машину BitrixVM или использовать веб-окружение BitrixEnv. Подробнее о них можно узнать в специальном курсе Виртуальная машина BitrixVM:
- Запуск виртуальной машины BitrixVM — «1C-Битрикс: Виртуальная машина» специально сконфигурирована для быстрого исполнения программных продуктов «1С-Битрикс»: разворачивается за минуты и сразу же готова к работе! На виртуальную машину можно не только установить ознакомительные версии продуктов «1С-Битрикс», но и перенести уже готовые проекты;
- Установка «1С-Битрикс: Веб-окружение» — Linux (BitrixEnv) — позволяет быстро и с минимальными затратами развернуть оптимальное окружение для работы продуктов и решений «1С-Битрикс» на Linux-платформе CentOS 6/7 (x86_64).
Необходимые настройки окружения при использовании других ОС описаны в главе Установка БУС/КП на другие окружения:
- Настройка окружения для SUSE Linux Enterprise Server 15;
- Настройка окружения для РЕД ОС 7.2;
- Настройка окружения для ALT 8 SP Server.
Изменение настроек PHP
Каждый владелец сайта рано или поздно сталкивается с необходимостью изменения настроек PHP. Например, нужно изменить кодировку сайта, максимальный размер загружаемых файлов, время выполнения скрипта или объем доступной памяти. Для изменения таких параметров нужно прописать новые или изменить имеющиеся параметры в специальных файлах .htaccess, php.ini или самом скрипте. Рассмотрим самые распространенные параметры, полный список изменяемых опций доступен в официальной документации https://www.php.net/manual/ru/ini.list.php
default_charset
С помощью этого параметра можно задать кодировку сайта. Наиболее распространенные значения utf-8 (обычно используется по умолчанию) и cp1251 (чаще всего используется устаревшими сайтами).
display_errors
Параметр предназначен для настройки вывода ошибок. При значении on включает вывод ошибок, off соответственно выключает.
upload_max_filesize
Задает максимальный размер загружаемого файла. Обычно данный параметр задают вместе с post_max_size и memory_limit, так как если указанные директивы будут иметь значения ниже upload_max_filesize, то ошибка при загрузке файлов сохранится.
post_max_size
Определяет максимально допустимый размер данных, передаваемых в POST запросе. Этот параметр должен быть выше или равен значению upload_max_filesize.
memory_limit
Задает лимит оперативной памяти для скрипта. Мы не рекомендуем устанавливать высокие значения этого параметра для всего сайта, так как можно пропустить бесконтрольный рост использования оперативной памяти и ошибки в работе сайта.
При получении ошибки «out of memory» рекомендуем первостепенно выполнить оптимизацию скрипта с целью снижения использования памяти и только при невозможности этого, расширить объем доступной памяти для отдельного скрипта с помощью функции ini_set.
max_execution_time
Позволяет настроить максимальное время выполнения скрипта. Если какой-то скрипт не успевает выполняться за установленный срок, пользователь увидит ошибку «maximum execution time of 60 seconds exceeded».
Не рекомендуем устанавливать высокие значения этого параметра для всего сайта, так как это может привести к скоплению долгих запросов и полному зависанию сайта. При необходимости долгого выполнения отдельных запросов, оптимизируйте код сайта с целью увеличения скорости его выполнения, либо расширяйте лимит с помощью ini_set для отдельных запросов.
max_input_vars
Директива задает максимальное число входных переменных в одном запросе.
mbstring.func_overload
Директива предназначена для замены однобайтовых функций двухбайтовыми (например strlen на mb_strlen), без внесения изменений в код. Чаще всего используется в устаревших версиях Битрикс.
Стоит отметить, что с PHP 7.2 параметр объявлен устаревшим, в 8.0 был полностью удален.
mbstring.internal_encoding
Обычно, этот параметр используется совместно с mbstring.func_overload для установки кодировки двухбайтовых функций. Это устаревшая возможность, вместо этого разработчики рекомендуют использовать default_charset.
Изменение параметров PHP через файл .htaccess

Это основной способ изменения параметров PHP для нашего хостинга. Для изменения нужных параметров используйте php_value в файле .htaccess (рекомендуем вносить изменения в файл, который размещен в корневом каталоге сайта). Этим способом можно менять значения директив с пометками PHP_INI_ALL и PHP_INI_PERDIR.
php_value default_charset utf-8 php_value display_errors 1 php_value post_max_size 512M php_value upload_max_filesize 512M php_value memory_limit 512M php_value max_execution_time 600 php_value max_input_vars 10000
Указанные изменения распространяются на все подкаталоги, в которых расположен файл .htaccess. Получение 500 ошибки при входе на сайт, означает допущенную ошибку при редактировании файла.
Изменение параметров PHP через скрипты

Этот способ подходит для любого хостинга. Изменение параметров PHP происходит с помощью функции ini_set в скриптах. Таким способом можно поменять директивы с пометками PHP_INI_USER и PHP_INI_ALL из официальной документации.
ini_set('default_charset', 'utf-8'); ini_set('display_errors', '1'); ini_set('post_max_size', '512M'); ini_set('upload_max_filesize', '512M'); ini_set('memory_limit', '512M'); ini_set('max_execution_time', '600'); ini_set('max_input_vars', '10000');
Вариант изменения параметров PHP через скрипты очень удобен, так как можно расширять ресурсы оперативной памяти, времени выполнения, объем загружаемых файлов для отдельных сложных запросов, а для всего сайта будут использоваться стандартные параметры.
Изменение параметров PHP через php.ini

Вариант изменения параметров PHP посредством файла php.ini преимущественно применим для владельцев собственных серверов. Через php.ini можно изменить абсолютно любой параметр PHP (в том числе mbstring для Битрикс).
default_charset = utf-8 display_errors = 1 post_max_size = 512M upload_max_filesize = 512M memory_limit = 512M max_execution_time = 600 max_input_vars = 10000
Настройки PHP 1С-Битрикс (1C-Bitrix) настроить хостинг для работы

![]()
- включить для www-домена (сайта) режим php as cgi;
- перейти в Менеджер файлов, открыть папку php-bin;
- поставить для файла php.ini права 644;
- открыть файл php.ini и добавить в него следующие строки:
Настройка сервера Битрикс Веб окружения под требования модулей
Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
Наши решения используют дополнительные библиотеки а также требуют дополнительной настройки сервера под высокие нагрузки, чтобы сайт работал стабильно. Например при запуске выгрузок в многопоточном режиме или же каталогов большого размера. Что же надо сделать чтобы настроить типовое окружение Битрикс под ОС Centos 7 для бесперебойной работы наших модулей?
Давайте для начала перечислим конфигурационные файлы в которых проводиться изменение основных настроек сервера под управлением ОС Centos 7 и установленным окружением 1С-Битрикс.
Главным конфигурационным файлом по умолчанию является /etc/rc.d/init.d/bvat — это скрипт автоматической настройки в нем прописаны параметры используемые веб окружением Битрикс для автоматической настройки под имеющиеся физические ресурсы сервера. Данный скрипт удобен в использовании и позволяет в полностью автоматическом режиме применить настройки по умолчанию, задействовав отведенные серверу ресурсы.
Кроме него есть и конфигурационный файл сервера баз данных — /etc/mysql/conf.d/bvat.cnf в котором хранятся переменные сервера MySQL, перечислим рекомендуемые значения при наличии на вашем сервере 64 гигабайт физической памяти:
# memory: 65536MB
[mysqld]
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 16M
innodb_buffer_pool_size = 18432M
max_connections = 205
table_open_cache = 80392
thread_cache_size = 512
max_heap_table_size = 256M
tmp_table_size = 256M
key_buffer_size = 256M
join_buffer_size = 32M
sort_buffer_size = 32M
bulk_insert_buffer_size = 2M
myisam_sort_buffer_size = 32M
Но как все сделанное человеком, он не может настроить ваш сервер идеально, для тонкой настройки под конкретные рекомендации нужно использовать ручное управление конфигурационными файлами. Но часто под несложные проекты настраиваемых им рекомендуемых параметров MySQL, PHP и Apache в зависимости от ресурсов сервера бывает вполне достаточно, и если у вас не возникает никаких проблем, мы бы порекомендовали не отключать автоматическое конфигурирование.
Но в случаях если возникает необходимость изменить дефолтные настройки которые не подходят данный скрипт можно поправить или же вообще отключить автоматическую настройку сервера. Например, наша практика показывает, что при большом размере базы данных, настройки, сделанные через bvat, могут приводить к падению служб с ошибкой «out of memory» или отказом в обслуживании.
Разработчики BitrixVM предусмотрели возможность изменения настроек без отключения скрипта автонастройки bvat. Для этого необходимо внести изменения в специальные конфигурационные файлы (в случае их отсутствия надо создать соответсвующие по указанным путям):
/etc/php.d/bitrixenv.ini — файл хранящий основные настройки сервера
/etc/httpd/bx/conf/prefork.conf — файл хранящий основные параметры сервера по выделению памяти
/etc/php.d/z_bx_custom.ini — файл хранящий дополнительные настройки PHP
/etc/httpd/bx/custom/z_bx_custom.conf — файл хранящий дополнительные настройки Apache
/etc/mysql/conf.d/z_bx_custom.cnf — файл хранящий дополнительные настройки MySQL
/etc/nginx/bx/conf/z_bx_custom.conf — файл хранящий дополнительные настройки nginx
/etc/nginx/bx/conf/im_settings.conf — файл хранящий настройки nginx-push-stream-module
Теперь перечислим основные конфигурационные файлы
/etc/php.ini — файл хранящий настройки PHP
/etc/my.cnf — файл хранящий настройки сервера базы данных MySQL
/etc/nginx/nginx.conf — файл хранящий настройки nginx
дополнительные используемые конфигурационные файлы
/etc/php.d/opcache.ini — файл хранящий настройки используемого акселератора opcache при условии его использования на сервере, кстати очень советуем его использовать так как он ускоряет выполнение PHP путем сохранения скомпилированного кода в памяти, таким образом исключается постоянное выполнение PHP сценария при каждом обращении к коду. Подобное кэширование и оптимизация работы PHP серьезно снижает нагрузку на ресурсы вашего сервера и поднимает его общую производительность.
кроме того есть еще один конфигурационный файл в котором можно переопределить локальные значения для конкретного сайта — /home/bitrix/www/.htaccess или же в доп сайтах /home/bitrix/ext_www/site1.ru/.htaccess и значения переменных PHP указанные в нем будут самые приоритетные в рамках конкретного сайта. Поэтому один из самых простых способов настройки — простая правка файла .htaccess через текстовый редактор файлового менеджера БУС.
Теперь перейдем к установке и настройке дополнительных библиотек, которые используют наши решения, но которые не поставляются в стандартном пакете веб окружения Битрикса. Кстати, если у вас используется не рекомендованное ПО, то заранее хочется посоветовать перейти на использование окружения поставляемого Битриксом, поверьте опыту сэкономите массу нервов и средств на настройке и обслуживании вашего сервера.
Рассматриваем вариант последовательного ввода команд при подключении к серверу по SSH
Установка библиотеки curl в для VMBitrix (CentOS)
yum install curl
echo «extension=curl.so» > /etc/php.d/curl.ini
apachectl graceful
Установка библиотеки xmlwriter в для VMBitrix (CentOS)
yum install php-xml
echo «extension=xmlwriter.so» > /etc/php.d/xmlwriter.ini
apachectl graceful
Установка библиотеки optipng jpegoptim в для VMBitrix (CentOS)
yum -y install optipng jpegoptim
После инсталяции библиотек надо выполнить его полный рестарт
либо же для применения настроек конкретного сервиса, перезагрузить конкретную службу
рестарт апача — systemctl restart httpd.service
рестарт базы данных — service mysqld restart
рестарт nginx — service nginx restart
В данной статье мы постарались собрать максимум конкретики для владельцев сайтов имеющих базовую подготовку в конфигурировании серверов.