Переезд на другой хостинг — операция, которую делают редко и потому каждый раз заново. Задача не сложная, но состоит из десятка шагов, и пропуск любого превращает переезд в простой сайта.
Разберём порядок действий, который позволяет перенести сайт на 1С-Битрикс без потери заказов и без периода, когда сайт недоступен.
Подготовка
До того как что-то копировать, соберите информацию:
| Что выяснить | Зачем |
|---|---|
| Версия PHP на старом сервере | На новом должна быть такая же или совместимая |
| Версия MySQL или MariaDB | Дамп должен корректно залиться |
| Объём файлов и базы | Оценка времени переноса |
| Установленные расширения PHP | Битрикс требует определённый набор |
| Где хранятся почтовые ящики | Почта на домене может переезжать отдельно |
| Значение TTL у DNS-записей | Влияет на скорость переключения |
Последний пункт часто упускают. Если TTL записи равен суткам, переключение домена растянется на сутки. Снизить его до 300 секунд нужно за день-два до переезда — тогда в час X переключение произойдёт за минуты.
Шаг 1. Резервная копия
Полная копия старого сайта — файлы и база. Она понадобится и для переноса, и как страховка. Способы разобраны в статье Резервное копирование Битрикс.
Из архива стоит исключить кеш — он создастся заново и только раздувает объём:
/bitrix/cache/
/bitrix/managed_cache/
/bitrix/stack_cache/
/upload/resize_cache/
Нужна помощь с Битрикс?
Шаг 2. Подготовка нового сервера
- Установите нужную версию PHP и необходимые расширения.
- Создайте базу данных и пользователя с правами на неё.
- Настройте веб-сервер: корень сайта, обработку PHP, лимиты.
- Проверьте лимиты:
memory_limit, время выполнения, размер загрузки. - Настройте SSL — сертификат должен быть готов до переключения домена.
Про требования Битрикс к окружению есть подробный материал Настройка сервера Ubuntu для сайта на Битрикс.
Шаг 3. Перенос данных
Файлы удобнее переносить напрямую между серверами, минуя локальный компьютер:
rsync -avz --progress \
-e ssh user@old-server:/home/site/public_html/ \
/home/site/public_html/
База переносится дампом:
# на старом сервере
mysqldump --single-transaction --quick -u user -p db_name | gzip > dump.sql.gz
# на новом
gunzip < dump.sql.gz | mysql -u user -p db_name
Флаг --single-transaction позволяет снять дамп без блокировки таблиц:
старый сайт продолжает работать во время выгрузки.
Шаг 4. Настройка подключения
Параметры базы прописаны в двух файлах, и оба нужно поправить:
/bitrix/php_interface/dbconn.php
/bitrix/.settings.php
Расхождение между ними — классическая причина белого экрана после переноса. Проверьте оба, а не только первый. Диагностика описана в статье Белый экран в Битрикс.
Шаг 5. Проверка до переключения домена
Ключевой шаг, который экономит нервы. Сайт нужно проверить на новом сервере до того, как на него пойдут посетители.
Проще всего — прописать соответствие домена и нового IP в файле hosts
на своём компьютере. Тогда у вас сайт откроется с нового сервера, а у всех остальных
продолжит работать со старого.
203.0.113.50 site.ru www.site.ru
Что проверить в этом режиме:
- Главная страница открывается.
- Каталог и карточки товаров работают.
- Изображения отображаются.
- Административная часть доступна, авторизация проходит.
- Форма обратной связи отправляется и письмо приходит.
- Оформление заказа проходит до конца.
- В разделе «Проверка системы» нет критичных ошибок.
Шаг 6. Переключение
Порядок, при котором не теряются заказы:
- Заранее снизьте TTL DNS-записей.
- Закройте старый сайт на техработы или переведите в режим только для чтения — чтобы во время переноса не появлялись новые заказы.
- Сделайте финальный дамп базы и залейте на новый сервер.
- Досинхронизируйте файлы: за время подготовки могли добавиться загрузки.
- Переключите A-запись домена на новый IP.
- Дождитесь обновления DNS и убедитесь, что сайт открывается с нового сервера.
- Снимите режим техработ.
Второй пункт — то, ради чего всё выстраивается. Без него заказы, оформленные между снятием дампа и переключением, просто исчезнут: они останутся в базе старого сервера, которую уже никто не будет переносить.
Шаг 7. После переезда
- Очистите кеш — в нём могли остаться старые пути.
- Проверьте почту. Сменился IP-адрес отправителя, и письма могут начать попадать в спам. Проверьте DNS-записи домена — см. Письма с сайта попадают в спам.
- Проверьте права на файлы и владельца — при переносе они часто сбиваются.
- Настройте агенты на cron, если использовались.
- Настройте резервное копирование на новом месте — про него забывают чаще всего.
- Проверьте обмен с 1С: адрес обработчика мог измениться.
- Обновите IP в панелях платёжных систем, если там была привязка.
- Не удаляйте старый сайт хотя бы две недели.
Что ломается чаще всего
| Симптом | Причина |
|---|---|
| Белый экран | Параметры подключения к базе |
| Ошибка 403 | Права на файлы или владелец |
| Не грузятся изображения | Не перенеслась папка /upload/ |
| Письма перестали приходить | Новый IP, не настроен SMTP |
| Не работает админка | Не хватает расширений PHP |
| Обмен с 1С не проходит | Старый адрес в настройках 1С |
| Сайт то со старого, то с нового | DNS ещё обновляются |
Частые ошибки
- Переключение домена до проверки. Проблемы обнаруживаются уже на живых посетителях.
- Старый сайт не закрыт во время переноса. Заказы теряются.
- TTL не снижен заранее. Переключение растягивается на сутки.
-
Правится только
dbconn.php. Второй файл с настройками остаётся со старыми данными. - Резервное копирование не настроено на новом сервере. Обнаруживается, когда копия понадобилась.
- Старый сервер отключён сразу. Вернуться при проблемах некуда.
Итог
Перенос сайта на 1С-Битрикс сводится к трём этапам: подготовить новый сервер
и проверить сайт на нём через файл hosts, перенести данные
с закрытием старого сайта на время финальной синхронизации, переключить DNS
с заранее сниженным TTL.
Два правила, которые превращают рискованную операцию в рутинную: проверять сайт на новом сервере до переключения домена и не удалять старый сервер минимум две недели после переезда.
