As long as you used CPanel at your old hosting company you can utilize the transfer utility WHM provides to move the account. You will need the following information:
1. IP of the old host server that your account is on.
2. The username and password of the account.
If you are a reseller at your old hosting company and need to transfer multiple accounts - you either need to know the password of each of those accounts or you need to be able to change the passwords OR please see Part Two of this tutorial.
1. Click on Copy an account from another server with account password under the Transfers menu.
2. Enter the IP address or domain name of the server to copy from in the Server to copy from field.
3. Enter the username and password for the account in the Username to copy and User’s password fields.
4. Click on Give new account an ip address tick box to give the transferred account an IP address. [OPTIONAL]
5. Click on the Setup button.
You have now copied the files identically the way it is on other server to your new server.
---
Part Two - Resellers -
As per the note above - you need to know all the passwords for all the accounts, or you need to be able to change all the passwords for all the accounts. Or you can utilize the feature where WHM at your old host allows you to login to the cpanel of each of your resold accounts.
If you do that - here's what you do.
1. On your vps create a dummy account with a large amount of space allocated to it. Give it an easy to remember username like moveme and an easy password as well.
2. On your old host WHM login to the first accounts cpanel. Click on the Backups Icon.
3. Click on Download or Generate a full backup.
4. From the drop down menu select "Remote FTP Server(Passive Mode)
5. Input your email address into the contact/email field.
6. Enter the information for that vps dummy account you created in step 1. Use the IP for remote server and then the appropriate username/password as was created.
7. For Port put 21. For remote directory put it in /public_html unless you have another directory made up for this purpose.
8. Click on the Generate Backup button.
This will generate the backup - then it will ftp the backup file to the dummy account on your vps. Once its done it will email you to let you know. Repeat this process for all the accounts you want to move - Then follow these steps to restore them on your vps.
1. Login to your vps through shell(putty) as root or a userid with su root access.
2. type
cd /home/username/public_html - Replace username with the username of the dummy account you created earlier.
3. type
dir *.tar.gz - This should give you a listing of the backup files that were transferred that you can now restore.
4. type
cp *.tar.gz /home - This will copy all those tarballs to your home directory. Leaving a copy in that dummy account in case there's a screwup.
5. Login to your WHM on your VPS.
6. Click on Restore a Full Backup/cpmove file in the Backup Menu tree.
7. There will be a listing of all the tarballs that can be restored that it found in the /home directory.
8. To restore an account enter the username of the account to restore and click the restore button.
WHM will restore the account will all files, emails, databases, settings etc.,
Repeat step 6 through 8 for each account to be restored.
You're done!
Its a much longer process then it would be if you had root access on your old host. But it works - and generally speaking it is pretty stable and much better then using ftp to download/upload the files. Don't forget to delete that dummy account once you're done.