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
- Inventory all websites, databases, email accounts, DNS zones, cron jobs, SSL certs
- Create complete backups of the source server
- Lower DNS TTL to 300 seconds (24-48h before migration)
- Set up target panel on a separate test server
- 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