How to Move All cPanel Accounts from One Server to Another

Valid for versions 112 through the latest version

Version:

108

112


Last modified: March 19, 2024

Overview

This tutorial explains how to migrate your cPanel accounts, SSL certificates, and main server IP address from one server to another. Typically, you would do this when you need to replace your old source server with a new target server.

Warning:

Your websites will likely experience downtime during this process.

Note:

This procedure assumes that your server’s IP addresses are portable, and that you can migrate them from the source server to the target server. If you use a third-party data center or hosting provider for your cPanel & WHM server, contact them to confirm that you can migrate your IP addresses.

Migrate your cPanel accounts

Install cPanel & WHM on your target server

Before you transfer the accounts, install cPanel & WHM on your new target server. To do so, follow the steps in our Installation Guide.

During the installation process, select a hostname and main IP address for the target server. You must select a main IP address that differs from your source server.

Important:
  • The replacement cPanel & WHM server should contain identical software to the old source server. This includes MySQL® or MariaDB®, PHP, PHP extensions, Apache®, Apache extensions, and other software options.

    • If you do not use the same version of MySQL or MariaDB on the target server, you may encounter serious errors.
    • If you cannot use the same version of a software on the target server — for example, because your version of MySQL has been deprecated — ensure that your source server’s version of that software is up-to-date before you start the transfer.
    • If you wish to update any of the software on the target server, we strongly recommend that you perform the transfer first and then perform any updates.
  • Make certain that you copy your cPanel accounts’ Apache configuration to the target server. To do so, follow the steps in our Customize Your Installation documentation.

Note:
  • cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.

  • In order to activate a new license, you must have a cPanel Store account with a verified email address.

  • The migration process will transfer your permanent license to the target server.

Copy all accounts to the target server

Important:

If you do not use a SNI-capable operating system, make certain to copy all SSL certificates before you transfer accounts between servers. SSL certificates and keys reside in the /etc/ssl/ directory.

After you install cPanel & WHM on your target server, copy each account from your source server to your target server.

To move all of your account service configurations from one server to another, follow the steps in WHM’s Transfer Tool interface (WHM » Home » Transfers » Transfer Tool).

WHM’s Transfer Tool interface allows you to transfer the following service configurations:

  • AutoSSL options
  • Backups
  • cPanel & WHM (whmconf)
  • Database servers
  • EasyApache
  • Exim
  • GreyList
  • Hulk
  • ModSecurity®
  • User interface themes
Important:
  • Make certain that you transfer each account’s EasyApache configurations, or your websites may experience issues.

  • The Transfer Tool interface only transfers service configurations, not data. To transfer data, use cPanel’s Backup Wizard interface (cPanel » Home » Files » Backup Wizard).

  • If you only possess user credentials and do not have root access or privileges, use WHM’s Transfer or Restore a cPanel Account interface.

  • WHM’s Transfer Tool interface (WHM » Home » Transfers » Transfer Tool) allows you to use the Live Transfer feature. This feature reduces downtime during transfers between cPanel & WHM servers. This feature is especially useful if you have external nameservers that your cPanel & WHM servers do not update, as the Live Transfer feature’s proxy configuration will ensure that traffic flows to the correct destination.

Shut down your source server

After you copy your accounts to the target server, you can shut down your source server.

If you used the Live Transfer feature, we recommend that you keep the source server online for two days to allow the proxy features to function.

Finish your transfer

The following actions will let you finish preparing your target server to use the data and configurations you transferred from your source server:

Confirm that you possess a valid cPanel license

After you move all of your accounts to your target server, confirm that you possess a valid cPanel license. To do this, navigate to our License Verification interface.

Change the target server main IP address to the source server IP address

Important:
  • If you purchased your license directly from WebPros International, LLC, or a third-party license provider, you must perform this step.

  • We recommend that you do not perform this step if the following conditions are true:

    • You wish to migrate your accounts to a target server with a new hosting provider.
    • You purchased your cPanel license from your former hosting provider.

After you shut down your source server, change the target server’s main IP address to the IP address of your source server. Perform this action via the command line in a local session. A local session allows you to make changes, restart the network service, and remain connected to the server.

To change the server’s main IP address, perform the following steps.

  1. Open the /etc/sysconfig/network-scripts/ifcfg-eth0 file.

  2. Edit the IPADDR and GATEWAY lines to use the IP address and gateway of your source server.

  3. If your source server belongs to a DNS cluster, delete the DNS clusters in WHM’s DNS Cluster interface (WHM » Home » Clusters » DNS Cluster).

  4. Open the /etc/ips file with a text editor.

  5. Add your source server’s primary IP address, net mask, and gateway to the file.

    Note:

    Remove the target server’s primary IP address from this file.

  6. Restart the network service with the following commands:

    • For servers running Red-Hat®-based operating systems, run the systemctl restart network command.
    • For Ubuntu, run the systemctl status systemd-networkd command.
  7. Run the /scripts/mainipcheck command to add the IP address to the /var/cpanel/mainip file.

  8. Run the /scripts/fixetchosts command to add the IP address and hostname of your server to the /etc/hosts file.

Check the IP addresses of the transferred accounts

When you transfer your accounts to the target server, the system may set the accounts’ IP addresses to the target server’s original main IP address. Check and update each account’s IP address with WHM’s IP Migration Wizard interface (WHM » Home » IP Functions » IP Migration Wizard).

Configure your target server’s DNS zone files

In WHM’s Basic WebHost Manager Setup interface (WHM » Home » Server Configuration » Basic WebHost Manager Setup), select the same hostname, shared IP address, and nameservers that your source server uses. The system will configure the DNS zone files of restored accounts on the target server with those settings.

Add the target server to the DNS cluster

Note:

If your server does not belong to a DNS cluster, proceed to the next step.

To add the target server to the DNS cluster, perform the following steps:

  1. Navigate to WHM’s DNS Cluster interface (WHM » Home » Clusters » DNS Cluster).

  2. Select Enable DNS Clustering.

  3. Click Change.

  4. Click Return to Cluster Status.

  5. Select the server to add to the DNS cluster from the Add a new server to the cluster menu.

  6. Click Configure.

Reinstall all SSL certificates

Note:

Proceed to the next step if your server meets the following conditions:

  • The accounts on your server do not use SSL certificates from a Certificate Authority.
  • Both of your servers use an SNI-capable operating system.

To upload an existing SSL certificate to your server, perform the following steps:

  1. Navigate to WHM’s Install an SSL Certificate on a Domain interface (WHM » Home » SSL/TLS » Install an SSL Certificate on a Domain).

  2. Paste the certificate into the text box, or click Fetch to upload a .crt file.

  3. Click Submit to install the certificate.

Additional Documentation