From DirectAdmin, cPanel or Plesk to CoreCP
You know hosting. What you do not know yet is where CoreCP keeps the things you can find blindfolded in DirectAdmin, cPanel/WHM or Plesk. This article is that translation guide: first the concepts, then per everyday task the screen in CoreC
Written for: Administrator
You know hosting. What you do not know yet is where CoreCP keeps the things you can find blindfolded in DirectAdmin, cPanel/WHM or Plesk. This article is that translation guide: first the concepts, then per everyday task the screen in CoreCP, the route you can paste into the address bar, and the command in the terminal.
The biggest difference first: in your old panels one panel is one server. In CoreCP one panel runs all your servers. An account lives on one server, but you manage it from the same panel as all the others, and a command for one account is typed on the server that account lives on.
The concepts
| CoreCP | DirectAdmin | cPanel / WHM | Plesk |
|---|---|---|---|
| administrator of the platform | Admin | root / WHM | Administrator |
| a group with a reseller package, under Groups | Reseller | Reseller | Reseller |
| account — one hosting account on one server | User | Account | Subscription |
| a customer with their people, under People | — | — | Customer |
| package, under Packages | Package | Package | Service plan |
| website | Domain | main domain, addon domain | domain |
| extra name of a website | Domain pointer | parked domain / alias | domain alias |
| a website of its own (or an extra name) | Subdomain | subdomain | subdomain |
| a server in your fleet, under Servers | Server | server | server |
A few consequences you will meet in the first week:
- A reseller is not a kind of account in CoreCP but a group: the reseller and their customers are in it, and the reseller package caps the whole group. A customer package applies to one account.
- A Plesk subscription becomes one account at import. You pick it by its main domain; the account is named after the subscription's system user.
- There is no separate "subdomain" screen: a subdomain is a website, and a name that only points elsewhere is an extra name of an existing website.
The everyday tasks
In the route, :account stands for the account's name and :node for the server's name; fill them in and you are there. Where a panel command names an account, you write it as server/account. Commands are typed on the server the account lives on (corectl) or on the panel (corecp-panel).
| Task | Where in CoreCP | Route | From the terminal |
|---|---|---|---|
| account | Accounts → Create account | /accounts/new | corectl account add customer1 |
| domain | account → Websites → Add website | /accounts/:account/websites | corectl domain add example.com --account customer1 |
| account → Mail → Create mailbox | /accounts/:account/mail | corectl mailbox add info@example.com | |
| DNS | account → DNS → Add record | /accounts/:account/dns | corectl dns record add example.com www A 192.0.2.10 |
| database | account → Databases → Create a database | /accounts/:account/databases | corectl db add customer1 shop |
| SSL | account → SSL/TLS → Request certificate | /accounts/:account/ssl | corectl ssl issue example.com |
| backup/restore | account → Backups → Restore | /accounts/:account/backups | corectl backup restore account customer1 --dry-run |
| cron | account → Scheduled tasks → New task | /accounts/:account/cron | corectl cron add --account customer1 --schedule @daily --command "php cron.php" |
| PHP version | account → Websites → website → Set up PHP | /accounts/:account/websites | corectl php set example.com 8.4 |
| FTP/SSH | account → Access | /accounts/:account/access | corectl ftp add customer1 upload@example.com |
| reseller/package | Packages → Create package | /packages/new | corecp-panel packages --assign web1.example.com/customer1 --to basic |
| migration | Migration → New migration | /migrations/new | corectl import cpanel-server root@old-server --check |
For SSH, add a public key in the same Access place with Add key; in the terminal that is corectl sshkey add --account customer1 --file key.pub. A reseller is created as a group under Groups (/organizations), and you attach a reseller package with corecp-panel packages --bind <group> --to <package>.
What you look for more often as an administrator
| What you know | Where in CoreCP | Route |
|---|---|---|
| Service Monitor, service status | the server itself: its services are on its overview | /nodes/:node |
| Server and security checks | the server → advisor | /nodes/:node/advisor |
| CSF/ConfigServer Firewall, cPHulk | the server → firewall | /nodes/:node/firewall |
| Mail Queue Manager | Mail queue | /mail/queue |
| Mail delivery reports, Track Delivery | Mail delivery | /mail/tracker |
| MultiPHP Manager, PHP Selector | the server → PHP policy | /nodes/:node/php-policy |
| Update Preferences, system updates | Maintenance | /maintenance |
| Security Advisor, security notices | Components & security | /components |
| File Manager | account → File manager | /accounts/:account/files |
| Statistics (AWStats) | Statistics | /statistics |
| Logs | account → Logs | /accounts/:account/logs |
| Transfer Tool, Plesk Migrator | Migration | /migrations |
What you did in an old panel with one click as root — restart a service, edit a configuration file — you do in CoreCP on the server itself with corectl, or in the server's web terminal. The panel asks the server; it runs nothing on your servers except through the agent.
Moving over
How to move your customers off the old servers is in Migrating customers in waves: one wave per source server, with a trial migration, cutover and fallback. What comes along per source panel and what does not is in Migrating from cPanel and Migrating from Plesk.
From the terminal
On a server, two commands show what is there:
corectl account list
corectl domain listAnd on the panel, which packages exist and who is on them:
corecp-panel packages --listSee also
- Migrating customers in waves
- Packages and limits
- Creating a hosting account
- Giving somebody access