This tutorial is only for migrating cpanels from a reseller account to other reseller account on different server
If you have root access not just reseller, there will be probably much easier to use WHM / Transfers / Transfer Tool


Shared hosting reseller providers may not help their clients (resellers) transfer their data out. Also basic shared reseller whm/cpanel accounts don't include root access to transfer data easilly and automatically from old to new cpanel/WHM root server.

So i did manual transfer / migration the way which is desciribed in this tutorial. I had around 27 resold accounts totaling 1Gb of data. This took me 70 minutes to manually backup each and restore.

Prepare the things

24-48 hours before transfer, decrease TTL (time to live) value in DNS Zone files in old whm reseller account (DNS functions / Edit dns zone / domainname /) and replace TTL values . (I had 86400 seconds as seen there and decreased to 1800). This TTL change should ensure minimum delay untill visitors are redirected to old hosting even after IP addres change.

Setup new WHM server, like firewall on it, contact email, hostname - see this tutorial on how to do it: http://internetlifeforum.com/reseller-hosting/1864-how-setup-server-cpanel-hosting-reselling/ (read from section "Initial WHM setup")

After waiting,
- login old whm reseller panel and go to account list.
- login new whm root server and at "Server Configuration / Basic cPanel & WHM Setup" page, enter two of your nameservers that will be used for your transfered accounts. IMPORTANT (must read): the nameservers you set there will be propagated into newly created accounts and also into ones that you transfer from your old reseller hosting. This means that if hosting accounts domains at old server are pointed to ns1 and ns2 yourdomain.com you must set also these nameservers on "Basic cPanel & WHM Setup" page at new destination WHM server. if you consolidate several reseller accounts in your new WHM server one have ns1 and ns2 and other have ns3 and ns4. Before transfer at "Basic cPanel & WHM Setup" page, you need to set same nameservers as currently transfered accounts have.

- At new WHM, Go to "Backup / restore a full backup/cpmove file"

- Login new server via ssh and go to /home, then do command ls -lht | grep backup- to lsit only backup files sorted by date (handy during migration)

Backing up first cpanel account

- Go back to old WHM panel and open first cpanel account from the list clicking cpanel blue icon. Then click Backup icon in that cpanel then click Generate full website backup, then select SCP, write your email to get notiffied when backup done, fill out your new WHM server IP and credentials, ssh port 22 and the directory should be /home

Name:  e89vc.jpg
Views: 55
Size:  75.6 KB

- proceed to do first backup / Generate Backup

- then when executed, click Back button to see if backup finished. When an backup entry disappear wholy, it means it was created and moved to your new server via SCP you will receive an email when its complete.

Restore backup at new WHM server

- switch to your SSH window of your new server and push up arrow to list your recently used command (ls -lht***) and execute by enter. so now you should see your first backup file.

- Go to your new server WHM control panel and on before mentioned and prepared restore page (Backup / Restore full backup/cpmove) add username of that account you just backed up and transfered to new server. Example file: backup-4.18.2014_14-52-16_onabhvfu.tar.gz ; the username is: onabhvfu

restore is now in progress. In meantime, initiate next account backup at old WHM panel and repeat this whole process..
PS: You may get error "DOMAIN CONFLICT: * owned by * - the copy failed!"


After all transfered

- When all transfers complete, change IP of the nameservers (example ns1 and ns2 yourdomain.com) in your domain registar control panel to the new server IP

- Then if you use custom nameservers like ns1.yourhosting.com, go to your old server control panel cpanel account where is hosted yourhosting.com domain and in "* DNS zone editor" (icon in cPanel). Simply check DNS zone of your domain yourhosting.com and change ns1, ns2 .yourhosting.com IP from old server IP to new server IP.

- After change propagate, check some hosted domain via http://intodns.com to see if your nameservers IP was changed from old to new. If it is changed, you can try accessing that website via some web proxy like anonymouse.org or hidemyass.com (if you access directly, your internet service provider may cache old IP and you will load site from old server. To be sure from where your site is loaded. you can do ping domainname.com or suspend cpanel account at old server to see if suspended page will appear. (NOTE: On the transfered websites can be some errors, like missing apache modules which may need installing, it can happen that big mysql databases wont be transfered properly, in such case. you will need to ask hosting provider to create mysql dumps manually or do partial exports&restore via phpmyadmin or use BigDump script to import big mysqls.)