How to Manually Migrate Accounts to cPanel & WHM from Unsupported Control Panels
Last modified: March 4, 2024
Overview
Only experienced system administrators who understand migrations should perform this process.
System administrators can migrate accounts from unsupported third-party control panels to cPanel & WHM. WebPros International, LLC offers free migration services for Plesk®, DirectAdmin, and Ensim®.
You will need to customize unsupported services to use them on cPanel & WHM. cPanel & WHM only supports Apache®, BIND, Exim, and Mailman. For more information or assistance, open a support ticket.
Before migrating your accounts
Perform the following steps before you begin to migrate accounts:
Adjust DNS records
Decrease your DNS records’ Time To Live (TTL) on all of the account’s domains. This forces clients to update their copies of the DNS zones that your nameservers host.
- We recommend that you perform this action several days before you begin the migration process.
- For more information, read Virendra’s TalkTech’s Migrating Servers article.
Installation
To install cPanel & WHM on the new server, follow the steps in our Installation Guide.
- cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.
- To activate a new license, you must have a cPanel Store account with a verified email address.
During the installation process, select a hostname and main IP address for the new server. The system uses these settings to configure the DNS zone files for restored accounts. You can do this by customizing your installation or using WHM’s Basic WebHost Manager Setup interface (WHM » Home » Server Configuration » Basic WebHost Manager Setup).
- You must select a main IP address that is not your old server’s main IP address.
- You must select the same hostname, shared IP address, and nameservers as your old server.
Migrate your files
In the following examples, user
is the cPanel account’s name.
After you create the new cPanel & WHM account, migrate the old server’s files and directories to the appropriate locations on your new server. Generally, you will migrate the following files and directories during this process:
The public_html directory
The public_html
directory contains all of your files, directories, subdirectories, and content. This directory may appear as the /home/user/www
directory or the /home/user/vhost
directory on some systems.
- The user must own the files and subdirectories in this directory.
- Subdirectories in this directory must possess
755
permissions, and files in this directories must possess644
permissions.
Example
The following is an example of the public_html
directory:
|
|
The mail directory
The /home/user/mail
directory contains all of the email files for all of the cPanel account’s email accounts. The /home/user/mail
contains directory for each domain, subdomain, addon domain, and parked domain. These directories include subdirectories for each email address for the domain.
Users who migrate data to cPanel & WHM servers must convert any mbox
data to the maildir
format.
Example
The following are examples of the mail
directory:
|
|
|
|
|
|
The tmp directory
The /home/user/tmp
directory contains the account’s temporary files and bandwidth and statistics data. For example, you can migrate your original server’s AWStats data to the /home/user/tmp/awstats
directory.
Example
The following is an example of the tmp
directory:
|
|
The etc directory
The /home/user/etc
directory contains the email account passwd
, shadow
, and quota
files. For example, you can migrate your original server’s email account quota data to the /home/user/etc/quota
directory.
Example
The following is an example of the tmp
directory:
|
|
The ssl directory
The /home/user/ssl
directory contains the SSL certificates for the domains on the account.
After migrating the SSL certificates, you must activate them in the Manage SSL Hosts section of WHM’s Manage SSL Hosts interface (WHM » Home » SSL/TLS » Manage SSL Hosts).
Example
The following is an example of the ssl
directory:
|
|
The mysql directory
The mysql
directory stores the MySQL® databases for every account on the server.
- You must create the empty database on the account first, and then restore it to that new database. To do this, use one of the following interfaces:
- In cPanel & WHM version 118 and earlier, use cPanel’s MySQL® Database Wizard interface (cPanel » Home » Databases » MySQL® Database Wizard).
- In cPanel & WHM version 120 and later, use cPanel’s Database Wizard interface (cPanel » Home » Databases » Database Wizard).
- You must create a dump of your database and import it via cPanel’s phpMyAdmin interface (cPanel » Home » Databases » phpMyAdmin).
Example
The following is an example of the mysql
directory:
|
|
The pgsql directory
The /var/lib/pgsql
directory stores the PostgreSQL® databases for every account on the server.
- You must create the empty database on the account first, and then restore it to that new database. To do this, use cPanel’s PostgreSQL Database Wizard interface (cPanel » Home » Databases » PostgreSQL Database Wizard).
- You must create a dump of your database and import it via cPanel’s phpPgAdmin interface (cPanel » Home » Databases » phpPgAdmin).
Example
The following is an example of the pgsql
directory:
|
|
After migration
After you migrate your files to your new cPanel & WHM server, perform the following steps:
-
Confirm that all of the content and credentials migrated properly and that they function in the new environment.
-
Update your domain’s nameservers to match the new nameservers on your cPanel & WHM server.
Note:We also recommend that you edit the DNS records on your old server to point to your cPanel & WHM server so that all content forwards to the new server.
-
Create cPanel and reseller accounts. To do this, use WHM’s Create a New Account interface (WHM » Home » Account Functions » Create a New Account).