# Приложение A: Проверка после миграции

После миграции с одной из поддерживаемых исходных платформ вы можете выполнить проверку после миграции, чтобы убедиться, что перенесенные сайты, почтовые учетные записи, базы данных и так далее доступны на целевом сервере.

Проверка после миграции используется для подтверждения работоспособности следующих аспектов:

- Сайты
- Почта
- DNS
- Базы данных
- Системные пользователи

По каждому аспекту проводятся специальные тесты для каждого перенесенного объекта (сайта, почтовой учетной записи, системного пользователя и так далее). Подробная информация об этих тестах приводится далее в этом разделе.

## Сайты

Для каждого перенесенного домена проверяется следующее:

- Адрес домашней страницы.
- Веб-приложения, установленные через Plesk.
- Адреса относительных ссылок, находящихся на домашней странице, в форме `http(s)://DOMAIN/RELATIVE_URL`.

К стартовой странице каждого сайта делается обращение с исходного сервера и с целевого сервера. Анализируется содержимое стартовой страницы, и проверяются все относительные ссылки в форме `<a href="RELATIVE_URL">`, указывающие на один и тот же домен. Для ускорения процесса, ссылки группируются по папке и расширению, и из каждой группы случайным образом выбирается одна ссылка для проверки. Например, если ссылки `http://DOMAIN/pages/about.php` и `http://DOMAIN/pages/contacts.php` находятся на стартовой странице, только одна из этих ссылок будет проверена.

Для каждой из выбранных ссылок отправляется запрос на соответствующий адрес на исходном и целевом серверах (при получении кодов состояния HTTP 301 и 302 выполняются соответствующие перенаправления). Полученная веб-страница анализируется на присутствие ошибок HTTP. Проверка считается успешной, если выполняются следующие условия:

- Коды состояний HTTP(S) идентичны.
- Коды состояний HTTP(S) на целевом сервере не являются кодами 4xx или 5xx, которые обычно означают наличие ошибки (исключение делается для кода 401, используемого для папок, защищенных паролем).
- HTML-тэги `<title>` в обоих полученных документах либо идентичны, либо отсутствуют.

Иначе считается, что тест не пройден.

## Почта

Для каждого перенесенного домена все почтовые учетные записи, присутствующие на исходном сервере, должны также присутствовать и на целевом сервере. Выполняются следующие тесты:

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

## DNS

Для каждого перенесенного домена все записи ресурсов должны быть перенесены с исходного сервера на целевой сервер, при этом IP-адреса с исходного сервера должны быть заменены на IP-адреса с целевого сервера согласно правилам сопоставления IP-адресов. Выполняются следующие тесты:

- Для каждого перенесенного домена список основных записей DNS (таких как A, AAAA, MX, CNAME и так далее) на исходном сервере сравнивается с соответствующим списком на целевом сервере, чтобы удостовериться в том, что ни одна запись не потеряна.
- Для каждого перенесенного домена запрашивается список основных записей DNS на целевом сервере, чтобы проверить, что все записи могут быть распознаны и указывают на IP-адреса с целевого сервера.

## Базы данных

Для каждого перенесенного домена все базы данных, присутствующие на исходном сервере, должны присутствовать также и на целевом сервере. Выполняются следующие тесты:

- Для каждой базы данных на исходном сервере проводится проверка того, что эта база данных присутствует на целевом сервере и зарегистрирована в Plesk.
- Для каждой перенесенной базы данных список пользователей на исходном сервере сравнивается с соответствующим списком на целевом сервере, чтобы удостовериться, что ни один пользователь не потерян. Кроме того, для каждого пользователя базы данных на целевом сервере выполняется попытка авторизации.
- Для каждой перенесенной базы данных список таблиц на исходном сервере сравнивается с соответствующим списком на целевом сервере, чтобы удостовериться, что ни одна таблица не потеряна.

## Системные пользователи

Для каждого перенесенного домена все системные пользователи (то есть пользователи, которые могут подключаться к серверу по FTP или по SSH / RDP), присутствующие на исходном сервере, должны также присутствовать и на целевом сервере. Выполняются следующие тесты:

- Для каждого перенесенного домена список системных пользователей на исходном сервере сравнивается с соответствующим списком на целевом сервере, чтобы удостовериться, что ни один системный пользователь не потерян.
- Для каждого системного пользователя выполняется вход на целевой сервер по FTP и по SSH (только в Plesk для Linux). Для системных пользователей Windows проверяется членство в группе «Пользователи удаленного рабочего стола».