How to migrate cPanel to cPanel hosting

0
7

Migrating from one cPanel hosting server to another may sound complicated, but it’s a process that almost every website owner or hosting provider needs at some point. Whether you’re upgrading to a stronger server, moving to a new data center, or switching hosting providers, ensuring a smooth and secure migration is critical.

If the migration is not done properly, you risk website downtime, broken databases, missing emails, and frustrated users. The good news is that cPanel provides powerful built-in tools to make this transfer seamless. By carefully following a structured approach, you can migrate your accounts, settings, and services without unnecessary downtime.

This article provides a step-by-step guide on how to migrate cPanel to cPanel hosting, covering everything from server preparation to DNS configuration and SSL reinstallations.

Overview

At its core, migrating cPanel-to-cPanel involves moving data and configurations from a source server (your current hosting environment) to a target server (the new hosting environment).

The Goal of a Proper cPanel-to-cPanel Migration

The process can be broken down into the following stages:

  1. Prepare your target server – Install cPanel & WHM, check system compatibility, and confirm a valid license.

  2. Transfer configurations and accounts – Use WHM tools to copy over service settings and cPanel accounts.

  3. Reconfigure network and DNS – Update IP addresses, DNS zone files, and cluster settings.

  4. Finalize and secure – Reinstall SSL certificates, test websites, and shut down the old server.

With careful planning, you can ensure that:

  • All websites transfer smoothly.
  • Emails and databases remain intact.
  • SSL certificates are properly reinstalled.
  • Downtime is minimized to just a few minutes (or even avoided entirely).

Migrate cPanel to cPanel Hosting Accounts

The first real step in the migration process is preparing your cPanel accounts for transfer. This is where you move all of your websites, email accounts, databases, and other related files from the source server (current hosting) to the target server (new hosting).

Before you begin, make sure you have:

  • Root-level access to both servers (source and target).

  • A stable internet connection.

  • Enough storage space on the target server to accommodate all accounts.

  • A migration plan (especially if you’re handling dozens or hundreds of accounts).

👉 The easiest way to do this is by using the WHM Transfer Tool. This tool connects both servers and allows you to migrate accounts in just a few clicks.

Steps to transfer accounts with WHM Transfer Tool:

  1. Log in to WHM on your target server.

  2. Navigate to:

    WHM → Transfers → Transfer Tool
  3. Enter your source server’s IP address, root username, and authentication method (password or SSH key).

  4. WHM will attempt to connect and verify compatibility.

  5. Once verified, you’ll see a list of accounts available for transfer.

  6. Select the accounts you want to migrate.

  7. Start the transfer.

The system will handle the copying of files, databases, email accounts, and DNS records.

✅ Pro tip: If you’re migrating a reseller server with many accounts, transfer them in smaller batches. This reduces server load and prevents interruptions.

Install cPanel & WHM on your target server

Before any migration can take place, your target server must have cPanel & WHM installed. Without it, the accounts you’re transferring won’t have an environment to function.

Steps to install cPanel & WHM:

  1. Start with a clean server running a supported OS such as AlmaLinux, Rocky Linux, CentOS (older versions), or Ubuntu.

  2. Connect to your server via SSH as root.

  3. Run the following command to download and install the latest version of cPanel:

    cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
  4. The installation may take up to 30–60 minutes depending on your server’s resources.

  5. After completion, access WHM by entering the following in your browser:

    https://your-server-ip:2087
  6. Log in using the root credentials and complete the initial setup (hostname, nameservers, etc.).

Copy all service configurations to the target server

It’s not just the user accounts that need to be transferred—your server’s service configurations also play a crucial role in ensuring everything works smoothly post-migration. These include:

  • Web server configurations (Apache, NGINX, LiteSpeed settings).

  • PHP configurations (custom handlers, extensions, limits).

  • MySQL/MariaDB settings (databases, users, privileges).

  • Email services (Exim, Dovecot, SpamAssassin).

  • DNS settings (BIND, PowerDNS).

WHM offers a Service Configuration Transfer Tool that can move these settings from your old server to the new one.

Steps:

  1. Go to WHM on the target server.

  2. Navigate to:

    WHM → Transfers → Service Configuration
  3. Select the configurations you want to copy.

  4. Start the transfer process.

👉 This step ensures that all accounts you move later will run with the same server environment, preventing compatibility issues.

Copy all accounts to the target server

Once your target server is prepared with cPanel, WHM, and service configurations, the next big step is to transfer all accounts. This includes websites, files, email accounts, databases, FTP users, and DNS records.

The best tool for this is the WHM Transfer Tool. If you already used it to connect both servers, you can now proceed to copy accounts in full.

Steps to copy accounts:

  1. Log in to WHM on your target server.

  2. Go to:

    WHM → Transfers → Transfer Tool
  3. Connect to your source server by entering its IP address and authentication method.

  4. WHM will scan the server and list all cPanel accounts.

  5. Select the accounts you want to transfer.

  6. Click Copy and wait until the process completes.

👉 Important Tip: If your server hosts many accounts, migrate them in small groups to avoid timeouts or overload.

During this step, WHM will automatically:

  • Copy files and folders.

  • Import MySQL/MariaDB databases.

  • Transfer email accounts and messages.

  • Sync DNS records.

After completion, all of your websites should now exist on both servers (source and target).

Shut down your source server

After verifying the successful transfer of accounts, you should phase out the source server to prevent conflicts.

Steps to follow:

  1. First, stop new signups, updates, or changes on the source server.

  2. Wait at least 24–48 hours so DNS propagation can complete.

  3. Once you confirm everything is working properly on the new server, shut down the old server.

👉 This prevents duplicate emails, database conflicts, or DNS mismatches.

Finish your transfer

With accounts copied and the source server deactivated, you must now finalize the migration. This involves:

  • Testing each website:

    • Visit the domain to ensure it loads correctly.

    • Test database-driven apps like WordPress, Magento, or Joomla.

  • Checking email functionality:

    • Send and receive test messages.

    • Verify MX records.

  • Verifying FTP access:

    • Log in with FTP credentials to confirm file transfer works.

  • Ensuring DNS is resolving correctly:

    • Use tools like dig, nslookup, or DNS Checker to confirm A records point to the new server.

Once these verifications are complete, your migration is essentially finished. At this point, your websites, emails, and accounts are all running entirely from the new server.

Confirm that you possess a valid cPanel license

Before your new server can run smoothly, you need to ensure it has a valid cPanel license. Without one, your WHM/cPanel installation won’t function properly after migration.

Steps to check your license:

  1. Log in to your target server via SSH as root.

  2. Run the following command:

    /usr/local/cpanel/cpkeyclt

    This command forces the server to check and update its license with cPanel.

  3. To double-check, visit cPanel License Verification and enter your server’s IP address.

👉 Important:

  • If your hosting provider gave you the server, the license might already be included.

  • If you manage your own VPS/dedicated server, you’ll need to purchase or transfer your existing license.

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

To minimize downtime and avoid updating DNS records everywhere, you can assign your old server’s IP address to the new server. This way, when visitors type your domain name, they’re automatically directed to the new machine.

Steps to change the IP:

  1. Shut down the old (source) server to avoid IP conflicts.

  2. Log in to your target server as root.

  3. Update its network configuration to replace the default IP with your old server’s IP.

This step is optional if you’re fine with updating DNS records manually, but it’s highly recommended for zero downtime migrations.

Change the main IP address on a RHEL-based server (CentOS, AlmaLinux, Rocky Linux)

If your server runs a RHEL-based operating system:

  1. Open the network configuration file for your network interface. Usually:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
  2. Find the line starting with IPADDR= and replace the old value with your desired IP.
    Example:

    IPADDR=192.168.1.100
  3. Save and exit the file.

  4. Restart the network service to apply changes:

    systemctl restart network

👉 If your system uses NetworkManager, you may need to restart it with:

systemctl restart NetworkManager

Change the main IP address on an Ubuntu server (Debian-based)

For Ubuntu/Debian servers using Netplan:

  1. Open the Netplan configuration file:

    nano /etc/netplan/01-netcfg.yaml
  2. Replace the old IP under the addresses: section with your desired IP. Example:

    addresses:
    - 192.168.1.100/24
  3. Save and exit.

  4. Apply the new configuration:

    netplan apply

👉 On older Ubuntu versions, you may need to update /etc/network/interfaces instead.

Check the IP addresses of the transferred accounts

After you finish migrating accounts, it’s critical to verify that each account is pointing to the correct IP address on the target server. If not, websites may still load from the old server or show errors.

How to check:

  1. Log in to WHM on your target server.

  2. Navigate to:

    WHMAccount InformationList Accounts
  3. Review the IP address column for all accounts.

  4. If some accounts still show the old server’s IP, update them manually.

👉 This step ensures that all migrated accounts use the new primary IP address.

Configure your target server’s DNS zone files

DNS zone files tell the internet how to connect domains to the right server. After migration, you must reconfigure these files to ensure that domains resolve properly.

Steps to configure DNS zone files:

  1. Open WHM on the new server.

  2. Go to:

    WHM → DNS Functions → Edit DNS Zone
  3. Check each domain’s A records, CNAMEs, and MX records.

  4. Make sure the A records point to your new server’s IP.

  5. Update MX records if your email server setup has changed.

👉 Don’t forget to restart DNS services (BIND or PowerDNS) after making changes.

Add the target server to the DNS cluster

If you’re managing multiple servers, you might already have a DNS cluster. This setup helps synchronize DNS records across servers and prevents downtime.

To add your target server to the DNS cluster:

  1. In WHM, navigate to:

    WHMClustersRemote Access Keys
  2. Generate a remote access key.

  3. Add your new server to the cluster using that key.

  4. Confirm that DNS sync works between servers.

👉 This step is especially important for reseller hosting environments where multiple servers share DNS responsibilities.

Reinstall all SSL certificates

SSL certificates often do not transfer properly during migration. Without valid SSLs, visitors may see browser warnings when visiting your sites over HTTPS.

How to fix:

  1. Go to WHM on your target server.

  2. Navigate to:

    WHM → SSL/TLS → Manage SSL Hosts
  3. Reinstall SSL certificates for each domain.

    • If you use Let’s Encrypt or AutoSSL, simply enable AutoSSL to automatically re-issue certificates.

    • For premium SSLs, you may need to re-issue and re-upload them.

👉 Always test HTTPS access after reinstalling SSLs to ensure no warnings appear.

Conclusion

Migrating your website from one cPanel host to another might sound technical, but with the right preparation, it can be a seamless process. The key is to plan carefully — back up your files and databases, verify your DNS settings, and test everything before making the final switch. By following a structured migration checklist, you can move your entire site without losing data or experiencing downtime.

If you’re still unsure how to migrate cPanel to cPanel hosting, remember that most premium hosting providers offer free migration support. Taking advantage of that service can save you time, minimize errors, and ensure your website runs smoothly on the new server. A little planning and attention to detail go a long way toward ensuring your transition is fast, secure, and stress-free.

The most important factors to remember are:

  • Preparation is key — ensure your target server has enough resources and a valid cPanel license.

  • Use WHM’s Transfer Tools — they simplify account and configuration migration.

  • Verify everything — check websites, emails, databases, and DNS resolution after migration.

  • Secure your setup — reinstall SSL certificates and confirm HTTPS works correctly.

If you follow this guide step-by-step, your websites, applications, and client accounts will continue running smoothly on the new server, without data loss or frustrated users.

👉 Final tip: If you’re not comfortable handling server migrations yourself, consider hiring a professional system administrator or managed hosting provider. It will save time, reduce risks, and give you peace of mind.

FAQs

1. How long does a cPanel to cPanel migration take?
It depends on the number of accounts and the size of data. A small migration may take 1–2 hours, while large reseller or enterprise migrations can take 12–24 hours.

2. Can I migrate without root access?
No. Full cPanel-to-cPanel migration requires root access on both servers. Without it, you can only back up and restore individual accounts manually.

3. Will there be downtime during migration?
If you keep the same IP addresses and configure DNS properly, downtime can be minimal — often just a few minutes during DNS switch-over.

4. Do emails transfer with cPanel migration?
Yes. All email accounts, messages, and forwarders are copied during migration. However, you should test email sending/receiving afterward to confirm.

5. What happens to my SSL certificates?
In most cases, SSLs don’t transfer automatically. You must reinstall or re-issue them on the new server. AutoSSL can make this easier.

6. Can I reuse my old cPanel license on the new server?
Yes, but you need to update the license for the new server’s IP address. Use the command /usr/local/cpanel/cpkeyclt or verify through cPanel’s website.

7. How can I avoid data loss during migration?
Always perform a full backup before starting the migration. Using WHM Transfer Tool is safe, but a backup ensures you have a fallback if anything goes wrong.

8. Do I need to update my domain registrar after migration?
If you change IP addresses, you may need to update nameservers or A records at your domain registrar. If you use the same IP, no update is needed.

Previous articleHosting with 24/7 Support and Live Chat for Beginners
Next articleHosting with 24/7 Support and Live Chat

LEAVE A REPLY

Please enter your comment!
Please enter your name here