Развёртывание 1С-Битрикс и Битрикс24 на российском серверном дистрибутиве — не экзотика, а осознанный выбор для госсектора, КИИ и компаний, которым важна сертификация и предсказуемая поддержка. В этой статье — что такое РЕД ОС 7.3, чем она удобна как платформа для Битрикс и как по шагам поднять рабочее окружение.
Почему РЕД ОС 7.3
РЕД ОС — российская операционная система на базе Linux. Редакция 7.3 — это долгоживущая (LTS) платформа с акцентом на стабильность и соответствие отечественным требованиям по защите информации.
Сертификация и доверие
- РЕД ОС 7.3 прошла проверку ФСТЭК России и соответствует требованиям по безопасности информации (в т.ч. уровни доверия к СЗИ, профиль ИТ.ОС.А4.ПЗ).
- Система зарегистрирована в Едином реестре российских программ Минцифры (реестр отечественного ПО).
- Сертифицированы не только ядро, но и ключевые компоненты: веб-серверы (nginx, httpd), интерпретаторы, средства контейнеризации и оркестрации — то, что как раз нужно для веб-приложений вроде Битрикс.
Для заказчиков это значит возможность использовать такую платформу в ГИС, КИИ, ИСПДн и других средах, где требуются сертифицированные ОС и учёт рекомендаций регуляторов.
Технические особенности 7.3
- Ядро Linux 5.10 (LTS) — поддержка современного железа при сохранении предсказуемого жизненного цикла.
- В репозиториях — nginx, Apache (httpd), MariaDB, PHP, Redis, инструменты для контейнеров и оркестрации.
- Встроенные механизмы защиты: SELinux, средства аудита, контроля целостности, шифрования — всё то, что ожидают от серверной ОС в регулируемых средах.
- Управление пакетами — dnf; сервисы — systemd. Привычная схема для администраторов RHEL/CentOS/ Rocky.
Итого: РЕД ОС 7.3 даёт знакомую по RHEL-экосистеме среду, но с российскими сертификатами и поддержкой вендора — удобный вариант для корпоративного и государственного сегмента, в том числе под 1С-Битрикс.
О чём эта инструкция
Ниже — пошаговая настройка сервера РЕД ОС 7.3 под продукты 1С-Битрикс24 (коробка) и 1С-Битрикс: Управление сайтом. Мы пройдём от установки ОС и пакетов до веб-серверов, БД, Redis, Push-server и первого запуска сайта.
Официальный курс 1С-Битрикс по этой теме: «Настройка окружения для РЕД ОС 7.3». Документация по веб-серверам РЕД ОС: база знаний — веб-серверы.
Важно: установка на «не-BitrixVM» окружения поддерживается вендором, но может иметь нюансы. Нужны базовые навыки администрирования Linux.
Содержание
1. Установка и настройка ОС
Исходим из того, что РЕД ОС 7.3 уже установлена (образ и установчик — на сайте вендора).
Минимум по железу: 2 ГБ RAM, 2 ядра CPU, 20 ГБ диска. Для продакшена лучше заложить больший запас.
Сразу после установки имеет смысл:
- Обновить систему:
sudo dnf update -y. - Задать hostname, если нужен:
sudo hostnamectl set-hostname bitrix.example.local. - Настроить сеть (статический IP — через конфиги в
/etc/sysconfig/network-scripts/или черезnmcli). - Убедиться, что репозитории доступны:
sudo dnf repolist.
Если включён SELinux, позже придётся учесть контексты и правила для каталогов сайта и веб-серверов — к этому вернёмся в разделе про сайт.
2. Установка пакетов
Всё ставим из репозиториев РЕД ОС — одной командой или по группам.
Веб-серверы и PHP:
sudo dnf install -y nginx httpd
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-pdo php-mbstring \
php-xml php-json php-gd php-curl php-zip php-intl php-bcmathБД и кэш:
sudo dnf install -y mariadb-server mariadb redisУтилиты и Node.js (для Push-server):
sudo dnf install -y git unzip wget curl nodejs npm3. Конфигурация NGINX
NGINX принимает трафик снаружи, отдаёт статику сам и передаёт запросы к PHP на Apache и на Push-server (sub/pub). По инструкции Битрикс задаются: рабочий каталог /var/www/html/bx-site, пользователь nginx, группа apache; подключаются conf.d/upstreams.conf (apache и push-server), maps-composite_settings.conf, maps.conf, http-add_header.conf, затем sites-available/default.conf (порт 80, включены bx_temp.conf и bitrix.conf) и sites-available/rtc.conf (проксирование на push для публикации). В upstream используются имена httpd и push; на одном сервере их прописывают в /etc/hosts: echo "127.0.0.1 push httpd" >> /etc/hosts. Развёртывание готовой структуры: rsync -av <каталог_nginx>/ /etc/nginx/, затем systemctl --now enable nginx.
Установка и старт:
sudo dnf install -y nginx
sudo systemctl enable nginx --nowНиже — минимальный пример виртуального хоста (например, /etc/nginx/conf.d/bitrix.conf), если настраиваете вручную:
server {
listen 80;
server_name your-site.local;
root /var/www/bitrix/html;
index index.php index.html;
access_log /var/log/nginx/bitrix_access.log;
error_log /var/log/nginx/bitrix_error.log;
location ~* \.(jpg|jpeg|gif|png|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
add_header Cache-Control "public, immutable";
try_files $uri =404;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
}Замените server_name и root на свои. Если используете PHP-FPM вместо Apache — замените proxy_pass на fastcgi_pass (сокет или 127.0.0.1:9000).
Проверка и применение:
sudo nginx -t
sudo systemctl reload nginxПодробнее в документации РЕД ОС по nginx.
4. Конфигурация PHP
Централизованное хранилище конфигов PHP на РЕД ОС: /etc/php.d/. Версию и список расширений сверяйте с требованиями Битрикс.
По инструкции Битрикс «Конфигурация PHP» минимально необходимо:
Модуль opcache (отдельный файл в /etc/php.d/, например 10-opcache.ini):
opcache.max_accelerated_files = 100000
opcache.revalidate_freq = 0Файл zx-bitrix.ini в /etc/php.d/:
display_errors = Off
error_reporting = E_ALL
error_log = '/var/log/php/error.log'
enable_dl = Off
short_open_tag = On
allow_url_fopen = On
mail.add_x_header = Off
expose_php = OffОбязательно для Битрикс: в одном из конфигов (например, в zx-bitrix.ini) должно быть задано mbstring.func_overload = 0.
Дополнительно при необходимости задают memory_limit, upload_max_filesize, post_max_size, max_execution_time, date.timezone и др. (в php.ini или в файлах /etc/php.d/).
Если используете PHP-FPM:
sudo systemctl enable php-fpm --nowСокет по умолчанию — /run/php-fpm/www.sock или порт 9000.
5. Конфигурация Apache (HTTPD)
По умолчанию Apache настроен на каталог /var/www/html. Для Битрикс при использовании Nginx как внешнего сервера нужно: изменить каталог сайта на /var/www/html/bx-site, перевести Apache на локальный порт (внешний трафик принимает Nginx) и использовать MPM prefork. По инструкции Битрикс «Конфигурация Apache» настраивают три файла:
conf.d/default.conf— в описании сайта указать каталог/var/www/html/bx-siteи порт виртуального хоста (8090).conf/httpd.conf— задатьListen 127.0.0.1:8090(илиListen 8090).conf.modules.d/00-mpm.conf— включить MPM prefork (а не event).
Установка и запуск:
sudo dnf install -y httpdПри развёртывании готовой конфигурации скопировать файлы в /etc/httpd/, например:
rsync -av <каталог_httpd>/ /etc/httpd/Создать каталог сайта и права:
sudo mkdir -p /var/www/html/bx-site
sudo chown -R apache:apache /var/www/html/bx-siteЗапустить сервис:
sudo systemctl --now enable httpdПодробнее: документация РЕД ОС по Apache.
6. Конфигурация MariaDB
По инструкции Битрикс для MariaDB задают:
- transaction-isolation — READ-COMMITTED (обязательно);
- innodb_flush_method — O_DIRECT (рекомендуется);
- innodb_flush_log_at_trx_commit — 2 (рекомендуется).
Конфигурационные файлы размещают в /etc/my.cnf.d/ (отдельный файл с секцией [mysqld]).
Установка и развёртывание конфигурации:
sudo dnf install -y mariadb-server mariadbПри развёртывании готовой конфигурации:
rsync -av <каталог_my.cnf.d>/ /etc/my.cnf.d/Запуск сервиса:
sudo systemctl --now enable mariadb
sudo mysql_secure_installationВ консоли MySQL создайте БД и пользователя для Битрикс. Ниже — пример с именами по умолчанию; в разделе 9. Конфигурация сайта приведён вариант из инструкции Битрикс (БД portal, пользователь bitrix):
CREATE DATABASE bitrix_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bitrix_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON bitrix_db.* TO 'bitrix_user'@'localhost';
FLUSH PRIVILEGES;Для нагруженных стендов позже можно подправить innodb_buffer_pool_size и другие параметры.
7. Конфигурация Redis
Redis нужен для работы Push-сервера (и при необходимости для кэша/сессий Битрикс). По инструкции Битрикс выполняют:
- Включить файловый сокет для работы (unix socket).
- Отключить сброс данных на диск (для Push-сервера не требуется): отключить RDB-снимки (
save "") и AOF (appendonly no). - Установить группу пользователя redis в apache (чтобы Push-сервер имел доступ к сокету).
Конфигурационные файлы размещают в /etc/redis/.
Установка и развёртывание конфигурации:
sudo dnf install -y redisПри развёртывании готовой конфигурации:
rsync -av <каталог_redis>/ /etc/redis/Группа пользователя и права:
sudo usermod -g apache redis
sudo chown root:apache /etc/redis/ /var/log/redis/
[[ ! -d /etc/systemd/system/redis.service.d ]] && sudo mkdir -p /etc/systemd/system/redis.service.d
echo -e '[Service]\nGroup=apache' | sudo tee /etc/systemd/system/redis.service.d/custom.conf
sudo systemctl daemon-reloadЗапуск сервиса:
sudo systemctl --now enable redisВ конфиге должны быть: bind 127.0.0.1 (доступ только с localhost), сокет (например unixsocket /tmp/redis.sock). В настройках Битрикс и Push-сервера укажите хост 127.0.0.1 и порт 6379 или путь к сокету.
8. Конфигурация Push-server
Push-server на Node.js нужен для мгновенных уведомлений и реального времени в Битрикс24 (чаты, оповещения). Ниже — настройка в соответствии с официальной инструкцией 1С-Битрикс.
Схема работы
Nginx проксирует запросы на push-сервис выбранного типа. Запросы получения сообщений (sub) — публичные, идут с портов 80/443. Запросы публикации (pub) — только с внутреннего адреса сервера (8895).
| nginx: 0.0.0.0:80 | -> /bitrix/sub | /bitrix/subws -> | node server.js --config push-server-sub-80XX.json |
| nginx: 127.0.0.1:8895 | -> /bitrix/pub -> | node server.js --config push-server-pub-90XX.json |Процессы Node.js делятся на два типа:
- Sub — подключение пользователя к каналу и получение сообщений. Слушают порты 8010–8015 (конфиги
push-server-sub-8010.json…push-server-sub-8015.json). - Pub — отправка сообщения в канал. Слушают порты 9010–9011 (конфиги
push-server-pub-9010.json,push-server-pub-9011.json).
Требования
- nodejs и npm
- архив сервиса push-server-0.3.0.tgz (скачать с https://repo.bitrix24.tech/vm/push-server-0.3.0.tgz)
- работающий Redis (для хранения сообщений и состояния)
Шаг 1. Скачать и установить архив
su -
cd /opt
wget https://repo.bitrix24.tech/vm/push-server-0.3.0.tgz
npm install --omit=dev ./push-server-0.3.0.tgzЕсли репозиторий недоступен — положите архив в /opt и выполните:
su -
cd /opt
npm install --production ./push-server-0.3.0.tgzУстановка заканчивается строкой вида:
added 1 package in 2m
16 packages are looking for funding
run `npm fund` for detailsШаг 2. Симлинк и копирование файлов сервиса
su -
ln -sf /opt/node_modules/push-server/etc/push-server /etc/push-server
cd /opt/node_modules/push-server
cp etc/init.d/push-server-multi /usr/local/bin/push-server-multi
cp etc/sysconfig/push-server-multi /etc/sysconfig/push-server-multi
cp etc/push-server/push-server.service /etc/systemd/system/
ln -sf /opt/node_modules/push-server /opt/push-serverШаг 3. Параметры в /etc/sysconfig/push-server-multi
В конфигурационном файле задайте (или добавьте) параметры:
| Параметр | Описание |
|---|---|
| SECURITY_KEY | Секретный ключ для подписи соединения между клиентом и пуш-сервером. Только латиница и цифры (спецсимволы запрещены). Короткий ключ небезопасен. |
| RUN_DIR | Директория для хранения PID-файлов процессов. |
| USER / GROUP | Пользователь и группа, под которыми запускается сервис. |
Генерация ключа (рекомендуется):
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 128Пример настроек:
USER=bitrix
GROUP=apache
SECURITY_KEY="PUTTHEPRIVATEKEYHERE"
RUN_DIR=/tmp/push-serverШаг 4. Создать пользователя
su -
useradd -g apache bitrixШаг 5. Сгенерировать конфигурации sub и pub
/usr/local/bin/push-server-multi configs pub
/usr/local/bin/push-server-multi configs subФайлы push-server-sub-80XX.json и push-server-pub-90XX.json появятся в каталоге /etc/push-server/.
Шаг 6. Каталог для PID через tmpfiles.d
echo 'd /tmp/push-server 0770 bitrix apache -' > /etc/tmpfiles.d/push-server.conf
systemd-tmpfiles --remove --createШаг 7. Каталог логов
[[ ! -d /var/log/push-server ]] && mkdir /var/log/push-server
chown bitrix:apache /var/log/push-serverШаг 8. Правки в /etc/systemd/system/push-server.service
Укажите пользователя, группу и пути к скрипту:
[Service]
User=bitrix
Group=apache
ExecStart=/usr/local/bin/push-server-multi systemd_start
ExecStop=/usr/local/bin/push-server-multi stop
...Шаг 9. Запуск сервиса
systemctl daemon-reload
systemctl --now enable push-serverПроверка: systemctl status push-server.
Шаг 10. Настройки в Битрикс
В конфигурации Push-модуля (настройки сайта) включите использование локального Push-сервера (последняя версия) и укажите тот же секретный ключ, что задан в SECURITY_KEY в /etc/sysconfig/push-server-multi.
Конфигурация Nginx (отдельно)
Чтобы запросы доходили до Push-server, в Nginx должны быть:
- На 0.0.0.0:80 (и при необходимости 443) — проксирование
/bitrix/sub/и/bitrix/subws/на upstream с портами 8010–8015. - На 127.0.0.1:8895 — проксирование
/bitrix/pub/на upstream с портами 9010–9011.
На одном сервере в upstream укажите server 127.0.0.1:8010; … 127.0.0.1:8015 и 127.0.0.1:9010; 127.0.0.1:9011;.
Официальная инструкция: Конфигурация Push-server.
9. Конфигурация сайта
По инструкции Битрикс «Конфигурация сайта».
Сайт
sudo mkdir -p /var/www/html/bx-site
cd /var/www/html/bx-site
sudo wget https://www.1c-bitrix.ru/download/scripts/bitrixsetup.php
sudo chown apache:apache /var/www/html/bx-site -RАналогично можно скачать нужный дистрибутив и разместить его в /var/www/html/bx-site.
База данных
Получите доступ к оболочке MariaDB и создайте базу и пользователя (пароль замените на свой):
CREATE DATABASE portal CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bitrix'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON portal.* TO 'bitrix'@'localhost';
FLUSH PRIVILEGES;Замените PASSWORD на пароль доступа к БД. Имя БД и пользователя можно изменить; в мастере установки укажите те же значения.
Push-server
Для работы портала нужен настроенный Push-сервер (сервис уже должен быть запущен). Настройки можно выполнить через административный раздел портала или через конфигурационный файл.
Вариант через файл: отредактируйте /var/www/html/bx-site/bitrix/.settings.php и добавьте (или дополните) секцию pull в возвращаемый массив. Замените #DOMAIN# на домен сайта и PUTTHEPRIVATEKEYHERE на тот же ключ, что задан в SECURITY_KEY в /etc/sysconfig/push-server-multi:
return array (
'pull' => array(
'value' => array(
'path_to_listener' => 'http://#DOMAIN#/bitrix/sub/',
'path_to_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
'path_to_modern_listener' => 'http://#DOMAIN#/bitrix/sub/',
'path_to_modern_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
'path_to_mobile_listener' => 'http://#DOMAIN#:8893/bitrix/sub/',
'path_to_mobile_listener_secure' => 'https://#DOMAIN#:8894/bitrix/sub/',
'path_to_websocket' => 'ws://#DOMAIN#/bitrix/subws/',
'path_to_websocket_secure' => 'wss://#DOMAIN#/bitrix/subws/',
'path_to_publish' => 'http://localhost:8895/bitrix/pub/',
'path_to_publish_web' => 'http://#DOMAIN#/bitrix/rest/',
'path_to_publish_web_secure' => 'https://#DOMAIN#/bitrix/rest/',
'nginx_version' => '4',
'nginx_command_per_hit' => '100',
'nginx' => 'Y',
'nginx_headers' => 'N',
'push' => 'Y',
'websocket' => 'Y',
'signature_key' => 'PUTTHEPRIVATEKEYHERE',
'signature_algo' => 'sha1',
'guest' => 'N',
),
),
// ... остальные секции
);После изменений перезапустите httpd:
sudo systemctl restart httpdПри корректной настройке в браузере появятся запросы к Push-серверу, например:
- Request URL:
ws://sitename/bitrix/subws/?CHANNEL_ID=... - Request Method: GET
- Status Code: 101 Switching Protocols
Дополнительно
- HTTPS — настройте сертификат (например, Let's Encrypt) в Nginx и при необходимости обновите пути в
.settings.phpнаhttps://иwss://. - SELinux — при необходимости настройте контексты и правила для каталогов и веб-серверов (
restorecon,setseboolи т.п.). - Cron — настройте задания для агентов Битрикс по официальной документации.
Автоматизированная настройка
Компания Инитлаб использует автоматизированный подход для настройки серверов под Битрикс на базе РЕД ОС, что значительно сокращает время развёртывания и обеспечивает единообразие конфигураций. Все описанные выше шаги — от установки пакетов до настройки Push-server — выполняются автоматически с помощью плейбуков Ansible, что упрощает и сокращает время при подготовке нескольких серверов или повторном развёртывании стендов.
Кейсы
Кейс 1: Переезд корпоративного портала Росгосстрах Bitrix24 на РЕД ОС
Задача:
Корпоративный заказчик столкнулся с необходимостью миграции внутренней системы на отечественные решения в связи с новыми требованиями к импортозамещению. Портал Bitrix24 обслуживает более 500 сотрудников, используются модули CRM, задачи, документооборот.
Реализация:
Подготовлен стенд под РЕД ОС 7.3, настроен стек Ansible-плейбуками для автоматизации установки Nginx, PHP, MariaDB, Redis и Push-server. Проведено тестирование и оптимизация параметров под высокую нагрузку. Организован перенос корпоративной базы данных и пользовательских файлов с минимальным простоем (репликация БД, синхронизация файлов, проксирование запросов при переключении ДНС).
Результат:
Перевод выполнен без прерывания работы сотрудников. Внутренняя ИС теперь полностью соответствует требованиям импортозамещения, поддерживается штатными средствами РЕД ОС.
Кейс 2: Перенос сайта invest-in-crimea.ru на отечественную платформу
Задача:
Необходимо перенести публичный информационно-инвестиционный портал invest-in-crimea.ru с сервера под управлением CentOS 7 на сервер с РЕД ОС с полным отказом от иностранных ОС и решений.
Реализация:
На сервере с РЕД ОС развернут стек по схеме (Nginx + Apache + PHP + MariaDB + Redis). Выполнена миграция файлов и БД (Bitrix CMS). Проведён полный аудит конфигурации, выполнена оптимизация в соответствии с конфигурацией сервера. Настроены автоматические бекапы в объектное хранилище S3 с ротацией. Выполнено обновление ядра Битрикс с повышением версии PHP до актуальной.
Результат:
Сайт перенесен на отечественную инфраструктуру, минимизированы эксплуатационные риски и увеличена независимость от внешних платформ. Информационная безопасность и поддержка соответствуют регламенту, организовано резервное копирование.
Полезные ссылки
- Курс 1С-Битрикс: Настройка окружения для РЕД ОС 7.3
- База знаний РЕД ОС — веб-серверы
- РЕД ОС: сертификация и новости
Материал подготовлен по открытой документации 1С-Битрикс и РЕД ОС. Для актуальных требований и команд сверяйтесь с официальными источниками под вашу версию ОС и продукта.
Добавить комментарий