Fastest way to manually migrate from cPanel to DirectAdmin as a Reseller

Last Updated: Wed, Apr 17, 2024
Here is the quickest way I know to manually migrate all cPanel accounts under a reseller (WHM) account to a DirectAdmin Reseller account (with no root access). Note this can be mostly automated using our Automated Migration Tool please see our other guide Automated cPanel to DirectAdmin Migration Tool for help using that tool. If proceeding with a manual migration then while having SSH access is not required for your DirectAdmin Reseller account, it is better imho. In this guide, I have just used FTP.

Step 1 - Display WHM Listing

The first thing we do is open WHM and list all accounts. This gives us a great starting point from which to organize our migration.

  • Login to your WHM Reseller control panel at your old host
  • List all accounts by clicking on List Accounts
  • Click on each CP link one at a time to open each cPanel control panel

WHM hosting control panel showing cpanel account listing

Step 2 - Remote FTP Backup each cPanel account

Next, when we open each cPanel control panel, we want to generate a backup and have it FTP'd (or SFTP'd) to our DirectAdmin Reseller account. We do this because server-to-server migrations are the fastest. Repeat the below steps for each cPanel account.

  • When in the cPanel control panel, click on Backup and then Download a Full Account Backup
  • Then for Backup Destination, select one of the Remote FTP server options or the Secure Copy (SCP)
  • For Remote Server enter your DirectAdmin servers IP address or hostname
  • For Remote User enter your DirectAdmin reseller username
  • For Remote Password enter your DirectAdmin reseller password
  • For Port enter 21 for FTP or 22 for SCP (SFTP)
  • For Remote Dir if using FTP (port 21) then enter just the relative path, typically user_backups, do not include the full path as FTP transfers already include the /home/$reseller_username in the path. However, if using SSH (port 22) then enter the full path to the user_backups directory of your DirectAdmin reseller account. Typically this would be /home/$reseller_username/user_backups/. Note replace $reseller_username with your DirectAdmin reseller username.
  • Then Click on Generate Backup. Repeat these steps for each cPanel account

cpanel hosting control panel generate a backup form

Step 3 - Rename and Restore Backups

Note for the below steps you can use SSH access or FTP access, I prefer using ssh but not all DirectAdmin Reseller accounts have SSH access.

  • Ssh or FTP into your DirectAdmin Reseller account and navigate to the remote backup directory you specified earlier for all cPanel backups. In my example, this was /home/dares/user_backups/
  • You should see all the cpanel backups listed. DirectAdmin only recognizes cpanel backups with the naming convention cpmove-$cpusername.tar.gz. You will see your backups listed as:
    backup-xx.xx.xxxx_xx-xxxx_$cpusername.tar.gz. Manually rename each backup file to the cpmove-$cpusername.tar.gz format
  • Then login to your DirectAdmin Reseller account click on Manage User Backups and then click on Restore. If you can't find this then simply enter "restore" in the DirectAdmin search bar
  • Click through the Restore Backup screens via the Next Step buttons until you see your backups listed. Select all the backups and click Restore

DirectAdmin hosting control panel showing restore backup function


After the backups are restored, you can point your domains to your new DirectAdmin accounts via your Domain Registrar. Once all domains have propagated then you can set up SSL Certificates for all accounts and that should be it!