# CorePanel Transform — migrate from cPanel without a second server

> CorePanel Transform converts the cPanel server you already have into a CorePanel server on the same machine. Nothing is copied, the IP does not change, and the sites are offline for seconds — 28 s on the server we timed.

Source: https://www.corepanel.net/transform
Documentation: https://www.corepanel.net/docs/cpanel-transform
Changelog: https://www.corepanel.net/docs/transform-changelog
Status: beta — runs end to end on real cPanel servers; changes are published as they ship

---

## What CorePanel Transform is

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.

It is in **beta**: the transformation runs end to end on real cPanel servers and every
figure below is measured on one, but the set of servers it has met is still small and
each new one teaches it something. What changes is published in the changelog above.

## The one thing that makes it different

Nothing is copied. Home directories, Maildirs and the MySQL data directory are adopted
where they already are — same paths, same uids, same bytes, same disk — and the IP does
not change. So there is no second server to pay for, no data transfer to wait through and
no DNS propagation window, and the offline window does not grow with the size of the
data. It is the time it takes to stop one set of daemons and start another.

## Measured

From the run documented at https://www.corepanel.net/docs/cpanel-transform, on 29 August 2026:

| | |
|---|---|
| **Sites offline** | 28 s |
| **Whole run** | 10 minutes |
| **Server** | 45 accounts, 51 domains, 84 mailboxes, 43 databases, 48 zones |
| **Hardware** | 2 vCPU, 3.5 GB |
| **Result** | 51 of 51 sites answering, each compared against how it answered before the run |

The window scales with the number of *files* on the server, not with the size of the
data — roughly 12 µs per file — which makes a much larger server a minute or two rather
than twenty. The PLAN stage prices it for your server, from your server, before you agree
to anything.

## 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 server _(Business edition)_ |
| **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 five stages

One command, `corepanel-transform`, walks all five and stops to ask before every one of
them. Enter goes on, **q** stops, and stopping costs nothing: every step is written down
before the next one starts, so running it again resumes exactly where it stopped.

| | Stage | What it does | Offline |
|---|---|---|---|
| 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 stages ask for a typed word rather than a keypress: **PREPARE** asks for
`I-HAVE-A-BACKUP`, and **CUTOVER** asks for `TRANSFORM`.

## How to start

On the cPanel server, as root. It downloads one binary, verifies it against its published
checksum, runs it and deletes itself — it reads and nothing else, so it is safe on a
production server in the middle of the day:

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

Then install the tool it just verified and run the guided transformation:

```bash
curl -fsSL https://get.corepanel.net/check | sh -s -- --install
corepanel-transform
```

## Questions

### 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.

## More

- The transformation, documented step by step: https://www.corepanel.net/docs/cpanel-transform
- The read-only migration check, and what every finding means: https://www.corepanel.net/docs/migration-check
- The other route — importing accounts onto a new server: https://www.corepanel.net/docs/cpanel-import
- The two routes compared: https://www.corepanel.net/docs/from-cpanel
- What changed in each version: https://www.corepanel.net/docs/transform-changelog
- Editions and pricing: https://www.corepanel.net/pricing
