Копирование пользователей и их данных из ISPManager 4 в VestaCP

Некоторое время назад командой ISPSystem было объявлено об окончании поддержки панели 4 и о создании 5 версии этой панели. Естественно, что нормального механизма для переноса предложено не было. Собственно говоря, никаких изысков и особых удобств панель управления не представляет, а доблестная поддержка ISPSystem — троллинг и отфутболивание пользователей. Для получения поддержки нужно приобретать обращения(создавать инциденты) по 30 евро за штуку! И это при том, что панель управления 5 платная.
Конечно же, вопрос о переходе с «вечной» бесплатной 4-ой версии на 5-ую нами даже не рассматривался (так как в перспективе уже замаячило довольно скорое появление 6-ой версии :D), мы обратили пристальное внимание на панель управления . Тестирование и работа с панелью Vesta показала ее отличную работоспособность. В связи с этим нашими администраторами был наскоро написан скрипт копирования пользователей, их доменов, файлов, баз данных MySQL, почтовых ящиков из ISPmanager 4 в VestaCP.
Конечно же, скрипт не безупречен и требует наличия сразу двух серверов — исходного c ISPManager 4 и нового, с установленным и настроенным VestaCP, однако вполне работоспособен и бесплатен. Кроме того, в настоящее время имеется ряд ограничений при переносе, которые в перспективе могут быть устранены.
При возникновении проблем при переносе пишите комментарии к этому сообщению — постараемся ответить в рабочее время.

Итак, приступим. Если у вас новый сервер, с только что установленной и обновленной ОС, то самое время установить панель управления vestaCP (если панель VestaCP уже установлена, то сразу переходите к букве B):
A-> Для этого зайдите в консоль сервера пользователем root и дайте команду:
curl -O http://vestacp.com/pub/vst-install.sh
Мы рекомендуем быструю установку панели vestaCP без spamassassin и clamav, для копирования данных они не нужны, и их всегда можно добавить на сервер позднее.
Выполните установку панели командой (потребуется указать hostname, ваш адрес email и пароль:
bash vst-install.sh --nginx yes --apache yes --phpfpm no --vsftpd yes --proftpd no --exim yes --dovecot yes --spamassassin no --clamav no --named yes --iptables yes --fail2ban no --mysql yes --postgresql no --remi yes --quota yes

B-> Теперь самое время начать перенос пользователей из ISPmanager 4 в панель управления VestaCP. Обращаем ваше внимание, что:

  • копирование данных скриптом isp2vesta возможно тогда и только тогда, когда на сервере установлены nginx в качестве прокси и apache в качестве основного веб-сервера
  • на исходном сервере с ISPmanager никакие данные не изменяются, пакеты и программы не устанавливаются.
  • при копировании без указания пользователя переносятся все пользователи ISPmanager, включая отключенных
  • Копирование реселлеров из ISPManager PRO не происходит в виду отсутствия этого функционала в VestaCP
  • пути пользователей ISPManager используются дефолтные: /var/www/USERNAME
  • для копирования данных необходимо, чтобы на исходном сервере работал SSH на 22 порту и у вас был доступ к серверу root
  • для копирования баз данных MySQL необходимо, чтобы на исходном сервере работал MySQL 🙂
  • для копирования не нужна действующая лицензия ISPManager, так как её функционал для переноса не используется (Слава Нептуну!)

Чтобы скопировать пользователей, требуется скачать скрипт с этого сайта, или взять на GitHub.

# wget chast.in/isp2vesta

Перед началом копирования можно установить следующие параметры скрипта, которые вынесены в начало скрипта, а именно:

DEFAULT_WEB_TEMPLATE='phpcgi'
DEFAULT_PACKAGE='default'
DEFAULT_USER_EMAIL='support@vps-server.ru'

Где DEFAULT_WEB_TEMPLATE — шаблон для Web;
DEFAULT_PACKAGE — пакет по-умолчанию;
DEFAULT_USER_EMAIL — адрес электронной почты пользователя, если она не установлена в ISPmanager

Для начала копирования требуется выполнить команду от root на новом сервере:

# bash isp2vesta IP-ADDRESS ROOT-PASSWORD [имя пользователя]

Параметры IP-ADDRESS и ROOT-PASSWORD являются обязательными. Если не указано имя пользователя, то копируются все пользователи.
Если указать в качестве имени all-enabled-users, то будут скопированы все включенные пользователи
Если указать в качестве имени all-disabled-users, то будут скопированы все отключенные пользователи

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

Данные пользователей
При копировании пользователь создается с тем же именем, что и в ISPManager и с адресом электронной почты, указанной в ISPManager.
Если почта не указана, она заменяется на указанную в начале скрипта DEFAULT_USER_EMAIL (support@vps-server.ru), иначе аккаунт нельзя создать в VestaCP. По той же причине все пользователи имеют одинаковые имена и фамилии.
Пароль пользователя генерируется случайным образом и сохраняется в файле /root/userinfo.txt. Для входа пользователем вы можете сменить пароль при необходимости по окончании экспорта.

Дополнительные FTP-аккаунты
Дополнительные FTP-аккаунты не копируются, при необходимости их нужно создать в VestaCP вручную после экспорта.

Шаблоны ISPManager
Перед переносом нужно настроить шаблон (package) default, в нём указать ваши ДНС и т.п. При переносе скрипт автоматически перенесет шаблоны из ISPManager. Пользователи, у которых шаблон custom, будут скопированы с шаблоном default

Базы данных MySQL
При переносе подразумевается, что вы используете в настройках ISPManager базы данных и пользователей с префиксом, так как реализовано в vestaCP :). Однако, поскольку это не всегда так, базы данных MySQL при отсутствии префиксов переносятся следующим образом:

  • база данных копируется, как есть, без префиксов и делается попытка переноса пользователя без префикса (работает не всегда :))
  • для пользователя создается БД %USERNAME%_db%NUMBER% с %USERNAME%_u%NUMBER% (например, vasya_db1 vasya_u1), которая является симлинком на реальную БД. Скрипты пользователя подключаются по старым реквизитам, возможно использование как старых, так и новых абстракций.
  • Базы данных и пользователи без префиксов добавляются в VestaCP.

При переносе баз MySQL и пользователей с префиксами, базы, как правило, экспортируются без проблем (стучать по дереву в бубен 3 раза) :).

Почтовые ящики пользователей
При экспорте делается попытка создать все почтовые ящики пользователей. Созданные почтовые ящики с паролями сохраняются в файле /root/MailBoxes.txt Для каждого созданного почтового ящика выполняется копирование почтовых сообщений.
Обращаем ваше пристальное внимание на то, что файл MailBoxes.txt создается новым при каждом запуске скрипта!

Проверка результата копирования из ISPManager в VestaCP.

После окончания экспорта пользователя вы можете добавить содержимое файла /root/hostadd.txt в локальный файл вашего домашнего компьютера /etc/hosts для Linux, или C:\Windows\System32\drivers\etc, сохранить его и посмотреть в браузере на результат переноса, открывая перечисленные в hostadd.txt URL-ы 🙂
Обращаем ваше пристальное внимание на то, что файл hostadd.txt создается не создается новым, а дополняется при каждом запуске скрипта!
Подробная информация (лог переноса) находится в файле /root/report.rep
После окончания переноса нужно удалить директорию /root/move, для этого используйте команду:
# rm -rf /root/move
Напоследок, важная информация:
C-> Обращаем ваше внимание, что если вы арендуете виртуальный или выделенный сервер в vps-server.ru, то перенос с ISPmanager 4 на VestaCP производится бесплатно администраторами vps-server.ru

Комментарии 6

  • Здравствуйте.
    Скрипт переносит содержимое почтовіх ящиков?

  • Да, производится попытка скопировать данные почты на новый сервер

  • «data loss OR ISPManager 4 config files not found! Exit.»

  • Такая ошибка возникает в двух случаях:
    1. неправильный пароль root для подключения к исходному серверу (сервер с ISPManager)
    2. на исходном сервере не установлен ISPManager

  • Привет!
    Подскажите, с ISPManager 5 этот скрипт сможет сделать копирование пользователей или скрипт работает только ISPManager 4 ?

  • Нет, из ISP 5 скрипт не копирует данные в настоящий момент. Но вы можете заказать перенос ваших данных из ISPManager 5 на новый сервер с VestaCP в компании vps-server.ru Выбирайте сервер

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *