РазделПереезд
Переезд
Аккаунт переезжает целиком: unix-пользователь с прежним паролем, сайты, базы с
прежними паролями, cron, сертификаты, а между двумя MonoPanel — ещё почта, app-сервисы
(выключенными) и настройки экземпляров Valkey. Перенос запускается на новом сервере,
источник только читается — там не меняется ни один файл, и старый сервер остаётся
запасным, пока DNS не переключён. plan ничего не создаёт и показывает, что
приедет и что мешает: занятый логин (--as <логин>), домен или база, которые
здесь уже есть, ветка PHP, которой нет (mp php install 8.2), нехватка места.
С другого сервера с MonoPanel. На старом сервере выдаётся токен — на один аккаунт, только на чтение, со сроком жизни:
mp migrate grant user:alex # на старом сервере
mp migrate plan --source https://old:8443 --token … --scope user:alex # на новом: разбор
mp migrate run --source https://old:8443 --token … --scope user:alex # на новом: переносС BitrixVM / bitrix-env 7–9. Нужен ssh на старый сервер под root: ключом
(--key, по умолчанию ~/.ssh/id_ed25519 того, кто запускает mp) или паролем
(--password-stdin). Основной сайт BitrixVM живёт под server_name _, имя ему
даёт --domain; дополнительные сайты из /home/bitrix/ext_www приезжают под
своими именами. Аккаунт один — bitrix, здесь его можно принять под другим
логином (--as).
mp migrate plan --from bitrixvm --source root@old.example.com --domain shop.example.com
mp migrate run --from bitrixvm --source root@old.example.com --domain shop.example.comРеквизиты базы берутся из bitrix/.settings.php (или dbconn.php), аккаунт MySQL
заводится с тем же паролем; пути /home/bitrix переписываются в dbconn.php,
.settings*.php, командах cron и симлинках link-сайтов. Кеш Битрикса, push-сервер,
memcached и msmtp окружения не едут (mp stack install memcached, если нужен).
Работает и с bitrix-env 7 на CentOS 7: дамп MySQL 5.7 по пути приводится к
MySQL 8.
С FASTPANEL 2. Тот же ssh под root. Без --scope разбор перечислит аккаунты
панели:
mp migrate plan --from fastpanel --source root@old.example.com # кто есть на источнике
mp migrate run --from fastpanel --source root@old.example.com --scope user:shop [--as shop2]Приезжают сайты с их версией PHP и режимом (php-fpm или Apache), docroot, алиасами и allow-списками, базы с прежними хешами паролей, сертификаты (загруженные и Let's Encrypt), cron. Почта FASTPANEL не переносится — разбор скажет, сколько ящиков заводить заново.
После переноса (любой источник):
- Проверить сайт по адресу нового сервера, не трогая DNS:
curl --resolve shop.example.com:80:<новый IP> http://shop.example.com/. - Аккаунту с чужой панели задать пароль веб-панели:
mp user set <логин> --generate(unix-пароль для SFTP уже прежний). - Переключить DNS. Перевезённые сертификаты работают сразу, дальше их продлевает
панель; сайту без сертификата —
mp ssl issue <домен>.
Если у старого сервера сломан DNS (мёртвый nameserver в resolv.conf), каждая
ssh-команда разбора занимает секунды — почините resolv.conf там. Что именно
переносится и что нет: docs/07-migration.md.