Based on this blog post by Lauren Hanks.
This tutorial will show how to migrate a website to Reclaim Hosting from Bluehost. Note that this article assumes you have root WHM access, as well as admin access to WHMCS, and is therefore written with Domain of One's Own admins in mind.
Step 1: Terminate empty hosting plan
If the user as first signed up for an account, the first step is to go into WHMCS and terminate the newly created hosting plan. Since there’s no existing content on the account yet, “terminating” does no harm– it just removes the DNS cluster from the server.
Step 2: Check for IP Blocks
Log into the client’s Bluehost account & grab the dedicated IP address on their cPanel. Make sure the IP isn’t blocked. For us, this means (1) checking to see if it’s on a global greylist on BitNinja and if so, whitelisting it, and (2.) Ignore/Allow on Reclaim WHM new server.
Step 3: Transfer account from another server
Log into the Reclaim server where the WHMCS account was created. Search Transfer in the left sidebar and select “Copy an Account from Another Server with an Account Password”. Uncheck restricted restore, type in dedicated IP, username & password. Copy account.
^This step will automatically generate a backup of the cPanel account, download from Bluehost, and upload to Reclaim server in a new account. Depending on how big the site(s) is(are), this step process can take a while. Feel free to close out of this window if needed– this step runs in the background.
Step 4: Update WHMCS Profile
From there, change the status to Active in WHMCS & change user/pass to the Bluehost cPanel credentials. Click save.
Step 5: Fix Perms
After step three is complete, you can run a fix perms command on the root folder of the Reclaim server.
sh fixperms.sh -a cpaneluser^replace
cpaneluserwith the cPanel account username.
Step 6: Remove "AddHandler" from .htaccess
Go into all .htaccess files on the account and remove any lines that begin with “AddHandler”. You can quickly search every file/folder in the user’s account by using the following command:
grep -R “AddHandler”
This step is specific to Bluehost migrations. If this isn’t done, searching the website will prompt the user to download the site as opposed to simply viewing it.
Step 7: Update nameservers
Change nameservers in Bluehost to Reclaim Hosting’s nameservers.
Step 8: Sync passwords between WHMCS + WHM
Click “Change Password” and “Change Package” modules in WHMCS user account>Products/Services Tab. Changing password will align & sync passwords, & changing package will update the user’s hosting plan quotas.
Step 9: For domain transfers
If the user is also transferring domains to Reclaim in addition to their sites, turn off privacy protect & unlock domains to prepare for transfer. Grab EPP codes from Bluehost & input into WHMCS in the Domains tab>Modify EPP Code. Then click Initiate Transfer.
Send a follow-up response to the user reminding/informing them about the Domain Transfer Process, and the multitude of approval emails coming their way.