Panellicense

Migrate from CyberPanel to cPanel: a step-by-step playbook

A field-tested migration off CyberPanel onto cPanel — inventory the source, prep the destination, move sites, mail, and DNS with a 30-minute cutover window per site.

9 min readUpdated 2026-05-17cyberpanel · cpanel · migration · openlitespeed
schema: HowToschema: FAQPageschema: BreadcrumbList

CyberPanel built a real audience between 2019 and 2023 as the free OpenLiteSpeed-based alternative to cPanel. Then October 2024 happened: CVE-2024-51567 and the related authentication-bypass chain were exploited at scale by the PSAUX ransomware crew, and a generation of small hosts and self-hosters discovered that "free panel" and "panel I can put my customers on" are not the same product. Most of the migration tickets we see for CyberPanel arrive with a ransom note attached or a customer who has been told their data might be on a leak site.

This guide is the post-incident, or just post-confidence, playbook for moving an existing CyberPanel server to cPanel & WHM. It assumes you have a working cPanel destination — if you don't, start with installing cPanel on a VPS and come back. Budget 30 minutes of customer-visible downtime per site if you batch the DNS cutover, plus half a day of operator time for a server with 20-50 accounts.

What doesn't translate one-to-one

CyberPanel and cPanel make different architectural choices that you need to account for:

CyberPanelcPanel equivalent
OpenLiteSpeedApache, or LiteSpeed Enterprise as a paid add-on
MariaDB (default)MySQL or MariaDB — cPanel supports both
Built-in Rainloop / SnappyMailRoundcube or Webmail Lite
LSCPD admin on :8090WHM on :2087, cPanel on :2083
PowerDNSBIND or PowerDNS via the DNS-only role
Free LiteSpeed CacheLSCache (requires LSWS — see below)
Built-in Docker managerNo equivalent — Docker on cPanel is unsupported

The single biggest decision is the web server. If your customers depend on LSCache for WordPress performance — and most CyberPanel WordPress sites do — moving to Apache means a visible page-speed regression. The path that preserves performance is to license LiteSpeed Web Server for the destination cPanel box and keep the existing LSCache plugins in place after migration.

Step 1 — Inventory the source

Before touching the destination, build a complete list of what's on the CyberPanel box. SSH into the source as root and pull:

# All websites with their PHP version and document root
ls /home/ | grep -v -E '^(cyberpanel|cyberpanel-backup|lscpd|vmail|backup)$'

# All databases
mysql -e "SHOW DATABASES" | grep -v -E '^(Database|information_schema|mysql|performance_schema|sys|cyberpanel)$'

# All email accounts
ls /home/vmail/

# DNS zones managed by PowerDNS
mysql -u root powerdns -e "SELECT name FROM domains"

# Cron jobs per user
for u in $(ls /var/spool/cron/); do echo "=== $u ==="; cat /var/spool/cron/$u; done

Capture the output into a single migration manifest. The accounts you find under /home/ are the ones you'll recreate on cPanel; the databases and DNS zones map to them. Pay attention to mismatches — a database with no matching /home/ directory usually means a deleted-but-not-cleaned account, or, less innocently, an attacker-created database.

Step 2 — Prepare the cPanel destination

On the destination cPanel server:

  1. Match or exceed the source's resource footprint. CyberPanel runs lean on OpenLiteSpeed; cPanel with Apache and the CloudLinux stack will need 25-40% more RAM for the same site count. A CyberPanel server running 30 WordPress sites in 4 GB will want 6-8 GB on cPanel.

  2. Match the PHP version mix. CyberPanel exposes PHP 7.4 through 8.4 by default. On cPanel, install the matching versions through EasyApache 4 — see adding a PHP version to EasyApache 4. Don't migrate a PHP 7.4 site onto a cPanel server that only has 8.2 installed and hope for the best.

  3. Install MySQL or MariaDB to match the source. CyberPanel ships MariaDB 10.5 or 10.6. If you're on MariaDB on the source, install MariaDB on cPanel too — this avoids the dump/restore edge cases around MariaDB-specific column types (JSON storage differences in particular).

  4. Decide on the web server. If you're keeping LiteSpeed, install LiteSpeed on cPanel before the first account move so the document roots come up under LSWS from day one.

  5. Pre-create the resolvers for nameserver glue. If the CyberPanel server was also the authoritative DNS, you'll either keep its IP for DNS only or move the zones into the cPanel server's BIND.

Step 3 — Move accounts one at a time

CyberPanel has no pkgacct-equivalent format, so there's no transfer-tool wizard. The practical pattern is to rebuild each account on cPanel, then copy files and databases in.

For each website on the source:

# On the source: package files and database
SITE=example.com
USER=examplec
tar -czf /tmp/$SITE-files.tar.gz -C /home/$SITE public_html
mysqldump --single-transaction --databases $(mysql -e "SHOW DATABASES" | grep "^${USER}_") > /tmp/$SITE-db.sql

On the destination cPanel server, create the account in WHM under Account Functions → Create a New Account, matching the source username where possible (some CyberPanel usernames will exceed cPanel's 16-character limit — note these for customer comms). Then move the archives over and restore:

# On the destination: extract into the new account
scp source:/tmp/$SITE-files.tar.gz /home/$USER/
tar -xzf /home/$USER/$SITE-files.tar.gz -C /home/$USER/
chown -R $USER:$USER /home/$USER/public_html
mysql < /tmp/$SITE-db.sql

# Update WordPress wp-config.php with the new DB password
sed -i "s/DB_PASSWORD.*/DB_PASSWORD', 'new-password-here'/" /home/$USER/public_html/wp-config.php

The wp-config edit is the step people skip and then waste an hour on. CyberPanel and cPanel generate different database passwords by default, so the dump restores cleanly but the site can't connect until the new credentials are wired in.

Step 4 — Email migration

CyberPanel stores mail under /home/vmail/<domain>/<user>/Maildir/. cPanel stores it under /home/<user>/mail/<domain>/<user>/. The Maildir format is identical, so an rsync of each user's Maildir into the cPanel layout preserves messages and IMAP folder structure:

rsync -av source:/home/vmail/$DOMAIN/$MAILUSER/Maildir/ \
  /home/$USER/mail/$DOMAIN/$MAILUSER/
chown -R $USER:$USER /home/$USER/mail/$DOMAIN/$MAILUSER/

After the rsync, recreate the mail account in cPanel → Email Accounts with the same password (or force a reset and communicate it). Then re-publish the DKIM key from cPanel — the CyberPanel key won't be in WHM, and using the wrong key tanks deliverability. See cPanel email deliverability with SPF, DKIM, and DMARC for the post-migration DNS records to publish.

Step 5 — DNS cutover

Drop TTLs on the public DNS to 300 seconds at least 24 hours before the cutover. At cutover:

  1. Verify the destination cPanel site serves correctly over the IP directly using a --resolve curl: curl -I --resolve example.com:443:NEW.IP.HERE https://example.com/.
  2. Update the A/AAAA records to point to the new server.
  3. Watch error logs on both servers for 30 minutes. Anything still hitting the old IP after that is a stale resolver — either a customer cron or a monitoring service. Note the IPs, contact the owners, give them another 24 hours.
  4. Re-issue SSL on the destination once DNS propagates. cPanel AutoSSL will pick up the validated domain on its next run, usually within an hour — or trigger it manually from WHM → SSL/TLS → Manage AutoSSL → Check "example" Now.

If AutoSSL fails after the cutover, the cause is almost always a stale CAA record set by CyberPanel pointing at Let's Encrypt only — work through the WHM AutoSSL failures decision tree.

Step 6 — Decommission carefully

Leave the CyberPanel server up for at least 7 days post-cutover, serving 301 redirects to the new server's hostname for any remaining direct-IP traffic. Pull customer email at least once per day from the old server during this window — IMAP clients can take days to fail over fully, and any mail delivered to the old vmail in that window is lost if you wipe early.

After the grace period, snapshot the source, archive the snapshot to cold storage for 90 days (long enough to cover a customer "we lost a file" ticket), and then destroy the instance. If the migration was triggered by a compromise, destroy is the only acceptable endpoint — do not reuse the OS image.

FAQ

Is there a one-shot tool to migrate CyberPanel to cPanel?+
No. CyberPanel doesn't expose a pkgacct-compatible format and cPanel's transfer tool only ingests from cPanel, Plesk, DirectAdmin, and a couple of legacy panels. The path is account-by-account: create the cPanel account, rsync files, restore the database dump, copy Maildirs, update wp-config.
Can I keep LiteSpeed Cache working on cPanel after the migration?+
Yes, if you license LiteSpeed Enterprise for the cPanel destination. The LSCache WordPress plugin is the same on both panels and continues to work as long as the underlying server is LSWS. On Apache, the plugin falls back to file-based caching with no edge-level acceleration.
What do I do if the CyberPanel server was hit by PSAUX or another ransomware family?+
Treat the data as untrusted. Restore from customer-side backups onto cPanel rather than copying from the live CyberPanel filesystem. If you only have CyberPanel-side backups, scan every file with [Imunify360](/kb/install-imunify360-cpanel) before exposing the cPanel server to the internet. The CVE-2024-51567 entry vector left webshells in customer document roots that look like legitimate WordPress files.
Will my customers' email passwords survive the migration?+
Only if you set them. CyberPanel stores mail account passwords in its database; cPanel sets them per-account. The Maildir contents move cleanly, but the mailbox password has to be recreated on cPanel — either match the original or force a reset and notify the customer.
How long does a CyberPanel-to-cPanel migration take?+
Plan on 30 minutes of operator time per account plus 30 minutes of customer-facing downtime per DNS cutover. A 20-account server is a full day of operator work spread across two evenings if you batch the cutovers.
Can I migrate to Plesk instead?+
Yes, the playbook is structurally identical — the differences are in the account-creation step (Plesk subscriptions instead of cPanel accounts) and DNS templates. If you're weighing Plesk versus cPanel for the destination, read [cPanel vs Plesk in 2026](/kb/cpanel-vs-plesk-2026) first.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.