cPanel Migration
Vinza Store cPanel Migration
cPanel Migration
Free Tools
Get this app
Free
Available to all users. No license needed.

Imports a cPanel/WHM account backup into VinzaPanel, in two phases: analyze, then run.

Analysis takes an absolute server path to either a backup archive (backup-*.tar.gz, cpmove-*, .tgz, .zip) or an already-extracted account directory. The archive is never streamed through the panel — the agent's socket frame is capped at 50 MB and these backups are routinely multi-gigabyte — so it has to be on the server already: upload it over SFTP/SCP, or let the plugin fetch it from the old server. Fetching works over SSH (key or password; the host key fingerprint is shown and must be confirmed, then it is pinned), taking an existing backup file or, when logged in as root, packaging the account with /scripts/pkgacct first; or with a WHM API token, which makes a full backup through the API and downloads it (the WHM/cPanel TLS keys are pinned the same way). Credentials are written only to root-only files on this server for the download and deleted afterwards. The agent extracts the archive into a staging directory server-side. Parsing is read-only and produces a manifest preview: domains, databases and database users, email accounts and forwarders, DNS zones, cron job count, homedir and dump sizes, and any warnings.

Starting a migration queues a run against a chosen target owner with per-category toggles, and the panel's worker applies it step by step, recording status and detail on each step. Websites are provisioned through the normal website service subject to the owner's quota; document roots are copied out of the extracted homedir and chowned; databases are created and their dumps imported, with the original database users recreated from their stored password hashes plus grants; mailboxes and forwarders are restored with password hashes preserved; BIND zone files are parsed and imported into the panel's DNS; and the account's crontab is installed for the target Linux user. Installed SSL certificates are paired with their private keys, validated and installed through the SSL Manager app (otherwise issue Let's Encrypt after the DNS switch). Autoresponders are recreated as Sieve vacation replies through the Mail Server app (1.3.2+), and simple mail filters are converted to Sieve; filters that do not translate safely are listed in the run.

The limits are deliberate. A/AAAA and NS records from the old zone are skipped, since they still point at the cPanel server and would send traffic back to it. Historical mail messages are not migrated — only accounts and forwarders — and a mailbox whose password hash cannot be used is skipped and will need a password reset. Domains that already exist as websites are skipped rather than overwritten. The whole plugin is admin/reseller-only; tenants get no actions at all.

Availability: Included at no extra cost with the Profesional and Enterprise plans. On the Free and Starter plans it is available per server as a monthly subscription ($2.99/month) or a one-time purchase ($19).

Min Panel Version
1.2.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.0.4 — New icon in the shared flat style. 1.0.3 — Fetch the backup straight from the old server: over SSH (key or password, host key confirmed on first use; an existing backup file, or /scripts/pkgacct when logged in as root) or with a WHM API token, with download progress, then analyzed as usual. SSL certificates in the backup are paired with their keys, checked and installed through the SSL Manager app. Autoresponders become Mail Server Sieve vacation replies; simple mail filters (header contains/is/begins/ends → folder, discard) are converted to Sieve, the rest are listed. 1.0.2 — Security: a backup can no longer copy files from outside its own home folder, nor overwrite a website, database, DNS zone or mail domain that belongs to another account. 1.0.1 — Analyze refuses a path that is not a cPanel backup (no account user, domains, databases, mail or homedir) instead of creating an empty job. 1.0.0 — first release.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/cpanel-migration/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "cpanel-migration",
  "version": "1.0.4",
  "download_url": "..."
}