Довольно часто многие пользователи CMS Битрикс при определенных обстоятельствах сталкиваются с вопросом, каким образом можно провести перенос сайта Битрикс на другой хостинг. Существуют два основных способа сделать это. Причем их можно применять как при переносе с виртуального хостинга на виртуальный выделенный сервер, так и при переносе с сервера на сервер. Первый способ — с помощью бэкапа Битрикс, а второй — с помощью rsync и mysqldump
Перенос с помощью бэкапа Битрикс
Перенос Битрикс на другой хостинг с помощью бэкапа является встроенным инструментом самой системы, что значительно облегчает процесс переноса. Сам алгоритм действия несложен и заключается в том, что сначала создается бэкап на старом хостинге, а затем при помощи особой ссылки открывается на новом, где в корневом каталоге веб-сервера должен находиться сценарий restore.php. Желательно заранее спланировать время, поскольку перенос сайта Битрикс на другой хостинг может продолжаться несколько часов при объеме в несколько сотен гигабайт.
Создание резервной копии состоит из ряда последовательных действий
- Желательно закрыть публичную область сайта, поскольку процесс создания резервной копии значительно ресурсоемок. Или проводить перенос Битрикс на другой хостинг в период низкого трафика. Но этот пункт необязателен
- Для создания резервной копии последовательно пройдите путь по вкладкам в следующем порядке: Настройки — Инструменты — Резервное копирование — Создание резервной копии
Резервная копия может размещаться как в облачном хранилище, так и в папке сайта. Поскольку в любом случае копия изначально создается в папке, мы рекомендуем выбрать второй вариант. Но перед этим удостоверьтесь, что на сервере есть место для создаваемой копии
- Пользуясь вкладкой Параметры, настройте процесс создания копии
Мы рекомендуем убрать из архива файлы
- /bitrix/backup/
- /bitrix/cache/
- /bitrix/managed_cache/
Если вы считаете, что папка /upload достаточно большая, ее тоже можно убрать и перенести отдельно
- Произведя настройки, кликните Создать резервную копию и дождитесь окончания процесса
- После создания резервной копии на вкладке Список резервных копий выберите из выпадающего списка Получить ссылку для переноса и сделайте копию ссылки
Восстановление резервной копии на новом хостинге
- До начала процесса восстановления бэкапа на новом хостинге мы рекомендуем удостовериться, что новый ресурс соответствует необходимым требованиям Битрикс. Для этого скачайте сценарий bitrix_server_test.php, загрузите его в корневой каталог на новом хостинге и откройте его в браузере. Тестирование сразу не начинается, но нужная информация появляется в доступе
- При соответствии нового хостинга требуемым настройкам можете начинать восстановление резервной копии. Для этого загрузите в корневую директорию сценарий restore.php и архив с резервной копией. Откройте сценарий в браузере, выберите архив с резервной копией и кликните Далее
- После загрузки и распаковки архива заполните поля в Восстановление базы данных. Как правило, параметры базы приходят на вашу электронную почту при покупке нового хостинга. Но вы можете и сами создать БД, имя пользователя и пароль в административной панели. Нажмите Восстановить
- После получения сообщения Операция выполнена успешно переименуйте в корне сайта .htaccess в _htaccess, а .htaccess.restore — в .htaccess. Операция завершена
Таким образом, благодаря наличию встроенных инструментов перенос Битрикс на другой хостинг не является сложным процессом
Перенос с помощью rsync и mysqldump
Перенос сайта Битрикс на другой хостинг при помощи встроенных инструментов не всегда подходит по разным причинам. Поэтому есть возможность использовать другой способ — с помощью rsync и mysqldump. Этот способ целесообразно применять, когда сайты имеют значительный объем, а также присутствует множество небольших файлов. Еще основанием для его применения может быть недостаточность места на сервере, а также низкая скорость первоначального хостинга.
Перенос сайта Битрикс на другой хостинг с помощью rsync и mysqldump хоть и требует определенного опыта в области системного администрирования, но зато и обладает существенными достоинствами
- Большее управление и возможность применения различных вариантов переноса
- Возможность обнаружения и исправления ошибок благодаря ручной синхронизации файлов
- Минимальный промежуток времени, в течение которого сайт не работает
- Отсутствие временных рамок со стороны серверов
- Значительное уменьшение нагрузки на сервер при переносе больших сайтов. Это происходит благодаря созданию при переносе вручную одного крупного архива. При использовании же встроенных инструментов создается архив, состоящий из множества томов с резервными копиями
Поскольку Битрикс, как и большинство подобных систем, включает в себя файлы и базу данных, то перенос этих компонентов проводится раздельно. Перенос файлов осуществляется с помощью плагина rsync, а перенос базы — посредством mysqldump. Сам перенос происходит следующим образом:
- Для переноса файлов активируйте rsync для корневой папки сайта со старого сервера на новый
[root@server1 ~]# rsync -avz корневая _директория_сайта/
root@ip_сервера_получателя:/home/bitrix/www/
Чтобы провести досинхронизацию файлов, активируйте эту команду еще раз. Кроме изменений ничего копироваться больше не будет
- При помощи mysqldump сделайте дамп БД:
[root@server1 ~]# mysqldump -u имя_пользователя -p ИМЯ_БАЗЫ > ИМЯ_БАЗЫ.sql
- С помощью rsync скопируйте дамп БД, но не копируйте его в корневую папку, поскольку она может быть доступна для других пользователей
[root@server1 ~]# rsync -avz ИМЯ_БАЗЫ.sql root@ip_сервера_получателя:/home/bitrix/
- Создайте на новом сервере БД
[root@server2 ~]# mysql -u имя_пользователя -p
mysql > create database ИМЯ_БАЗЫ;
mysql > exit;
- Сделайте импорт
[root@server2 ~]# mysql -u имя_пользователя -p ИМЯ_БАЗЫ < ИМЯ_БАЗЫ.sql
- Проконтролируйте и, если есть такая необходимость, внесите изменения в настройки подключения к БД в файлах bitrix/.settings.php и bitrix/php_interface/dbconn.php
- Проверьте, как сайт работает
Проверка системы после переноса
Для того, чтобы удостовериться в правильности работы системы после переноса сайта Битрикс на другой хостинг, откройте административную панель и проведите проверку, следуя такому алгоритму:
Рабочий стол — Настройки — Инструменты — Проверка системы
При необходимости проверки работоспособности Битрикс на новом хостинге без перенаправления на него трафика также существуют другие варианты:
- по IP-адресу
- по техническому домену (при условии его существования на сайте)
- по основному домену на перемещенной странице при помощи файла host
Возможные проблемы при переносе сайта
При переносе сайта Битрикс на другой хостинг возможно появление определенных проблем. Например:
- Несоответствие версий php и mysql Проблема может возникнуть, если на старом сайте используются устаревшие версии php и mysql, а на новом — обновленные. Помимо этого, обновления Битрикс также должны быть установлены. Для этого сначала обновите php и mysql на старом и новом хостинге, после чего провести обновления Битрикс
- Проблемы с исполнением старых правил/редиректов .htaccess Поскольку после переноса файл .htaccess сохраняется как .htaccess.restore,а вновь созданный файл .htaccess включает в себя правила по умолчанию, поменяйте имя старого файла или переместите нужные правила из него во вновь созданный файл
- Проблемы с почтовыми отправлениями В Битрикс почта отправляется с применением php функции mail(). Посредством phpinfo() проверьте, чтобы показатель sendmail_path указывал путь до sendmail или его заменитель. Обнаружить большую часть проблем с почтовыми отправлениями можно с помощью лога почтового сервера, который по умолчанию является файлом /var/log/maillog
- Исчезает авторизация пользователя Проблема может возникнуть при некорректной работе хостинга или сервера. Проверку правильного выполнения этой функции вы можете произвести, используя программу bitrix_server_test.php
- Трудности с импортом БД Если возникли проблемы при импорте БД свыше 1 Гб, проведите этот процесс с использованием консоли
- Проблемы при несовпадении собственников данных Возникают в случае, когда на хостинге работа PHP производится от имени одного, а доступ по ftp/ssh предоставлен другому пользователю. По этой причине модификация файлов, созданных одним способом, может быть невозможна из-за их недоступности. Помимо этого такое несовпадение владельцев файлов может способствовать появлению ошибки выполнения из-за нарушения норм безопасности
- Проблемы с установкой регулировок безопасности Могут возникнуть в том случае, когда при наличии нескольких способов подключения PHP к серверу в каких-либо вариантах подключения существуют строгие рамки как на собственника файла, так и на права на файл. Для решения этой проблемы установите точные права на файлы и правильные параметры в dbconn.php. По этой же причине возможно возникновение ошибки 500, исправление которой возможно только с помощью журнала ошибок веб-сервера
- Нелогичное поведение сайта Открытие сайта происходит по непредсказуемому сценарию или появляется белый экран. Такая проблема может возникнуть при наличии существенных ограничений на время реализации скрипта со стороны хостинга. Хостер может ограничивать также и другие выделяемые ресурсы. Обратите внимание на тот факт, что особой восприимчивостью к объему памяти и времени проведения процесса обладают скрипты, отвечающие за экспорт и импорт файлов.
Частые ошибки после переноса сайта на 1С-Битрикс на другой хостинг
Также уже после переноса сайта на 1С-Битрикс на другой хостинг нередко возникают некоторые ошибки. Ниже мы приведем наиболее типичные из них:
- Ошибка Mysql connect error Проверьте, насколько правильно задан доступ к базе данных в файлах bitrix/php_interface/dbconn.php и bitrix/.settings.php
- Ошибка DB query error. Please try later Чтобы подробнее разобраться в деталях ошибки, в файле bitrix/php_interface/dbconn.php введите значение $DBDebug = true
- Ошибка кодировки. Возможная причина может крыться в том, что сайт работает в кодировке UTF-8, а конфигурация сервера не удовлетворяет требованиям. Для исправления проведите установку параметров PHP:
- mbstring.func_overload=2
- mbstring.internal_encoding=UTF8
В принципе, если появление ошибок стало относительно регулярным, мы рекомендуем проверить, насколько доступны ресурсы на выбранном хостинге, а также — какие ограничения существуют при их использовании. Если условия хостинга вас не устраивают, смените его.
Заключение
Таким образом, можно сделать вывод, что способ, которым вы будет проводить перенос сайта Битрикс на другой хостинг, будет зависеть от многих факторов. В первую очередь, это — величина и сложность структуры переносимого ресурса. И это вполне естественно, поскольку при относительно небольшом размере и не очень сложной структуре перемещаемого сайта функциональных возможностей встроенных инструментов будет вполне достаточно. А вероятность некорректного переноса и возникших вследствие этого проблем будет минимальной.
Если же нужно сделать перенос сайта Битрикс значительного объема и большой разветвленной структурой, то мы рекомендуем использовать ручной метод переноса с применением rsync и mysqldump. В этом случае вы имеете возможность не только полностью контролировать весь процесс переноса, но также и вовремя обнаруживать и устранять ошибки. Но для использования этого способа необходимо, чтобы у вас были навыки системного администратора или присутствие хорошего специалиста