Advice on Migrating cPanel/WHM Accounts

I’m merely posting this to help whoever can be helped by this. There’s nothing really Earth-shaking here. 🙂

Say you’re in the situation I was in last month: migrating accounts from one cPanel/WHM-based server to another. You looking for some step-by-step advice on a best practice to move stuff? Here it is:

  1. Make a list of all your accounts to be moved. Double-check it. Use this list to develop your IP allocation plan [if you need one; if you don’t have resellers, you don’t need one].
  2. Break up the list into chunks; no one wants to move all the accounts in one sitting. The most I moved at once on this move was on Saturday, when I moved 12 accounts. Took me a good chunk of the day watching WHM do all the heavy lifting.
  3. Reset the DNS time-to-live [TTL] from 86400 to 1800 for each account around 24-36 hours before you’re ready to make the move. This will allow you to have DNS changes propagate smoothly and quickly.
  4. On the day of the move, initiate the account move first. You can use the single-account or the multi-copy under Transfers in WHM; I did the first few one at a time until I was fully familiar with the process. [I do this every couple of years or so as I move servers, but WHM usually has made changes in the interim.]
  5. Once the move is complete [or nearly so, if you’re moving lots of data], go change the IP settings to the new IP you allocated for the account when you made that list at the beginning. You don’t want to do this too early and have the site appear offline.
  6. Once the move is complete and the DNS is changed, log in to WHM on the old server and suspend the account. This will prevent people from interacting with the old site on the old server [sending email, posting to it if it’s a user-generated content site].
  7. An hour or so after the move’s been done, see if you see the site on the new server. If you didn’t, something’s wrong.
  8. The next day, terminate the account on the old server and change the DNS TTL record back to 86400. No sense hammering your DNS provider. [As to why you shouldn’t change the TTL when changing the IP: my experience is that changing both mucks up propagation. I can’t explain it, as it should work properly that way. This is a conservative way to do it, and I’ll take that.

There you have it. You should be able to do all this without a net here. The joys of using cPanel/WHM for account moves are many, including the fact that doing so abstracts away some of the local environment issues you might have.

Lastly, a plug: if you use cPanel/WHM, you ought to have your server tuned and hardened by the folks at ConfigServer. I don’t get anything for this plug but the satisfaction of your server being done right. At this point, I don’t run cPanel if they haven’t tuned it out for me.