Moving hosting accounts from WHM Reseller to WHM VPS


You started your web hosting business with a cPanel & WHM based Reseller hosting account. You now have a lot of customers and your reseller hosting is not enough. You are planning to buy a VPS or Dedicated server with cPanel and WHM. You now want to transfer all the hosting accounts to your new server and shutdown reseller hosting account.

How Would You Transfer All Your Accounts to Your New VPS?

You probably are aware of the fact that cPanel has made your life easier when transferring accounts from one cPanel server to another cPanel server. There are a few options available in Web Host Manager (WHM) for transferring accounts. For example:

WHM transfer options
  1. Copy an Account From Another Server
  2. Copy an Account From Another Server With an Account Password
  3. Copy Multiple Accounts/Packages From Another Server

Option 1 and option 3 requires you to have the ability to connect via SSH in the server you want to transfer your accounts from. You are probably one lucky person if your reseller hosting account comes with SSH access. Unfortunately most of the hosting providers do not allow SSH access to their reseller account holders. Please note that – this tutorial is focusing on transferring cPanel accounts from a reseller hosting account to VPS or Dedicated servers with cPanel. In this case you have only option 2 available for you.

To transfer cPanel accounts using option 2 – you need to do the following:

  • Login to your New VPS (or Dedicated server) WHM panel
  • Click on the option “Copy an Account From Another Server With an Account Password” in the left menu of WHM under the “Transfer” tab.
copy account from another server
  • Provide the account details of the cPanel account you want to transfer to.
  • Press “Copy Account”.

The account will now be copied in the VPS ( or Dedicated server ). You now need to do the necessary Name server changes of the domain – so that it runs from the VPS.

The above procedure is pretty straight forward. You need to do it for every cpanel account you want to transfer to. In this method you need to know the cPanel username and password of every cPanel account. You can get the username from the “List Account” option in WHM. It is possible that your customer might have changed his/her cPanel password. In that case – you may reset the password of that account, transfer the cPanel account and let your customer know the new password.

But what if you don’t know the cPanel password and want to transfer the cPanel account without resetting the password?

Yes you can do that too. In that case the single cPanel transfer mentioned above will not be applicable. You need to apply a trick in this situation.

You need to do the following in your reseller account WHM:

  • Login to Reseller Account WHM Panel
  • Go to “List Account” Option.
WHM list account option
  • Click on the cPanel icon next to the domain name to enter into the cPanel of that account.
WHM list accounts
  • You are now in the cPanel of the account you want to transfer to. Now click on the link “Backup”.
backup option in cPanel
  • Now click on “Download or Generate a Full Website Backup”.
generate full cPanel backup
  • Now click on “Generate Backup” button.
generate cPanel backup
  • Wait for some time for the backup to generate. The time required may vary on the size of the backup. Go back to cPanel home and Click on the “File Manager” button.
  • Now go to the home directory in the left Navigation panel in File Manager. You should see the backup file here. Now you need to move this file (Right click on the file and select “Move”) to “/public_html” directory. Change the file permission to 644. You should be able to download the backup file from this link: “http://yourdomain/backupfilename.tar.gz

If you click the above link and the download starts – you are done with the first part. You don’t need to download the file in real time.

The next portion of work will require you to use a tiny software called putty. You can download it from this link: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

After downloading Putty – run it. You should see the interface like below:

putty configuration

You need to type in your new VPS IP of hostname and click “Open” button. You should see the following:

putty connect

Type in your username (ie, “root”) and password. You are now connected to you server via SSH. You now need to run this command:

wget http://yourdomain/backupfilename.tar.gz

This will actually download the backup file from your shared server reseller account to your VPS in root directory.

You need to login to your VPS WHM panel now and navigate to “Restore a Full Backup/cpmove File” under “Backup” tab in the left menu of WHM.

WHM restore backup

You should see the file name you downloaded using putty. Generally the file name is like:

backup_date_time_cpanelusername.tar.gz

or

cpmove_date_time_cpanelusername.tar.gz

Now – scroll to top and fill in the box where it says “Enter the username for the account you wish to restore:” with the username of the backup file. This is actually the cPanel username of the hosting account you have under your reseller hosting account.

WHM restore backup cpmove file

Finally, Click on the button “Restore” at the bottom of the page. Your hosting account will be created in the VPS as it was in your reseller hosting. You now need to change the nameserver info to point your domain’s hosting to VPS hosting account. Everything will be copied exactly it was in the reseller account. Moreover, you don’t need to change cPanel password for these. Your customer won’t even notice that you’ve changed the server. After the restoration – you may delete the backup file from the VPS – so that it doesn’t sit idle and occupy some space. You can delete the file using putty using this command:

rm backup_file_name

The above procedure is useful when Single cPanel account transfer (option 2) fails to transfer account.