the migrationBeta

Leave cPanel without
leaving the server.

CorePanel Transform converts the cPanel server you already have into a CorePanel server, on the same machine. Not a copy onto a second box: home directories, Maildirs and the MySQL data directory are adopted exactly where they are, with the same uids, on the same disk, behind the same IP address. Nothing is copied, so nothing takes as long as your data is big.

It is one command, it stops to ask before every stage, it resumes where it left off, and until you close the window yourself there is a rollback that gives back a whole cPanel.

Beta The transformation runs end to end on real cPanel servers, and every figure on this page is measured on one. It is in beta because the set of servers it has met is still small, and each new one teaches it something — every stage is written down, the rollback is never further away than a command, and what changed is published as it happens. Read the changelog →

Start here — it reads the server and changes nothing: curl -fsSL https://get.corepanel.net/check | sh

28 s

the sites were offline, on 45 accounts and 51 domains

0bytes copied

the data is adopted where it is — same paths, same uids, same disk

51 of 51

sites answering when the run finished, checked against how they answered before

1server

no second machine, no data transfer, no IP change, no DNS propagation

Measured on 29 August 2026: 45 accounts, 51 domains, 84 mailboxes, 43 databases and 48 zones on a 2 vCPU, 3.5 GB server. The whole run took 10 minutes. How the window is spent →

CorePanel Transform at a glance

What it does Converts a cPanel/WHM server into a CorePanel server on the same machine — not a copy on a second one
The data Home directories, Maildirs and the MySQL data directory are adopted where they are: same paths, same uids, same bytes, same disk
The IP Unchanged. No records to repoint, no propagation to wait for, no second server to pay for
Downtime 28 s on the server we timed — 45 accounts, 51 domains. It scales with the number of files, not with the size of the data, and PLAN prices it for your server before you agree to anything
Stages CHECK, PLAN, PREPARE, CUTOVER, VERIFY — one guided command that stops and asks before every one of them
The way back A rollback command until you run cleanup yourself. cPanel comes back whole — mail, FTP and DNS included — and writes made since the cutover survive it, because the data was never copied
Carried across Accounts with their uids and password hashes · domains, addons and subdomains · mailboxes and forwarders · FTP logins · databases, users and grants · DNS zones · certificates · cron jobs · per-domain PHP version and extensions · hosting packages · resellers, one level deep
Not carried Mailing lists, autoresponders and filters · Passenger/Node apps · PostgreSQL · traffic statistics · third-party products (Imunify, JetBackup, Softaculous, LiteSpeed) — the check lists them on your server, before you start
Interruptions Every step is written down before the next one starts. Answer q, or lose the SSH session: running it again resumes exactly where it stopped
Billing systems WHM API credentials are carried across as digests, and a WHM-compatible API can be opened for WHMCS once you have verified the serverBusiness
Requirements RHEL, AlmaLinux or Rocky 8, 9 or 10, and root on the cPanel server. On CentOS 7, run cPanel’s elevate-cpanel first
Price Free. The tool is not licensed, sold or metered — and if the server holds more than 20 sites, the run offers a 14-day trial of Pro or Business on the spot, no card

The tool is free in every edition. Full documentation →

01

in place

The data never moves, so the clock never scales

Every other way out of cPanel copies a server onto another server, and that is why migrations are booked for weekends. This one changes which set of daemons serves the data you already have.

  • Home directories adopted at their own paths, with their own uids
  • Maildirs adopted whole, Dovecot indexes included — nothing re-delivered
  • The MySQL data directory taken over in place, not dumped and restored
  • Same IP, so no record is repointed and no delegation is touched

The consequence is the part worth reading twice: a 2 TB server costs the same window as a 20 GB one. What the window is actually spent on is the number of files — tightening home directories, 12 µs each — which is why a much bigger server is a minute or two rather than twenty.

what changessame machine
home directoriesadopted in place
Maildirsadopted in place
MySQL data directoryadopted in place
uids and password hashesunchanged
IP addressunchanged
the daemons serving itreplaced
0bytes copiedwhich is why the window is the same on a 20 GB server and a 2 TB one
02

the window

28 seconds, measured — and priced for your server first

The offline window is one window for the whole server, not one per account, and the tool keeps the clock on screen while it is open: how long the sites have been down, and how much of what the plan booked is left.

  • Mail goes down first — senders retry for days, so it is the forgiving one
  • Web goes down last and comes back first: it is the clock everyone watches
  • The run prints which step opened the window, rather than assuming
  • PLAN prices every step from your server before you agree to anything

And we publish what the estimate got wrong. The plan for the run below booked about two minutes; the sites were down for 28 seconds. Every step now reports the measured figure next to the promised one, and the estimates are repriced from real runs. The cutover, step by step →

cutover · liveclock on screen
6/15Stop cPanel's web server — about 40 s
the sites go down here · the plan books about 2 m
took 12.4 s, well under the 40.0 s estimated
10/15Tighten the homes and apply quotas
sites down 12.4 s · about 80 s left in the window
45 homes tightened, median 59 ms, worst 1.2 s
11/15Start CorePanel
php-fpm and corehttpd are up; 51 vhosts loaded
the sites are back — down 28.0 s
the plan booked about 2 m · measured 28.0 s
03

the way back

The way back is a command, and it has no timer

cPanel is stopped and disabled, not removed. Its packages, its /usr/local/cpanel and its licence stay on the disk, and that is what keeps the door open — for a day or for a month. You close it when you run cleanup, and never before.

  • corepanel-transform rollback gives the server back to cPanel
  • A whole cPanel: mail, FTP and DNS packages reinstalled, configuration rebuilt
  • Mail delivered and rows written since the cutover survive — one copy of the data
  • It works the procedure out from this server, not from a file written a week ago

It also refuses when it should. If a mailbox was created or a password changed under CorePanel since the cutover, giving mail back to cPanel would discard it — so the rollback names the difference and stops, instead of doing it quietly. The rollback in detail →

rollback windowopen until you close it
cPanel packageson disk, stopped
/usr/local/cpaneluntouched
the licencestill there
writes since the cutoversurvive the reversal
cleanupthe only one-way door — never offered

The guided run will not offer to remove cPanel. Removing it is a command you go and type, days later, and it refuses unless verification passed and something is answering on 80 and 443 right now.

04

proof, not announcement

It asks every site how it answered before

"The site answers" is not "the site works". A page can report its own failure with a perfectly successful status code — encoded software missing its loader prints a paragraph and returns HTTP 200 — so a health check that reads status codes sees a server in perfect order.

  • Every homepage is read while cPanel is still serving it, and written down
  • The gate asks the better question afterwards: is this the same page?
  • A site that broke is named, quoting the sentence its page now prints
  • A site that was already broken is called out first, and not blamed on the run

The gate also reads the one place a PHP fatal always lands — the account's own error log — because with display_errors off a fatal can leave an HTTP 200 cut short mid-sentence. That is reported as a warning, never a failure: the code is the customer's, unchanged, and it was throwing the same thing on cPanel.

health gate51 / 51
northgate-books.com 200 · same page as before
mail · 84 mailboxes log in
dns · 48 zones answer SOA on :53
!oldshop.example was already failing before the run
"Fatal error: Uncaught Error" — recorded 6 days ago
a gate that finds something names it and offers the rollback — it never takes it
05

five stages, one command

It stops and asks before each one

Run corepanel-transform with no arguments and it walks the whole thing as one guided sitting. Before every stage it prints what that stage will do to this server — what goes offline, for how long, and whether it can be reversed — and then it waits. Enter goes on, q stops, and stopping costs nothing.

1

CHECK

Reads the server and says whether it can be transformed

reads only

2

PLAN

Writes the ordered steps, and prices the offline window for this server

reads only

3

PREPARE

Installs CorePanel beside a cPanel that keeps serving, and registers every account in place

nothing goes offline

4

CUTOVER

cPanel stops, CorePanel takes over, and a health gate probes the result from outside

the window — 28 s measured

5

VERIFY

Proves every domain, mailbox, database and zone answers, against the inventory taken first

reads only

Two of them ask you to type a word rather than press Enter: I-HAVE-A-BACKUP before anything is changed, and TRANSFORM before the window opens. The whole tutorial →

06

what it costs

Nothing, and there is nothing to buy first

The tool is free and unmetered — no per-server, per-account or per-migration charge, and no licence to arrange before you can find out whether your server is a candidate.

  • The check is read-only and free: run it on a live server, today
  • CorePanel Personal is free too, and holds up to 20 sites
  • More sites than that: the run offers a 14-day trial of Pro or Business, no card
  • No add-on licences afterwards — the web server, the WAF and the mail stack are included

The trial exists for exactly this moment: a full server can be transformed, verified and lived with before anything is paid for. Editions and pricing →

before you pay anythingfree
1checkread-only · free · any server
2planyour window, priced · free
3transformfree, or a 14-day trial over 20 sites
4decidewith the server running and verified
$0to find outthe check answers the only question that matters before a card does

questions we get asked

Moving off cPanel, answered plainly

What is CorePanel Transform?

CorePanel Transform is a free tool that converts a cPanel/WHM server into a CorePanel server on the same machine. It is a single binary, corepanel-transform, that runs as root on the cPanel server and walks the whole conversion as one guided sitting: it reads the server, plans the work, installs CorePanel beside a cPanel that keeps serving, swaps which set of daemons serves the data, and then proves that every domain, mailbox, database and zone answers.

Can I migrate from cPanel without a second server?

Yes — that is what the transformation is for. Nothing is copied anywhere: home directories, Maildirs and the MySQL data directory are adopted where they already are, with the same uids, on the same disk, behind the same IP address. You do not need a second machine, you do not pay for two servers while you move, and there is no DNS propagation window because the address never changes.

How long are the sites offline?

Seconds, not hours. On the server we timed — 45 accounts, 51 domains, 84 mailboxes and 43 databases on a 2-vCPU box — the sites were unreachable for 28 seconds, and the whole run took ten minutes. The window is the time it takes to stop one set of daemons and start another, so it does not grow with the size of the data: it grows with the number of files, which makes a much larger server a minute or two rather than twenty. You do not have to take that on trust either — the PLAN stage prices the window for your server, from your server, before you agree to anything.

Does my server keep its IP address?

Yes. It is the same machine, so the address does not change and nothing has to be repointed. DNS delegation is untouched, there is no propagation to wait for, and mail keeps arriving at the same place. The transformation reads the server's own address, hostname and nameservers out of cPanel and gives them to CorePanel, so the panel opens already configured.

Can I go back to cPanel?

Yes, with one command, for as long as you want. cPanel is stopped and disabled but not removed, and corepanel-transform rollback gives the server back to it — whole, including mail, FTP and DNS, whose cPanel packages are reinstalled. Because the data was never copied, mail delivered and database rows written after the switch survive the reversal: there is one copy of the data and both panels read the same bytes. The window has no timer. It closes when you run cleanup yourself, days later, and that is the only irreversible step — which is why the guided run never offers it.

What does it cost?

The tool is free and it is not metered: there is no per-account, per-server or per-migration charge, and no licence to buy before you start. CorePanel's own Personal edition is free too, and holds up to 20 sites. If the server carries more than that, PREPARE says so and the guided run offers a 14-day trial of Pro or Business on the spot — no card, no key — so a full server can be transformed and verified before anything is paid for.

Is it safe to run on a production server?

The first stage is, unconditionally: the check reads the server and changes nothing at all — no installation, nothing configured, nothing stopped — so it is meant to be run on a live server in the middle of the day. Everything after that asks before it acts, and the two stages that matter ask you to type a word rather than press Enter: PREPARE asks for I-HAVE-A-BACKUP, and the cutover asks for TRANSFORM. Take a hypervisor snapshot of the whole VM first; it is the cheapest insurance there is.

What happens if the run is interrupted?

Nothing is left half-done. Every step writes down what it did before the next one starts, so answering q at a prompt — or losing the SSH session entirely — costs nothing: running corepanel-transform again picks up exactly where it stopped, and a stage already finished is skipped rather than repeated. If a step fails, the tool names it and says what is still standing, and running again re-enters that step and no other.

What comes across, and what does not?

Carried, verbatim or equivalent: system users with their uids and password hashes, home directories in place, Maildirs including Dovecot's indexes, mailboxes and forwarders, FTP logins, domains, subdomains, aliases and addon domains, the PHP version and extensions each site actually runs, DNS zones, SSL certificates and keys, databases with their users and grants, cron jobs, hosting packages and per-account limits, and resellers one level deep. Not carried: mailing lists, autoresponders and mail filters, Passenger/Node applications, PostgreSQL, traffic statistics, and third-party products such as Imunify, JetBackup, Softaculous or LiteSpeed. The check lists all of it for your server before you start, so nothing on that second list is a surprise.

How do I know the transformation worked?

It is proved rather than announced. Before anything is stopped, every site on the server is asked for its homepage while cPanel is still serving it, and the answer is written down. At the end of the window a health gate asks the same question of CorePanel and compares — so a site that broke is named, with the sentence its page now prints, and a site that was already broken before the run is not blamed on it. Then VERIFY checks every domain, mailbox, database and zone against the inventory taken first, and reports per account. If the gate finds something, it names it and offers the rollback rather than taking it.

Which operating systems can be transformed?

RHEL 8, 9 and 10 and their rebuilds — AlmaLinux and Rocky Linux. The check says plainly if the server is on something else. On CentOS 7, run cPanel's own elevate-cpanel first, aiming at AlmaLinux 9, and then transform.

What about my WHMCS, and everything pointed at the WHM API?

The credentials your billing system has been sending for years are carried across as digests, so the plaintext never leaves it, and the API is left closed — port 2087 is the most attacked port in shared hosting, and opening it is a decision rather than a default. Once you have verified the server, the guided run offers to open a WHM-compatible API, or you can run corepanel whmcompat enable yourself. It is part of the Business edition.

Is cPanel removed at the end?

Not by the run, and not on the same day. cPanel is stopped and disabled, and its packages, its /usr/local/cpanel and its licence stay on the disk — that is what keeps the way back open, and it costs nothing but disk space. Removing it is a separate command, corepanel-transform cleanup, which asks you to type ERASE-CPANEL and refuses to run unless verification passed and something is answering on ports 80 and 443 right now. Until then the panel's dashboard carries a card reminding you cPanel is still installed.

Ask your server whether it can be done

It takes seconds, it reads and nothing else, and it comes back with an inventory of the server, a score and a verdict. Run it in the middle of the day.

curl -fsSL https://get.corepanel.net/check | sh

Would you rather move onto a new server instead? The two routes compared →