Переезд с CentOS 7 на CentOS 9: Полное руководство
С выходом новой виртуальной машины VMBitrix 9.0.0, миграция стала необходимостью для корпоративных порталов Битрикс24, b2b-порталов, сайтов и интернет-магазинов. Узнайте, как безопасно и без потерь перенести ваш проект на современную платформу.
Для кого это руководство?
Для системных администраторов
Вы найдете здесь исчерпывающие технические инструкции, команды, фрагменты кода и решения типичных проблем, которые помогут провести миграцию гладко и эффективно.
Для владельцев бизнеса
Вы поймете критическую важность обновления, узнаете о рисках бездействия и преимуществах новой платформы для производительности, безопасности и развития вашего бизнеса.
Почему откладывать миграцию больше нельзя
Продолжение использования CentOS 7 после 30 июня 2024 года запускает каскад рисков, которые нельзя игнорировать.
Угрозы безопасности
Отсутствие патчей означает, что любые новые уязвимости останутся незакрытыми навсегда. Ваш сервер становится легкой мишенью.
Паралич администрирования
Основные репозитории отключены. Попытка использовать `yum` приведет к ошибке Could not retrieve mirrorlist...
, парализуя установку любого ПО.
Функциональная несовместимость
С 1 марта 2024 года Битрикс требует PHP 8.1+, установить и поддерживать который на CentOS 7 без репозиториев — крайне сложно и рискованно.
Заморозка развития
Невозможность обновлять системное ПО ставит крест на развитии портала: новые интеграции и кастомные модули становятся недоступны.
Сравнительный анализ: Старое и Новое окружение
Переход на BitrixEnv 9 — это качественный скачок на новую технологическую платформу, разработанную для максимальной производительности, безопасности и совместимости.
Ключевые компоненты нового стека BitrixEnv 9
- Операционная система: CentOS Stream 9 (или AlmaLinux/Rocky 9) — современная, стабильная и постоянно обновляемая ОС.
- Веб-сервер: Связка Nginx 1.26.1 (фронтенд) и Apache2 (бэкенд) для быстрой отдачи статики и гибкой обработки динамики.
- База данных: Percona Server 8 — высокопроизводительный форк MySQL для повышения отзывчивости порталов под высокой нагрузкой.
- PHP: Полная поддержка актуальных версий PHP 8.1 и выше.
Философия администрирования: Переход на CentOS Stream 9 подразумевает изменение в подходе. В отличие от статичных релизов, это rolling-release дистрибутив, что требует более проактивного управления обновлениями.
Характеристика | Окружение на CentOS 7 | Новое окружение на CentOS 9 |
---|---|---|
Операционная система | CentOS 7 (EOL) | CentOS Stream 9 / AlmaLinux 9 |
СУБД | MariaDB 5.5 / 10.x | Percona Server 8 |
Версия PHP | 5.6 - 7.4 (устарело) | PHP 8.1+ (требование) |
Веб-сервер | Nginx (старые версии) | Nginx 1.26.1 |
Поддержка и обновления | Нет | Да |
Безопасность | Низкая | Высокая |
План миграции
Тщательная подготовка — это 90% успеха любой миграции. Пропуск даже одного шага может привести к серьезным проблемам.
Этап 1: Подготовительный этап▼
Шаг 1: Полный аудит и обновление портала (на старом сервере)
Это самый критически важный шаг для избежания "белого экрана" после перехода.
- Обновите платформу Битрикс24:
Настройки > Marketplace > Обновление платформы
. - Обновите решения из Marketplace:
Marketplace > Обновление решений
. - Проведите проверку системы:
Настройки > Инструменты > Проверка системы
и исправьте все ошибки.
Шаг 2: Создание надежной и полной резервной копии
Совет эксперта: Используйте rsync для минимизации простоя. Этот метод позволяет скопировать основной объем данных, пока старый портал еще работает, сокращая время недоступности с нескольких часов до 10-15 минут.
# Метод 1: Классический дамп (требует остановки портала)
# Замените sitemanager на имя вашей базы данных
mysqldump -uroot -p sitemanager > /root/backup/db_backup.sql
tar -zcvf /root/backup/site_files.tar.gz /home/bitrix/www/
# Метод 2: Продвинутый с rsync (минимальный простой)
# Замените NEW_SERVER_IP на IP-адрес нового сервера
rsync -avz /home/bitrix/www/ root@NEW_SERVER_IP:/home/bitrix/www/
Шаг 3: Подготовка нового сервера
- Разверните сервер с чистой ОС (CentOS Stream 9, AlmaLinux 9 или Rocky Linux 9).
- Настройте сеть и убедитесь в наличии root-доступа по SSH.
- Проверьте, что файрвол (firewalld) не блокирует порты 22, 80, 443.
Этап 2: Основной этап миграции▼
Часть A: Развертывание BitrixEnv 9 на новом сервере
# Скачиваем и запускаем установщик
curl -sOL https://repo.bitrix.info/dnf/bitrix-env-9.sh
chmod +x bitrix-env-9.sh && ./bitrix-env-9.sh
В процессе установки согласитесь на отключение SELinux и перезагрузите сервер. После перезагрузки запустите скрипт еще раз.
Часть B: Перенос и восстановление данных портала
Скопируйте бэкапы на новый сервер, создайте пустую базу данных и пользователя, затем импортируйте дамп и распакуйте файлы.
# Создание БД и пользователя
mysql -uroot -p
CREATE DATABASE sitemanager CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'bitrix_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON sitemanager.* TO 'bitrix_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# Импорт и распаковка
mysql -u bitrix_user -p sitemanager < /root/db_backup.sql
tar -zxvf /root/site_files.tar.gz -C /home/bitrix/www/
Часть C: Настройка конфигурации и прав доступа
Обновите данные подключения к БД в файлах dbconn.php
и .settings.php
. Затем установите правильного владельца и права доступа:
# Устанавливаем владельца bitrix для всех файлов
chown -R bitrix:bitrix /home/bitrix/www/
# Устанавливаем права 755 для папок и 644 для файлов
find /home/bitrix/www/ -type d -exec chmod 755{}\;
find /home/bitrix/www/ -type f -exec chmod 644{}\;
Финальная настройка и оптимизация
После переноса данных необходимо тонко настроить окружение для максимальной производительности и стабильности.
Первичная настройка через меню BitrixEnv
Зайдите на сервер по SSH и выполните команду sudo su
. При первом входе система предложит задать пароли. В меню выберите пункт 1. Create management pool on the server
, чтобы привязать доменное имя. Затем в том же меню настройте SSL-сертификат от Let's Encrypt (пункт 5. Change https settings on site
).
Быстрая отдача статики
Включите в админке опцию "Быстрая отдача файлов через Nginx", чтобы ускорить загрузку страниц.
Перевод агентов на Cron
Перенесите выполнение фоновых задач на системный планировщик, чтобы снизить нагрузку на посетителей.
Кеширование в Memcached
Настройте кеширование в оперативной памяти для многократного ускорения загрузки данных.
Настройка Push & Pull
Подключите облачный сервер "1С-Битрикс" для корректной работы чатов, уведомлений и живой ленты.
Решение типичных проблем после миграции
Ошибка 504 Gateway Timeout
Причина: Nginx разрывает соединение при выполнении длительных операций (импорт, построение отчета).
Решение: Временно увеличьте таймауты в /etc/nginx/nginx.conf
и перезапустите Nginx (nginx -s reload
). После завершения операции верните значения к стандартным.
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
"Белый экран" или Fatal Errors, связанные с PHP 8
Причина: Несовместимый код в старых или кастомных модулях.
Диагностика: Включите вывод ошибок, установив в /home/bitrix/www/bitrix/.settings.php
значение 'debug' => true
. Проверьте лог-файл (обычно bitrix/modules/error.log
), чтобы найти источник проблемы.
Проблемы с загрузкой файлов или генерацией изображений
Причина: Неверные права доступа к папкам /upload/
, /bitrix/tmp/
.
Решение: Вернитесь к Части C основного этапа и повторно выполните команды chown
и chmod
для всей директории /home/bitrix/www/
.
Технические требования для коробочной версии
Веб-сервер
- Apache (рекомендуется): Версия 2.4.х и выше.
- nginx: Последняя стабильная версия 1.16.х и выше (требуется самостоятельная настройка).
Требования к PHP
Для работы продукта с 1 марта 2024 года минимальная версия PHP — 8.1 и выше.
Для корректной работы также требуется наличие следующих расширений PHP:
- GD: Библиотека для работы с изображениями, графиками и CAPTCHA.
- PHP XML: Используется для работы системы обновлений.
- FreeType: Необходима для корректной работы CAPTCHA.
- Поддержка регулярных выражений (POSIX и Perl-compatible).
- Zlib compression: Библиотека компрессии.
- Акселератор PHP (крайне рекомендуется): OPcache (входит в состав PHP 5.5+).
xcache.cacher = Off
. eAccelerator не поддерживается.Поддержка баз данных
- MySQL: Рекомендуется использовать версии 8.x (например, Percona Server).
- PostgreSQL (Pro/Enterprise): Рекомендуется использовать версии 11.x и выше.
Нужна помощь? Доверьте миграцию профессионалам
Самостоятельная миграция требует времени и глубоких технических знаний. Ошибка может привести к простою и потере данных. Наша команда предлагает профессиональные услуги по переносу вашего портала.
- Гарантия сохранности всех данных.
- Минимально возможный простой портала.
- Тонкая настройка и оптимизация сервера.
- Пост-миграционная поддержка.
Часто задаваемые вопросы
Можно ли остаться на CentOS 7, если все работает?▼
Категорически не рекомендуется. Даже если портал функционирует, он остается без обновлений безопасности, что создает огромные риски взлома и утечки данных. Кроме того, вы не сможете обновлять сам Битрикс24 и устанавливать новое ПО, так как репозитории CentOS 7 отключены.
Чем переносить данные: rsync или стандартным бэкапом?▼
Стандартный бэкап через интерфейс Битрикс подходит для небольших сайтов. Для крупных порталов с большими объемами данных и/или технологией многосайтовости, перенос по ssh с помощью `rsync` является самым стабильным, быстрым и порой единственно возможным вариантом. Он позволяет сократить время простоя до минимума.
Обязательно ли использовать CentOS Stream 9? Можно ли взять Debian?▼
Официальный установщик BitrixEnv 9 поддерживает CentOS Stream 9, AlmaLinux 9 и Rocky Linux 9. Технически возможно развернуть Битрикс24 на Debian, но это потребует полностью ручной настройки всего серверного окружения и не будет поддерживаться стандартными скриптами «1С-Битрикс». Для гарантированного результата рекомендуется использовать одну из официально поддерживаемых ОС.
Что делать, если после обновления на PHP 8 перестал работать кастомный модуль?▼
Это означает, что код модуля несовместим с новой версией PHP. Вам необходимо связаться с разработчиком этого модуля и запросить обновление. Если разработчик недоступен, у вас есть два варианта: найти альтернативное решение в Marketplace или заказать доработку модуля у сторонних специалистов для обеспечения совместимости с PHP 8.
Сколько времени занимает миграция?▼
Общее время зависит от размера вашего портала (объем файлов и базы данных) и опыта системного администратора. В среднем, можно ориентироваться на следующие временные рамки: подготовка и развертывание нового сервера — 2-3 часа; перенос данных — от 30 минут до нескольких часов; финальная настройка и тестирование — 1-2 часа. Рекомендуется планировать на весь процесс один полный рабочий день и проводить его в период наименьшей активности пользователей.
Нужно ли покупать новую лицензию Битрикс24 для переноса?▼
Нет, ваша лицензия не привязана к серверу. Вы переносите существующую установку вместе с ключом. Однако важно, чтобы лицензия была активна на момент подготовки, так как это необходимо для скачивания последних обновлений продукта, совместимых с PHP 8.