Міграція сайту між серверами 1С-Бітрікс
Переїзд Бітрікс-сайту між серверами здається простим: скопіювати файли, перенести БД, змінити DNS. На практиці кожен з цих кроків містить нюанси, які коштують годин відладки. Бітрікс зберігає шляхи, домени та налаштування в кількох місцях одночасно — деякі з них жорстко прошиті в коді.
Де прошиті шляхи та налаштування
Перед переносом потрібно знати, де Бітрікс зберігає критичні дані:
-
/bitrix/.settings.php— підключення до БД, хост, порт, ім'я бази -
/bitrix/php_interface/dbconn.php— старе ядро, параметри підключення (якщо ще використовується) -
/bitrix/modules/main/include/prolog_before.phpта налаштування сайту в БД — домен прив'язаний до сайту в таблиціb_lang -
/bitrix/cache/та/bitrix/managed_cache/— кеш, який потрібно очистити після перенесення -
/upload/— медіафайли, можуть займати десятки ГБ - Ліцензійний ключ — прив'язаний до домену та сервера
Порядок перенесення
Крок 1. Підготовка нового сервера
Новий сервер повинен відповідати вимогам Бітріксу: PHP потрібної версії, розширення (mbstring, curl, gd, zip, xml, json), nginx/Apache з коректними rewrite-правилами. Для Бітріксу 22+ — PHP 8.0–8.2.
Файл .htaccess або конфіг nginx копіюється разом з сайтом — у ньому можуть бути кастомні правила, без яких сайт не працює.
Крок 2. Резервна копія файлів
# Архив файлів без кеша та тимчасових даних
tar -czf /tmp/site-backup.tar.gz \
--exclude='./bitrix/cache' \
--exclude='./bitrix/managed_cache' \
--exclude='./bitrix/stack_cache' \
/var/www/html/
Папку /upload/ переносити окремо — там можуть бути гігабайти медіа.
Крок 3. Дамп бази даних
mysqldump -u bitrix_user -p bitrix_db \
--single-transaction \
--routines \
--triggers \
> /tmp/bitrix_db.sql
Флаг --single-transaction критичний для InnoDB — забезпечує консистентний снімок без блокувань під час дампу.
Крок 4. Розгортання на новому сервері
# Розпакування файлів
tar -xzf /tmp/site-backup.tar.gz -C /var/www/html/
# Імпорт бази
mysql -u bitrix_user -p bitrix_db < /tmp/bitrix_db.sql
Крок 5. Оновлення конфігурації
/bitrix/.settings.php — оновити параметри підключення до БД:
return [
'connections' => [
'value' => [
'default' => [
'className' => '\Bitrix\Main\DB\MysqlCommonConnection',
'host' => 'localhost', // Новий хост БД
'database' => 'bitrix_db', // Ім'я бази на новому сервері
'login' => 'bitrix_user',
'password' => 'new_password',
'options' => 2,
],
],
],
];
Крок 6. Зміна домену в базі даних
Домен зберігається в таблиці b_lang:
UPDATE b_lang SET SERVER_NAME = 'newdomain.ru' WHERE LID = 's1';
Також перевірити b_option на наявність жорстко прошитих URL:
SELECT * FROM b_option WHERE VALUE LIKE '%olddomain.ru%';
І в b_iblock — поля DETAIL_PAGE_URL, LIST_PAGE_URL — якщо використовуються абсолютні шляхи.
Крок 7. Ліцензійний ключ
Після перенесення на новий сервер або домен — перемістити ліцензійний ключ в адміністративній панелі Бітріксу (Налаштування → Ліцензія). Якщо сервер змінився, може потребуватися зв'язання з підтримкою 1С-Бітріксу для переносу прив'язки.
Крок 8. Очистка кеша
rm -rf /var/www/html/bitrix/cache/*
rm -rf /var/www/html/bitrix/managed_cache/*
rm -rf /var/www/html/bitrix/stack_cache/*
З адміністративної панелі: Налаштування → Продуктивність → Очистити кеш.
Тестування перед переключенням DNS
Перевірка через hosts-файл (без зміни DNS):
# /etc/hosts (на машині розробника)
111.222.333.444 olddomain.ru # IP нового сервера
Чеклист:
- Головна сторінка завантажується
- Каталог та картки товарів
- Кошик та оформлення замовлення
- Особистий кабінет
- Адміністративна панель
- HTTPS — сертифікат встановлений та працює
- Зображення товарів відображаються
- Поштові повідомлення відправляються
Переключення DNS та критичне вікно
Переключення DNS здійснюється в неприпинне час. TTL рекомендується знизити до 300 секунд за 24–48 годин до перенесення. Після зміни DNS обидва сервери працюють паралельно до повного оновлення DNS.
Для e-commerce важливо: у період розповсюдження DNS замовлення можуть приходити на обидва сервери. Рішення — поставити редирект 301 на старому сервері на новий домен після перевірки працездатності.
Сроки виконання
| Масштаб сайту | Срок перенесення |
|---|---|
| Невеликий сайт (до 10 ГБ, проста БД) | 4–8 годин |
| Середній магазин (10–50 ГБ) | 1–2 дні |
| Великий портал (50+ ГБ, складні інтеграції) | 2–5 днів |
Правильний перенос — це нульовий даунтайм для бізнесу та повна працездатність на новому сервері з першого дня.







