I apologize that I did not notice this thread sooner. In your case, you had good cPanel backups, but to anyone who wants to transfer accounts and may not have backups, we always recommend using the transfer tools in the WebHost Manager. Trying to copy accounts from a hard drive without good cPanel backups can be very frustrating and we cannot directly help with this.
This is the advice we usually give to customers looking to migrate from one server to another:
You can copy /etc/wwwacct.conf
, as well as the EasyApache build profile, to the new server. This will copy most of your important server settings, and will make sure that cPanel and Apache are configured the way they are on the old server. Once this is done, use our cPanel transfer tools to transfer your accounts to the new server.
I want to mention that there are many how-to guides online in forums, blogs and other sources that recommend using rsync
to copy all of your files from one server to another. Please do not do this.
sounds great in theory, but in reality, it almost always ends up copying bad configurations and even corrupt files. We see many problems caused by following tutorials that involve rsync
. We do not recommend or endorse any solution involving rsync
, and we cannot support any damage that may be done by using rsync
to copy files indiscriminately between servers.*
Our installation documentation actually addresses this subject in some detail:
Advanced Options: Pre-Installation
You can copy /var/cpanel/cpanel.config
on the old server to /root/cpanel_profile/cpanel.config
before you even install cPanel on the new server. If cPanel is already installed on the new server, simply copy /var/cpanel/cpanel.config
from the old server to /var/cpanel/cpanel.config
on the new server. Use scp
or any other method you are comfortable with to copy the file. Then, copy /etc/wwwacct.conf
from the old server to the new server. These two files contain the majority of the settings in your WebHost Manager and cPanel configuration.
You can also copy your EasyApache build profile, so that Apache and PHP will be built on the new server just like on the old server. The following section of our documentation explains how to do this:
Configuring Apache Pre-Installation
You can copy the EasyApache build profile either before or after you install cPanel on the new server. If you do it after cPanel is installed on the new server, remember that you will need to run EasyApache separately so that Apache and PHP will be built with the profile you copied.
Once the cPanel settings have been copied and EasyApache has been run with your build profile, you can use our transfer tools to copy your accounts. On the new server, in the WebHost Manager, click Main
>> Transfers >> Copy multiple accounts/packages from another server. The new server will log into your old server, package your accounts, and copy them over. The transfer tool is documented here:
Copy Multiple Accounts/Packages from Another Server
The lone exception to this is very large accounts, several gigabytes or more. In the case of very large accounts it can be better to use /scripts/pkgacct
with the --skiphomedir
argument to package everything related to the account except its home directory, copy the package to the new server, restore it on the new server, and then use rsync
to copy the account's home directory. This should only be done with exceptionally large accounts, though, because our transfer tools are very robust and normally work well for average-size accounts.