Docs / Control Panels / Migrate Between Control Panels

Migrate Between Control Panels

By Admin · Mar 15, 2026 · Updated Apr 24, 2026 · 336 views · 2 min read

Planning Your Migration

Migrating between control panels requires careful planning because each panel stores configurations differently. A poorly executed migration can cause data loss, broken sites, or extended downtime.

Pre-Migration Checklist

  1. Inventory all websites, databases, email accounts, DNS zones, cron jobs, SSL certs
  2. Create complete backups of the source server
  3. Lower DNS TTL to 300 seconds (24-48h before migration)
  4. Set up target panel on a separate test server
  5. Schedule 2-4 hour maintenance window

Exporting from cPanel

# Full backup: cPanel > Backup > Download Full Backup
# Per-account: /usr/local/cpanel/scripts/pkgacct username

# Manual export:
tar czf /backup/files.tar.gz /home/username/public_html/
mysqldump --all-databases --single-transaction > /backup/all-db.sql
tar czf /backup/email.tar.gz /home/username/mail/
crontab -u username -l > /backup/crontab.txt

Importing to HestiaCP

# Built-in cPanel migration:
v-import-cpanel /path/to/cpanel-backup.tar.gz

# Manual:
v-add-user username password admin@email.com
v-add-web-domain username example.com
rsync -avz /backup/public_html/ /home/username/web/example.com/public_html/
v-add-database username dbname dbuser dbpassword
mysql -u root dbname < /backup/dbname.sql

Importing to CloudPanel

# Manual migration (no auto-import):
# Create site in UI, upload files via rsync
# Create and import database
# Update .env or wp-config.php with new credentials
# Note: No email server - migrate email separately

Email Migration with imapsync

sudo apt install -y imapsync
imapsync \
    --host1 old-server.com --user1 user@example.com --password1 "old" \
    --host2 new-server.com --user2 user@example.com --password2 "new" \
    --ssl1 --ssl2
# Update MX records last, after email is fully migrated

DNS Migration

# Export zones from old panel
# Recreate all records on new panel
# Critical: A, MX, TXT (SPF/DKIM/DMARC), CNAME records
# Update nameservers at registrar
# Monitor: dig example.com @8.8.8.8

Post-Migration Verification

  • All websites load (HTTP and HTTPS)
  • Database connections work
  • Email sending and receiving works
  • SSL certificates valid
  • Cron jobs running
  • File permissions correct
  • PHP version matches requirements

Rollback Plan

  • Keep old server running 72+ hours after migration
  • Low TTL ensures fast DNS revert if needed
  • Keep full backups of both servers
  • Document every step for easy rollback

Was this article helpful?