Коробочный Битрикс24 на CentOS 7: чем грозит EOL и как мигрировать
Коробочный Битрикс24 на CentOS 7 остался без обновлений безопасности: дистрибутив достиг End of Life летом 2024 года, и патчи для ядра, OpenSSL и системных библиотек больше не выходят. То же касается «1С-Битрикс: Управление сайтом» — серверный стек у них общий, и миграция идёт одинаково. Прямой миграции с CentOS 7 на AlmaLinux штатной утилитой нет — переходят либо поэтапно через ELevate (7 → 8 → 9), либо чистой установкой AlmaLinux 9 с переносом данных. Ниже — как подготовиться, какой путь выбрать и что проверить после миграции.

Официальный инструмент миграции AlmaLinux не поддерживает CentOS 7, поэтому безопасный переход требует предварительного обновления до EL8 или полной переустановки системы с переносом данных.
Содержание
Почему CentOS 7 опасен для коробочного Битрикса
Коробочный Битрикс24 на CentOS 7 — это связка, которая после окончания поддержки дистрибутива перестала получать обновления безопасности: ядро, glibc, OpenSSL и системные пакеты застыли на версиях, для которых уже не выходят патчи. CentOS 7 достиг End of Life, и для рабочего портала это значит, что любая новая уязвимость в системных библиотеках остаётся открытой на сервере неопределённо долго.
Главная проблема не в самом Битрикс24, а в фундаменте под ним. Портал можно обновлять штатными средствами, но если базовая ОС не получает обновлений OpenSSL и ядра, то TLS-стек, на котором держится HTTPS портала, и сетевой стек остаются с известными дырами. По нашему опыту админы часто закрывают на это глаза, потому что «портал работает» — а работающий портал и защищённый портал это разные состояния.
Второй фактор — деградация совместимости. Свежие версии PHP, нужные новым редакциям Битрикс24, на CentOS 7 ставятся только из сторонних репозиториев и обрастают конфликтами зависимостей. Мы сталкивались с ситуацией, когда обновление модуля композитного кэша требовало версию PHP, которую штатными средствами CentOS 7 уже не собрать без ручной пересборки RPM.
Не делайте ставку на «доживём как-нибудь» — мы видели, как на одном из проектов сервер с EOL-системой попал под автоматизированное сканирование и эксплуатацию уязвимости в устаревшем системном демоне, после чего восстановление из бэкапа заняло почти сутки простоя корпоративного портала. EOL это не абстрактный риск в будущем, а конкретное окно, через которое заходят.
И наконец, официальный инструмент конвертации AlmaLinux поддерживает перевод CentOS 8, но CentOS 7 в списке исходных систем не значится. Это сразу определяет стратегию: прямой одношаговой миграции «Битрикс24 на CentOS 7 → AlmaLinux» штатной утилитой не существует, и решать задачу придётся либо поэтапным апгрейдом, либо чистой установкой.
Но первый практический шаг — формально подтвердить, что вы действительно на CentOS 7 и ветка достигла EOL. Это пара команд ниже:

# Проверьте текущую версию и подтвердите EOL-статус системы
cat /etc/centos-release
rpm -q centos-release
# CentOS Linux release 7.9.2009 (Core) — поддержка ветки 7 завершена летом 2024
Подготовка к миграции: бэкап и проверка совместимости
Перед любым сценарием проверяем раздел /boot: AlmaLinux устанавливает новое ядро рядом с существующими, не заменяя их, и раздела в 512 МБ хватает, чтобы вместить три версии ядра. Если у вас /boot меньше, расчистите его заранее, иначе установка ядра прервётся на середине.
Дальше — инвентаризация окружения. Выписываем текущую версию PHP, набор расширений (php -m), версию MySQL/MariaDB, кастомные параметры в bitrix/.settings.php и нестандартные пути. Битрикс24 чувствителен к окружению: модуль «Push and Pull», composite-кэш и фоновые агенты завязаны на конкретные службы, и если что-то из этого не перенести, портал поднимется, но часть функционала отвалится молча.
Отдельно проверяем требование к версии при поэтапном пути. Минимально поддерживаемая версия EL8 для конвертации — 8.4, и системы с более ранней версией нужно сначала обновить. Если идёте через промежуточный апгрейд до восьмёрки, нельзя останавливаться на первой попавшейся минорной версии — доведите её как минимум до 8.4.
Не пропускайте прогон проверки совместимости в админке Битрикс24 (check_security и phpinfo через панель). Мы однажды получили обратную связь, что после миграции «пропали изображения» — корнем оказалось расширение gd, которое в новом окружении собралось без поддержки нужного формата. Полчаса проверки расширений до миграции экономят полдня разбирательств после неё.
И главное — полный бэкап, с которого реально восстановиться, на трёх уровнях: дамп базы, файлы проекта и системные конфиги; дополнительно снимаем снапшот ВМ целиком как точку отката. Команды для трёхуровневого бэкапа — ниже.

# Дамп БД Битрикса
mysqldump --single-transaction --routines --triggers \
-u bitrix0 -p sitemanager > /backup/bitrix_$(date +%F).sql
# Файлы проекта и ключевые системные конфиги
tar czf /backup/bitrix_files_$(date +%F).tar.gz /home/bitrix/www
tar czf /backup/etc_$(date +%F).tar.gz \
/etc/nginx /etc/php-fpm.d /etc/my.cnf.d /etc/crontab
Сценарии миграции: ELevate поэтапно (7→8→9) vs чистая установка AlmaLinux 9
Для Битрикс24 на CentOS 7 есть два рабочих пути: поэтапный in-place апгрейд через ELevate и чистая установка AlmaLinux 9 с переносом данных. Выбор зависит от того, насколько «замусорена» система и есть ли куда переехать.
ELevate (на базе Leapp) рассчитан на одношаговые переходы между соседними мажорными версиями, поэтому путь до девятки разбивается на ступени: CentOS 7 → AlmaLinux 8 → AlmaLinux 9. Перепрыгнуть сразу нельзя.
Важный нюанс: официальный скрипт almalinux-deploy.sh к этому пути отношения не имеет — он конвертирует уже работающие системы EL8/EL9 (CentOS Stream, RHEL, Rocky, Oracle) в AlmaLinux той же версии и CentOS 7 как источник не поддерживает. Для семёрки рабочий in-place инструмент — именно ELevate.
Второй путь — чистая установка AlmaLinux 9 на новый сервер и перенос проекта из бэкапа. По нашему опыту для коробочного Битрикс24 это чаще предпочтительнее: окружение без накопленного за годы мусора, свежий PHP и MySQL под новую редакцию, а старый сервер остаётся нетронутым как точка отката. Поэтапный ELevate-путь оправдан, когда сервер физический, переезд на новое железо невозможен, а простой нужно свести к минимуму.
| Критерий | ELevate 7→8→9 (in-place) | Чистая установка AlmaLinux 9 |
|---|---|---|
| Простой | Минимальный, на месте | Зависит от переноса данных |
| Риск накопленных конфликтов | Высокий, тянется legacy | Низкий, окружение с нуля |
| Точка отката | Снапшот того же сервера | Старый сервер целиком жив |
| Сложность | Два перехода подряд | Один перенос данных |
| Когда выбирать | Нельзя сменить железо | Есть второй сервер/ВМ |
Два важных предупреждения для ELevate-пути. Первое: не запускайте in-place сразу на боевом сервере без снапшота — двойной переход 7→8→9 на нагруженной машине может оставить несовместимый набор пакетов в AppStream, поэтому сначала прогоните маршрут на копии ВМ. Второе: для air-gapped-серверов без выхода в интернет потребуется локальное зеркало — не менее 500 ГБ на каждую мажорную версию, синхронизируемое по rsync.
Если идёте по пути ELevate, сама миграция CentOS 7 → AlmaLinux 8 укладывается в несколько команд; обязателен консольный доступ (KVM/IPMI или консоль гипервизора) — во время конвертации по SSH машину уже не достать:
# 1. Переключить репозитории CentOS 7 на зеркало AlmaLinux и обновиться
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
sudo yum upgrade -y
sudo reboot
# 2. Установить elevate-release и leapp-данные AlmaLinux
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
sudo yum install -y leapp-upgrade leapp-data-almalinux
# 3. Проверка совместимости и сам апгрейд CentOS 7 -> AlmaLinux 8
sudo leapp preupgrade
sudo leapp upgrade
sudo reboot
# 4. Тот же цикл leapp повторить для перехода AlmaLinux 8 -> 9
Перенос настроек Битрикса: nginx ЧПУ, php-fpm, cron, push
После того как AlmaLinux 9 поднят, переносим четыре группы настроек, без которых коробочный Битрикс24 работает некорректно: правила ЧПУ в nginx, пул php-fpm, фоновые задачи cron и службу push. Просто скопировать старые конфиги с CentOS 7 не получится — пути к сокетам и имена сервисов в девятке отличаются.
Пул php-fpm под Битрикс24 выносим в отдельный файл, чтобы лимиты портала (число процессов, память, время выполнения) не конфликтовали с другими сайтами на сервере. Ключевой момент — путь к сокету: на AlmaLinux 9 php-fpm по умолчанию живёт в /run/php-fpm/, а не там, где он лежал на семёрке. Именно расхождение этого пути со старым конфигом чаще всего даёт «502 Bad Gateway» сразу после переноса.
Фоновые агенты Битрикс24 запускаются из cron — без них перестают рассылаться письма, чиститься кэш и отрабатывать отложенные задачи. Переносим строку запуска cron_events.php из старого crontab и обязательно проверяем, что она работает от пользователя bitrix, а не root. На наших проектах забытый cron — самая частая причина жалоб вида «перестали приходить уведомления о задачах» через пару дней после миграции.
Служба push-сервера (модуль «Push and Pull») требует отдельной проверки: переносим конфиг nginx-push-stream или ноды push-сервера и убеждаемся, что нужный порт слушается — полный перечень портов и служб мы разбирали в обзоре портов и сервисов коробочного Битрикс24. Если push не поднять, чат и счётчики в админке будут висеть без обновления в реальном времени.
И отдельный момент по безопасности самого nginx: уязвимость Nginx Rift мы подробно разбирали в отдельном материале — при настройке нового сервера сразу сверьтесь с тем разбором, чтобы не перенести проблему на свежую систему.
Само ЧПУ Битрикс24 держится на проксировании всех несуществующих путей в bitrix/urlrewrite.php, а PHP обрабатывается через сокет php-fpm. Базовая конфигурация nginx для AlmaLinux 9 выглядит так:
# ЧПУ Битрикса: несуществующие пути уходят в urlrewrite.php
location / {
try_files $uri $uri/ @bitrix;
}
location @bitrix {
rewrite ^(.*)$ /bitrix/urlrewrite.php last;
}
# Обработка PHP через сокет php-fpm (на AlmaLinux 9 — /run/php-fpm/)
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/bitrix.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Постпроверка и risk-чеклист
После миграции Битрикс24 с CentOS 7 нужно убедиться, что система реально работает на AlmaLinux и все сервисы поднялись, а не остались в промежуточном состоянии.
Проверяем сам портал через встроенные инструменты Битрикс24: запускаем проверку системы в админке (Настройки → Проверка системы), смотрим, что все модули видят зависимости, и прогоняем тест производительности — он сразу покажет, если PHP или БД сконфигурированы хуже, чем на старом сервере. По нашему опыту первый прогон после миграции почти всегда подсвечивает одно-два расширения PHP, которые забыли поставить.
Отдельно проверяем то, что не видно с главной страницы: отправку почты (тестовое письмо через Bitrix\Main\Mail), отработку cron-агентов (запись agent в логах), работу composite-кэша и живость push-службы. Это ровно те вещи, которые поднимаются молча и так же молча отваливаются.
Risk-чеклист, который мы проходим перед тем, как объявить миграцию завершённой:
- Бэкап и снапшот старого сервера сохранены и доступны как точка отката.
- Раздел
/bootне переполнен — есть место под обновления ядра. - ЧПУ, php-fpm-сокет, cron-агенты и push проверены вручную.
- HTTPS отдаёт валидный сертификат, нет 502 на динамике.
- Отправка почты и фоновые задачи реально отрабатывают.
Не сносите старый сервер сразу после переключения — мы держим исходную машину как минимум несколько дней под нагрузкой, потому что часть проблем (плавающие ошибки в редко используемых компонентах) проявляется только на реальном трафике.
И самая базовая техническая проверка — что система действительно загрузилась с ядром AlmaLinux, а не со старым. Достаточно двух команд: cat /etc/redhat-release покажет релиз, а grubby --info DEFAULT — ядро по умолчанию. Если вторая ничего не вернула по AlmaLinux — активно старое ядро, и с загрузчиком надо разобраться до боевого трафика:
cat /etc/redhat-release
# AlmaLinux release 9.x
sudo grubby --info DEFAULT | grep AlmaLinux
Итог
- Коробочный Битрикс24 на CentOS 7 в зоне риска: дистрибутив достиг EOL и больше не получает патчей безопасности.
- Прямой одношаговой миграции с CentOS 7 нет: путь через ELevate ступенчатый — CentOS 7 → AlmaLinux 8 → AlmaLinux 9.
- Для поэтапного апгрейда нужен раздел /boot не менее 512 МБ (три версии ядра) и версия EL8 не ниже 8.4.
- Для изолированных контуров (air-gapped) нужно локальное зеркало — от 500 ГБ на каждую мажорную версию.
- Перед любой заменой ОС — полный бэкап и снапшот ВМ как точка отката; старый сервер держим живым ещё несколько дней.
Часто задаваемые вопросы
Ответы на часто задаваемые вопросы по теме статьи.
Константин Тютюнник — ведущий системный инженер IT For Prof. Специализируется на сопровождении коробочного Битрикс24 и миграции legacy-инфраструктуры на современные дистрибутивы Linux. Более 10 лет опыта в администрировании веб-серверов и обеспечении безопасности корпоративных порталов.
Не рискуйте работоспособностью портала на устаревшей ОС. Инженеры IT For Prof проведут миграцию и сопровождение сервера Битрикс24 под ключ — с полным бэкапом, переносом всех настроек и без простоя.




