В успешно сделанных на текущий момент миграциях выполнялась такая последовательность действий: создавали новый тестовый сервер, копировали на него сайт, делали миграцию на новом тестовом сервере, добивались результата, потом переносили на новый сервер боевой сайт, и делали повторно миграцию на боевом.
Итак, есть сайт, либо пока тестовый, либо уже итогово боевой.
План:
- Выполнить обновление Битрикс до последней версии
Предварительная подготовка (не требует остановки сайта).
-
Подготовить сервер для Битрикс24
-
Создать сайт на хостинге для b24. Обычно создаем на поддомене: b24.site.ru. Важно: нужно, чтобы сайт открывался без www и с www, то есть b24.site.ru и www.b24.site.ru. Нужно создать в DNS соответствующие записи. Это нужно для сертификата SSL.
-
Убедиться, что в папке сайта нет ни одного файла внутри.
-
Установить SSL-сертификат на этот сайт (уже можно, т. к. сайт новый и IP настраиваем сразу на новый сервер).
-
Прописать SetEnv версию битрикс веб-окружения в .htaccess
SetEnv BITRIX_VA_VER "7.4.3"
-
(только на боевом) Убедиться, что есть резервная копия за вчера. Если есть возможность (место на диске) сделать бэкап всех файлов сайта и БД непосредственно перед миграцией.
-
Включить Галочку "Быстрая отдача файлов через Nginx" в главном модуле.
-
Сделать проверку системы. На боевом все должно быть ок. На тестовом может ругаться на cron и почту - это ожидаемо, так как там cron отключен.
Миграция (требует остановки сайта, если это боевой)
Бэкапы и остановка сайта.
-
(только на боевом) поставить заглушку, что проводятся работы. Заглушку надо ставить НА ВСЕХ САЙТАХ, а то с других сайтов на этом же ядре будет БД изменяться в процессе миграции
-
(только на боевом) остановить cron (чтобы не менял БД в процессе миграции)
-
(только на боевом) Опять убедиться, что есть резервная копия за вчера. Если есть возможность (место на диске) сделать бэкап всех файлов сайта и БД непосредственно перед миграцией.
-
(только на тестовом) еще раз: ТОЛЬКО НА ТЕСТОВОМ! Почистить b_event (truncate), запустить www/bitrix/modules/main/tools/cron_events.php на несколько секунд, чтобы зарегистрировался запуск cron, и потом сразу останавливаем по Ctrl-C (чтобы не наделал чего-нибудь, мало ли он начнет во внешние системы стучаться). А то если cron давно не запускался, то мастер будет ругаться.
Миграция
- Идем в Мастер установки Битрикс24.
- Проходим первые информационные шаги.
- Он может спросить купон на миграцию, а после ввода купона сказать, что он недействителен. Или он может сказать, что нарушена лицензия. Нужно опять слева нажать на мастер (т. е. начать мастер заново) пройти первые шаги еще раз. Должно быть все ок. Если продолжает спрашивать купон и ругаться - пойти в Обновление платформы и посмотреть, не предлагает ли он обновить систему Site Update или установить новые модули, или нет ли там сообщений об ошибках лицензии. Если есть ошибки - действуем по ситуации для их исправления. Если нет - и только просит обновиться - делаем это и опять возвращаемся в мастер (каждый раз нужно начинать мастер с первого шага). Если купон не спросил - продолжаем.
- Далее будет один или два шага установки модулей. Если два, то в первый раз он попросит установить модули руками через обновление, а во второй предложит установить модули прямо из мастера. Если один шаг, то только второй - установка прямо из мастера.
- Когда просит перейти в систему обновлений и установить модули там. Делаем как он просит. Потом заходим в мастер и прокликиваем опять с первого шага. Иначе могут возникнуть ошибки дальше. (хотя, похоже, они могут и с прокликиванием возникнуть).
- Когда говорит, что сейчас сам установит модули - делаем как он просит. В процессе он может ругнуться "Connection Error. Empty response". Также он может ругаться, что не может создать какие-то таблицы, потому что они уже есть. Нажимаем Повторить шаг, должно все пройти ок.
- После установки модулей он просит настроить многосайтовость. Это значит, что нужно создать поддомен для Битрикс24 руками на хостинге. Это мы уже сделали в разделе "Подготовка". Поэтому сейчас ничего не нужно делать, просто отмечаем галочку "Я все выполнил".
- Дальше он спрашивает, куда поставить Б24.
- Сначала идем в папку нашего поддомена и создаем симлинки на: bitrix, local, upload. На всякий случай - если на основном сайте нет папки local/ - создаём пустую.
- Потом:
- Выбираем "Добавить новый сайт".
- Код сайта он выбирает сам.
- Название сайта - любой текст, например "Мой Б24".
- Доменное имя - имя созданного поддомена для Б24, например b24.mysite.ru.
- Путь к корневой папке веб-сервера - вот тут важно указать правильный путь до public_html ПОДДОМЕНА, а не основного сайта. Например, /var/www/myuser/data/www/b24.mysite.ru/public_html
- Заменить существующее решение при необходимости - да.
- Нажимаем Продолжить.
- Дальше он думает, думает.
- Потом просит указать, кто будет иметь доступ: менеджеры магазина и администраторы магазина. Для обоих случаев выбираем группы "Администраторы" и "Администраторы интернет-магазина" (upd: похоже опцию Администраторы убрали, остались только Администраторы интернет-магазина) (upd2: похоже, бывает то так, то так).
- Далее он говорит "Поздравляем!". Но это еще не все! Кнопки не нажимать! В конце инструкции самого Битрикса указаны еще необходимые действия.
- Нужно включить показ административной панели в настройках Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль, вкладка Настройки). (не знаю, зачем это, но надо - значит надо)
- Зайти в Настройки > Настройки продукта > Сайты > Список сайтов. У поддомена для Б24 установить индекс сортировки МЕНЬШЕ, чем у основного сайта.
- После этого можно в Мастере нажимать "Перейти к заказам" и наслаждаться Б24.
- Понаслаждались и хватит. Теперь нужно в .htaccess сайта на b24 тоже прописать SetEnv, как делали для основного (иначе проверка системы будет ругаться красным).
SetEnv BITRIX_VA_VER "7.4.3"
- Сбросить кеш на всем сайте (быстрее всего руками удалить папки cache, managed_cache, stack_cache, html_pages). Иначе могут встречаться артефакты.
- Зайти в Обновление платформы. Там он может ругаться на нарушение лицензии - слишком много пользователей. В описании лицензии ниже есть пункт "Максимальное количество пользователей: 12, из них используется 13". Можно кликнуть на "13" и увидеть список "Лицензируемые пользователи". Как правило проблема решается удалением одного из ненужных пользователей администраторов.
- Сделать на поддомене редирект на HTTPS.
- Пойти в проверку системы на ПОДДОМЕНЕ проверить, что все ок. (не знаю, почему именно на поддомене, просто интуиция). Если ругается на что-то, кроме производительности, надо исправлять (пока такого замечено не было).
- Ну теперь, вроде, все, но если сайт боевой - надо не забыть запустить его обратно.
Запуск сайта после миграции
- Включить обратно cron.
- Снять заглушку (со всех сайтов, если их было больше одного)
Когда заработает Б24?
Вначале в Б24 нет заказов. Чтобы они появились, должно пройти какое-то время. Заказы конвертируются из БУС в Б24 в фоновом режиме по cron. Примерно по 20 заказов за 1 запуск cron.