Перенос Битрикс сайта на другой хостинг

Далее следует небольшой чек-лист для переноса сайта на Битрикс с одного сервера на другой.

Обозначим сервер, на который мы переносим - целевой.

Сервер, на котором сейчас сайт - текущий.

Основной план

Основной план затрагивает большинство сайтов, на которых не будет изменений за время переноса DNS.

  1. На целевом сервере создаём необходимый каталог для сайта
    Очень неплохой идеей будет пройтись по серверу скриптом bitrix_server_test.php
  2. На целевом сервере создаём пользователя и базу данных для сайта
  3. Пингуем сайт. Сверяем с IP текущего сервера
  4. На сайте отключаем композит, CDN, сбрасываем кэш
  5. На сайте отключаем настройки безопасности, связанные с IP и папкой сайта
  6. На текущем сервере делаем дамп базы данных, кладём в корень сайта
  7. Заворачиваем сайт на текущем сервере в архив.
    Маска исключения: /bitrix/cache/* /upload/resize_cache/* /upload/tmp/* /bitrix/tmp/* /bitrix/managed_cache/* /bitrix/stack_cache/*.
    Готовая схема для tar.gz (.tgz) при нахождении в корневой папке сайта:
    tar -cvzf <путь до бэкапа> ./ --exclude=./bitrix/tmp/* --exclude=./upload/tmp/* --exclude=./bitrix/*cache*/* --exclude=./upload/*cache*/* --exclude=./bitrix/backup/*
  8. Переносим архив с сайтом на целевой сервер
  9. Разворачиваем в каталоге для сайта (различается в зависимости от хостинга)
  10. Переписываем DNS-настройки c IP текущего сервера на IP целевого, в частности это должна быть как минимум изменённая А-запись.
  11. Меняем права и владельца на приемлемые сервером.
    Права для файлов: 644 (чтение и запись для владельца и чтение для остальных), права для папок: 755 (чтение, запись, запуск для владельца, чтение и запуск для остальных)
  12. Проверяем настройки PHP: обязательно PHP 5.3+, short_open_tag = On
  13. Меняем файлы на целевом сервере /bitrix/php_interface/dbconn.php и /bitrix/.settings.php
    В них необходимо подставить правильные данные по базе данных.

    В .settings.php находим и меняем строки:
    'database' => 'НАЗВАНИЕБАЗЫ',
    'login' => 'ИМЯПОЛЬЗОВАТЕЛЯБД',
    'password' => 'ПАРОЛЬБД'

    В dbconn.php меняем следующие строки:
    $DBLogin = "ИМЯПОЛЬЗОВАТЕЛЯБД";
    $DBPassword = "ПАРОЛЬБД";
    $DBName = "НАЗВАНИЕБАЗЫ";
  14. Меняем хост вручную, чтобы подключиться напрямую по IP.
    Для линукс:
    Открываем /etc/hosts под суперпользователем, добавляем строку
    123.234.321.0 ваш.домен, где 123.234.321.0 - это IP-адрес целевого сервера
  15. Заходим по домену в админку
  16. Включаем необходимую безопасность, изменив настройки на IP целевого сервера
  17. Включаем правильную корневую папку, если необходимо, в настройках "Сайты"
  18. Подключаем CDN\композит\кэш (если отключали).
  19. Просматриваем файл .htaccess на наличие нерабочих функций
  20. Проверяем 404 на сайте

Дополнительный план

Дополнительный план работает в том случае, если информация может измениться за то время, за которое вы переносите сайт. (терминология прежняя)

После того, как сайт отдаётся с IP целевого сервера без записи в /etc/hosts:

  1. Делаем повторный дамп базы данных на сайте текущем
  2. Смотрим на изменения в сайте. Чаще всего это папка upload
  3. Архивируем файлы, которые были изменены с даты предыдущего бэкапа (можно воспользоваться tar --listed-incremental=file)
  4. Копируем дополнительный бэкап и дамп БД на целевой сервер
  5. Заливаем БД, разворачиваем дополнительный бэкап в папку с сайтом.
  6. Меняем права и пользователя (по необходимости)

Оставить комментарий

Комментарии (1)

  1. Виктор
    Виктор 16.06.2017 Ответить
    При переносе на Битиркс ВМ 7 и выше, не забывайте что там отсутствует mysql и есть только mysqlli. Следовательно нужно внести настройки в dbcon и .setting.php.