ISPmanager 6 — альтернатива cPanel с похожим функционалом, но более гибкой лицензионной политикой и нативной поддержкой Nginx. Перенос сайтов с cPanel не требует сложных инструментов — всё делается через стандартные бэкапы и импорт, но порядок шагов важен: пропущенный этап почты или прав доступа даёт рабочий сайт с нерабочей отправкой писем.
Сравнение cPanel и ISPmanager 6
Развёрнутое сравнение возможностей — в статье ISPmanager 6 vs cPanel; если нужен перенос между двумя серверами уже на ISPmanager, смотрите статью перенос сайта между серверами в ISPmanager 6.
| Функция | cPanel | ISPmanager 6 |
|---|---|---|
| Управление сайтами | Да | Да |
| MySQL/MariaDB | phpMyAdmin | Встроенный инструмент |
| Почта | Да (Roundcube) | Да (Roundcube) |
| SSL (Let's Encrypt) | Да | Да |
| Nginx + PHP-FPM | Нет (только Apache) | Да, нативно |
| Docker/контейнеры | Нет | Базовая поддержка |
| Цена/месяц (1 сервер) | $25+ | €15–30 |
Шаг 1: экспорт из cPanel
# Через cPanel -- Backup Wizard -- Full Account Backup
# Скачать .tar.gz архив аккаунта
# Или через CLI на сервере с cPanel
/usr/local/cpanel/scripts/pkgacct USERNAME /home/backup/
Шаг 2: создание пользователя в ISPmanager
# В ISPmanager: Пользователи -- Создать
# Или через CLI ISPmanager
/usr/local/mgr5/sbin/mgrctl -m ispmgr user.edit name=myuser passwd=StrongPass123 email=user@example.com package=default
Шаг 3: перенос файлов сайта
# Загрузить бэкап на новый сервер
scp backup-cpanel.tar.gz root@new-server:/tmp/
# Распаковать и скопировать файлы
cd /tmp && tar -xzf backup-cpanel.tar.gz
rsync -av /tmp/homedir/public_html/ /var/www/www-root/data/www/example.com/
# Установить права
chown -R www-data:www-data /var/www/www-root/data/www/example.com/
Разбор типичных ошибок при переносе
- 500 Internal Server Error сразу после копирования файлов — чаще всего дело в правах: скопированные файлы сохраняют владельца cPanel-аккаунта, а PHP-FPM в ISPmanager работает от другого пользователя.
- SQLSTATE[HY000] [1045] Access denied for user в конфиге сайта после импорта БД — пользователь MySQL из cPanel не перенёсся вместе с дампом, его нужно создать заново в ISPmanager с тем же именем и новым паролем.
- Письма уходят, но не приходят получателям — на новом сервере не настроены SPF/DKIM записи или сохранился старый MX, указывающий на сервер cPanel; проверьте DNS отдельно от факта успешной отправки.
- PHP Fatal error: require(): Failed opening required — в архиве cPanel относительные пути прописаны иначе, чем ожидает структура каталогов ISPmanager (
/var/www/www-root/data/www/вместоpublic_html).
Шаг 4: восстановление MySQL баз данных
# Найти дампы БД в бэкапе cPanel
ls /tmp/mysql/
# backup-db1.sql.gz, backup-db2.sql.gz ...
# Создать БД в ISPmanager (через веб-интерфейс или CLI)
# Импортировать
zcat /tmp/mysql/db1.sql.gz | mysql -u root -p db1_new
Шаг 5: перенос email-ящиков
# Извлечь почту из бэкапа cPanel
ls /tmp/mail/example.com/
# user1/ user2/ ...
# Скопировать Maildir на ISPmanager
rsync -av /tmp/mail/example.com/ /var/vmail/example.com/
# В ISPmanager создать ящики с теми же именами и паролями
# (пароли придётся сбросить -- cPanel хранит только хеши)
Пароли почтовых ящиков: сохранить пароли при миграции почты нельзя — они хранятся в виде хешей, несовместимых между панелями. Разошлите пользователям письма с инструкцией по установке нового пароля заранее, до переключения MX-записи.
Настройка SSL в ISPmanager
# ISPmanager автоматически выпускает Let's Encrypt SSL
# Сайты -- выбрать домен -- SSL -- Let's Encrypt -- Включить
# Или через CLI
/usr/local/mgr5/sbin/mgrctl -m ispmgr ssl.edit elname=example.com letsencrypt=on
Сравнение способов переноса почты и файлов
| Данные | Способ переноса | Риск потери |
|---|---|---|
| Файлы сайта | tar.gz + rsync | Низкий |
| Базы данных | mysqldump / встроенный бэкап | Низкий при проверке дампа |
| Почтовые ящики | rsync Maildir | Средний (пароли теряются) |
| Cron-задания | Ручной перенос из crontab -l | Высокий (часто забывают) |
Права на файлы: ISPmanager использует схему прав, отличную от cPanel. После переноса проверьте, что PHP-скрипты могут читать и писать нужные директории (/var/www/www-root/data/www/), иначе сайт откроется, а загрузка файлов или кэш перестанут работать.
Когда такой перенос не подходит
- Нужен перенос без даунтайма — метод через полный бэкап предполагает паузу между экспортом и переключением DNS; для нулевого простоя нужна отдельная схема с параллельной работой двух серверов и финальной синхронизацией.
- На старом сервере используются специфичные модули Apache (mod_security-правила, кастомные .htaccess под конкретную версию Apache) — ISPmanager работает с Nginx, и такие правила придётся переписывать под другой веб-сервер, а не просто скопировать.
- Аккаунтов десятки и больше — ручной перенос по шагам выше не масштабируется; для массовой миграции нужен скрипт, автоматизирующий экспорт и создание пользователей через CLI ISPmanager.
Как проверить, что перенос завершён успешно
# Сайт открывается напрямую по IP нового сервера (до переключения DNS)
curl -H "Host: example.com" http://NEW_SERVER_IP/ -I
# База данных на месте и таблицы читаются
mysql -u root -p -e "USE db1_new; SHOW TABLES;"
# Почтовый ящик принимает письма локально
echo "test" | mail -s "test" user1@example.com
# После переключения DNS -- MX действительно ведёт на новый сервер
dig MX example.com +short
Если сайт отвечает по прямому IP, таблицы базы видны и не пусты, тестовое письмо доставляется в Maildir, а MX после переключения указывает на новый сервер — миграция завершена без потерь.