Міграція сайту між серверами 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 1 з 1 послугУсі 1626 послуг
Міграція сайту між серверами 1С-Бітрікс
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Міграція сайту між серверами 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 днів

Правильний перенос — це нульовий даунтайм для бізнесу та повна працездатність на новому сервері з першого дня.