All manual sections

DocumentationMigration from cPanel and Plesk

Migration from cPanel and Plesk

The Migration section brings a whole cPanel or Plesk account onto this server starting from its backup file, with no need to reach the old server during the import. Administrators and resellers use it (choosing which account to import into) and users, who import into their own account when the package allows.

First: create the backup on the old server

  • cPanel: Files › Backup › Download a Full Account Backup. In WHM: Backup › pkgacct. You get a backup-….tar.gz (or cpmove-…) file.
  • Plesk: Tools & Settings › Backup Manager › Back Up, then Download. You get a .tar (or zip) file containing the backup_info_*.xml index.
  • Alternatively a generic archive with the site files plus an SQL dump works too (.tar.gz, .tar or .zip).

Download the file from the old server and upload it into the panel.

The guided flow

  1. Upload: drop the backup file (or choose the target account, if you are an administrator or reseller). The upload shows its progress.
  2. What we found: the panel extracts and analyses the archive and shows you the domains (main, addon, subdomains, aliases), the databases, the scheduled jobs, the email accounts and the total size. Check before proceeding.
  3. What to import: choose which domains and databases to import, rename the domains if needed, set the PHP version.
  4. Import: a background job runs with step-by-step progress (extraction, sites, files, databases, configuration, cron, checks).
  5. Done: the final report shows the status of each item, the new database passwords (shown only once: save them now) and the post-migration checks (the panel tries to reach each site and detects whether it is WordPress).

What the import does: it creates the sites (alias domains become aliases of the main site), copies the files into each site's folder as the site user, creates databases and users with new passwords, imports the dumps into the target database, and rewrites the credentials in the common config files — wp-config.php reliably, configuration.php (Joomla) and .env (Laravel) best-effort, with a note when it is worth checking by hand. Scheduled jobs are imported paused, so you review them before enabling.

Security

Backup archives are treated as untrusted: extraction blocks paths escaping the folder (.., absolute paths, links pointing outside), zip bombs (limits on total size and file count), special files (devices, fifos) and strips setuid bits. SQL dumps are sanitized before import: DEFINER clauses are removed, and statements touching other databases (USE, CREATE DATABASE, names with another schema), CREATE USER and GRANT are rejected. The dump can therefore only populate the single target database, imported with that database's own credentials.

What is not migrated

Email accounts are imported when the mail service is active: from cPanel with all their messages and their original password, from Plesk with a new password when the backup's one cannot be imported (see Mail). With mail off they are only listed. If you can connect to the old server over SSH you do not even need to download the backup: see Migration over SSH.