Главная Блог Битрикс Как перенести сайт на Битриксе на другой хостинг: 2 способа
Как перенести сайт на Битриксе на другой хостинг: 2 способа

Как перенести сайт на Битриксе на другой хостинг: 2 способа

Содержание статьи:

Как перенести сайт на Битриксе на другой хостинг – один из популярных вопросов специалистам техподдержки и поиску Google.

Мы рассмотрим два способа «переезда» сайта на Битрикс и Битрикс24 с одного хостинга на другой. Их в равной степени можно применять и для миграций с виртуального хостинга на VPS или виртуальные машины, а также к переносу Битрикса с сервера на сервер.

 
Если вы являетесь клиентом Maxiplace или хотите протестировать наш хостинг, напишите в поддержку, и мы бесплатно поможем перенести ваш сайт на быстрые облачные сервера.

Первый способ. Перенос с помощью бэкапа Битрикс

Первый способ – это штатный вариант переноса, предусмотренный как в «1С-Битрикс: Управление сайтом», так и в коробочной версии «Битрикс24».

Алгоритм переноса простой: бэкап создается на исходном хостинге и с помощью специальной ссылки разворачивается на новом. При этом на новом хостинге в корневой директории веб-сервера должен быть залит скрипт восстановления restore.php.

Важно заранее выделить необходимое время для переноса. Сколько времени потребуется — зависит от конкретного проекта. Небольшие сайты в несколько гигабайт потребуют 10-20 минут, а перенос солидных площадок в сотни гигабайт может занять несколько часов.


Давайте рассмотрим перенос по шагам.

Во многих случаях создание резервной копии из панели администрирования Битрикс работает «из коробки», но есть несколько нюансов.

 
  • Шаг 1 (необязательный). Перед переносом рекомендуется закрыть публичную часть сайта. Либо спланировать перенос на время низкого трафика – ночью или на выходных. Закрытие позволит снизить нагрузку на сайт, поскольку процедура создания бэкапа весьма ресурсоемкая, а сами резервные копии будут содержать все актуальные данные. Однако это необязательное условие. Если вам важна бесперебойная работа сайта, этот процесс можно сделать и без закрытия публичной части. Закрыть публичную часть можно в «Главном модуле»:

  •  
Главный модуль

 

  • Шаг 2. Начинаем создавать резервную копию. Для этого необходимо следовать пути: Настройки -> Инструменты -> Резервное копирование -> Создание резервной копии.
     
    Создание резервной копии


    Доступно два варианта размещения резервной копии:
    При выборе первого варианта копия все равно сначала создается в папке сайта, а после этого копируется в облако и затем удаляется локально. Мы выбираем второй вариант – создание копии в папке сайта. Важный момент: перед созданием рекомендуется убедиться, что на сервере достаточно свободного места для резервной копии. Сделать это можно в панели управления хостинга или на сервере в консоли.
    • В облаке «1С-Битрикс»;
    • В папке сайта;
       
  • Шаг 3. Вкладка «Параметры» позволяет использовать гибкие настройки для создания копии:
     
    Вкладка параметры при создании резервной копии сайта на Битрикс


    Из архива рекомендуется исключить следующие файлы:
    По желанию можно исключить и папку /upload, в которой хранятся картинки и документы, если она большого объема, и перенести ее позже отдельно.
    • /bitrix/backup/ – очевидно, что бэкап переносить не нужно;
    • /bitrix/cache/ – кэш создастся заново на новом хостинге, потому не нужно тратить время на его перенос;
    • /bitrix/managed_cache/ – аналогично обычному кэшу.
  • Шаг 4. После настроек необходимо нажать кнопку «Создать резервную копию» и дождаться завершения операции. Нюансы данного способа резервного копирования:
    1. Дамп БД и ее архивация создают большую нагрузку на сервер, сайт замедлит свою работу во время резервного копирования. Если сервер слабый, то возможны ошибки 502 и 504. В таких случаях нужно использовать другой способ переноса сайта.
    2. Если сайт большого объема (сотни Гб), то использование встроенного резервного копирования – не лучшее решение для бэкапа. Особенно это актуально, если необходимо обеспечить минимальное время простоя.
  • Шаг 5. После того, как резервная копия будет создана, перейдите в «Список резервных копий» и из выпадающего списка выберите «Получить ссылку для переноса». Скопируйте ее.
 

Восстановление резервной копии на новом хостинге

  • Шаг 1. Перед восстановлением резервной копии на другом хостинге или сервере мы рекомендуем протестировать их на соответствие с рекомендуемыми настройками для CMS Битрикс.

    Сделать это можно с помощью скрипта bitrix_server_test.php (описание на сайте Битрикс). Для этого скачайте его по ссылке, положите в корневую директорию сайта на новом хостинге и запустите в браузере http://ваш_домен_или_ip/bitrix_server_test.php.

    У компании Maxiplace есть оптимизированный шаблон BitrixVM, где всё соответствует требованиям CMS Битрикс. Его удобно использовать в качестве нового хостинга.
     
  • Шаг 2. После того как вы убедились в соответствии системы рекомендуемым настройкам, можно приступать к восстановлению резервной копии. Для этого скачайте файл restore.php по ссылке в корневую директорию сайта и перейдите по ссылке http://ваш_домен_или_ip/restore.php.

    В шаблоне Maxiplace для этого уже всё готово, и достаточно лишь перейти по адресу http://ваш_IP-адрес. После этого вы увидите стартовый экран, чтобы начать восстановление.
     
    Стартовый экран восстановления сайта на Bitrix

  • Шаг 3. После этого следуйте указанию мастера восстановления, выберите «Скачать резервную копию с дальнего сайта» и вставьте ссылку, полученную ранее.
     
    Экран загрузки резервной копии

  • Шаг 4. После загрузки и распаковки мастер предложит восстановить базу данных.
     
    Экран восстановления резервной копии


    В шаблоне BitrixVM от Maxiplace все данные будут уже внесены в поля, и останется только нажать кнопку «Восстановить».
    В других случаях необходимо будет указать данные для подключения к локальной базе данных.
     
  • Шаг 5. После восстановления удалите локальную резервную копию и служебные скрипты. Операция выполнена!
     
    Операция по восстановлению Bitrix выполнена успешно
 

Второй способ. Перенос с помощью rsync и mysqldump

Перенос автоматическими средствами, что мы рассмотрели выше, – это алгоритм, на который почти невозможно повлиять. И если по каким-то причинам в ходе его работы не происходит создание или восстановление данных, то на помощь приходит второй способ.

 

Он подойдет тем, кто имеет доступ к shell-консоли и обладает навыками системного администрирования. Его также логично будет использовать при больших объемах сайтов, наличии множества мелких файлов, отсутствии места на сервере или медлительности исходного хостинга.

Перенос с помощью rsync и mysqldump характеризуется:

  1. Большим контролем и гибкими возможностями для переноса. Синхронизация файлов происходит вручную, ошибки можно попутно замечать и исправлять.
  2. Минимальным временем простоя сайта и возможностью досинхронизировать файлы. Нет ограничений и по таймингу, когда тайм-ауты веб-серверов ограничивают соединение или выполнение переноса временными рамками.
  3. Снижением нагрузки на сервер. Когда Битрикс делает резервные копии, он формирует многотомный архив, в котором для больших сайтов может быть больше сотни томов. При ручном переносе создается один большой архив, который легче контролировать.
Итак, приступим к переносу.
 
  • Шаг 1. Большинство CMS состоит из файлов и базы данных. С помощью утилиты rsync мы перенесем файлы, а с помощью утилиты mysqldump – перенесем базу.
    Начнем с переноса файлов: для этого запустите rsync для корневой директории сайта с сервера-источника на сервер-получатель.
    [root@server1 ~]# rsync -avz корневая _директория_сайта/
    root@ip_сервера_получателя:/home/bitrix/www/


    После переноса всегда можно досинхронизировать файлы, запустив эту команду снова. Копируются только изменения.

  • Шаг 2. Затем сделаем дамп базы с помощью утилиты mysqldump:

    [root@server1 ~]# mysqldump -u имя_пользователя -p ИМЯ_БАЗЫ > ИМЯ_БАЗЫ.sql

    И скопируем дамп через тот же rsync

    [root@server1 ~]# rsync -avz ИМЯ_БАЗЫ.sql root@ip_сервера_получателя:/home/bitrix/

    Примечание
    Не делайте и не копируйте дамп базы.sql в корневую директорию сайта, так как к ней могут получить доступ другие пользователи.
     
  • Шаг 3. После того, как мы скопировали базу данных, перед импортом данных, необходимо создать базу на новом сервере:

    [root@server2 ~]# mysql -u имя_пользователя -p
    mysql > create database ИМЯ_БАЗЫ;
    mysql > exit;


    И далее выполните ее импорт:

    [root@server2 ~]# mysql -u имя_пользователя -p ИМЯ_БАЗЫ < ИМЯ_БАЗЫ.sql

  • Шаг 4. После этого проверьте и при необходимости измените настройки подключения к базе данных в файлах bitrix/.settings.php и bitrix/php_interface/dbconn.php. В заключение – проверьте работу сайта.
 

Как проверить систему после переноса

После восстановления следует перейти на сайт, зайти в панель администратора и выполнить проверку системы, чтобы убедится в корректности ее работы.
Необходимо следовать пути: Рабочий стол -> Настройки -> Инструменты -> Проверка системы.
 
Полное тестирование системы Битрикс


И уже после восстановления резервной копии можно выполнять изменения в DNS, чтобы переключить домен на новый сервер.

Важный момент: если необходимо проверить работоспособность сайта на новом хостинге, не перенаправляя туда трафик, то возможны варианты мониторинга по IP-адресу, по техническому домену, если он есть на сайте, либо по основному домену на перенесенной странице через файл host (инструкция в Базе знаний Maxiplace).
 

Возможные проблемы и ошибки

Проблемы из-за версий php и mysql

Если на исходном сайте были устаревшие версии php/mysql, а на новом – они уже актуальные, то эта проблема может возникать. Если это произойдёт, обратитесь к разработчикам сайта, приведут код к соответствию новым версиям php/mysql.

Кроме того, нужно убедиться, что установлены все обновления Битрикс. Для этого надо сначала обновить php/mysql (даже на старом хостинге), а затем установить обновления Битрикс.
 

Проблемы с работой старых правил/редиректов .htaccess

После переноса файл .htaccess из резервной копии сохраняется под именем .htaccess.restore, а новый файл .htaccess содержит правила по умолчанию. Можно переименовать старый файл или перенести из него необходимые правила в новый.
 

Проблемы с отправкой почты с сервера

Для отправки почты в CMS Битрикс используется php функция mail(). Следует через phpinfo() проверить, что параметр sendmail_path указывает путь до sendmail или на его заменитель. Выявлению большинства проблем с отправкой писем помогает лог почтового сервера, по умолчанию это файл /var/log/maillog.

В шаблоне BitrixVM для отправки почты уже всё настроено, и останется лишь задать имя отправителя “from” в файле /home/bitrix/.msmtprc
 

Проблемы с авторизацией пользователя

Если пропадает авторизация пользователя, то можно проверить хостинг/сервер на корректность работы сессий с помощью скрипта bitrix_server_test.php по ссылке.
 

Проблемы с импортом базы данных

При возникновении сложностей с импортом базы данных объемом более 1 Гб, операцию следует проводить через консоль (инструкция есть в блоге MediaGuru).
 

Ошибки с появлением белого экрана

Бывают случаи, когда после переноса появляется белый экран, который сигнализирует об ошибках. Чтобы понять, чем конкретно это вызвано, следует в файле bitrix/php_interface/dbconn.php включить логирование ошибок:

'exception_handling' => array (
'value' => array (
'debug' => true,
'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE,
'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING & ~E_DEPRECATED,
'ignore_silence' => false,
'assertion_throws_exception' => true,
'assertion_error_type' => 256,
'log' => array (
'settings' => array (
'file' => 'bitrix/modules/error.log', //Файл лога, куда и будут писаться наши ошибки
'log_size' => 1000000,
),
),
),
'readonly' => false,
),

 

Ошибки «Mysql connect error» и «DB query error. Please try later»

В первом случае следует проверить правильность доступов к БД в файле bitrix/php_interface/dbconn.php и bitrix/.settings.php, а для решения второй ошибки в файле bitrix/php_interface/dbconn.php выставить значение $DBDebug = true, чтобы увидеть детально возникшую ошибку.

Другие проблемы и варианты их решения описаны на сайте Битрикс.
 

Перенос силами поддержки Maxiplace

Как видите, перенести сайт на Битриксе на другой хостинг можно как штатными средствами, надеясь что автоматические процессы отработают корректно, или можно сделать это вручную, через команды rsync и mysqldump, которые требуют погружения в тему или квалифицированных специалистов.

Ну и важно помнить, что у вас всегда есть третий способ. Можно обратиться в поддержку Maxiplace, и для наших клиентов мы готовы осуществить перенос быстро, бесплатно и «под ключ».


Статья добавлена 2 года назад. Автор - Eltigro

поделиться статьей

Подпишитесь на новые статьи от Maxiplace


Смежные статьи

article
Защита от ботов и DDoS-атак для сайта

В этой статье мы подробно поговорим о таком явлении как парсинг, о том как защитить ваш сайт от вредоносных ботов, и что делать при DDOS-атаке на сайт.

23.09.2021
article
Инструкция для Webasyst: перенос сайта на другой хостинг

Перенос сайта Webasyst на другой хостинг  - проблема, которая часто возникает при естественном росте интернет-магазинов. Webasyst зарекомендовал себя как одна из самых гибких cms-платформ, особенно благодаря действительно качественному модулю для построения интернет-магазинов (shop-script). Перенос таких ресурсов можно произвести без потерь и лишних усилий, и в этой статье мы расскажем, как.

22.09.2021
article
Как открыть свой интернет-магазин с нуля: пошаговая инструкция 2021

Рассказываем, как открыть свой интернет-магазин - о вариантах налогообложения, грамотном выборе сферы работы, поставщиков, создании портрета целевой аудитории, подборе названия и CMS

12.08.2021
article
Интернет-магазин на Webasyst: создание сайта, плюсы и минусы

Как создать интернет-магазин на Webasyst с нуля: функционал системы, настройка проекта, цены на разные тарифы, а также все плюсы и минусы площадки

09.08.2021
article
Интернет-платформа для интернет-магазина: топ лучших CMS 2021

Помогаем сделать выбор интернет-платформы для вашего интернет-магазина: разбираемся в плюсах и минусах самых известных платных и бесплатных систем

19.07.2021