Hi,
I successfully moved a few hundred shared hosting clients and reseller accounts between 2 servers using WHM
. I have written below a step-by-step how-to about the migration process.
I: Background Information.
I had root access to both the servers and used the Copy Multiple Accounts feature available in WHM.
Server 1 : Old Server (Server from where the accounts have to be moved).
Server 2 : New Server (Server to where the accounts will be moved to).
Old Server:
Hostname: old.olddomain.com
Nameserver 1: ns1.olddomain.com - 70.xx.xx.xx.
Nameserver 2: ns2.olddomain.com - 70.xx.xx.xx
cPanel WHM Verion : 11.24.1+
RHEL
New Server:
Hostname: new.newdomain.com
Nameserver 1: ns1.newdomain.com - 74.xx.xx.xx.
Nameserver 2: ns2.newdomain.com - 74.xx.xx.xx
cPanel WHM Verion : 11.24.1+
RHEL
As an added precaution, I matched the versions of Apache and MySQL on both servers a week before migration.
httpd (1.3.41 (Unix)
mysql (5.0.67-community)
Both Servers also had apache-tomcat-5.5.25 (/usr/local/jakarta/apache-tomcat-5.5.25)
TIP: If the tomcat version is not visible, you can find out the Tomcat Version by running the command in the bin folder.
/usr/local/jakarta/apache-tomcat/bin# sh version.sh
TIP: If an account has servlets installed on the old server, you will have to reinstall servlets for that account on the new server after migration for .jsp files to work properly. WHM -> Account Functions -> Install Servlets.
TIP: Please plan your migration well in advance to avoid last minute problems and also inform your resellers/clients well in advance that you will migrate accounts to a new server on xx day at xx time.
II: Checklist.
1) Verify Reseller packages – Some resellers start of with shared hosting accounts before migrating to a reseller account. If the reseller has not changed their hosting accounts package the accounts will continue to have the parent hosting company’s packages. Request the reseller to immediately upgrade all such packages from the hosting company’s packages to the packages created by the reseller.
2) Check for available free IP’s on the new server because for e.g. If the Old Server accounts use 6 IPS and the new server has only 4 then transfers will begin to fail once all the IP’s are used up.
3) If Additional IP’s are required, order the IP's and add them through WHM before starting the transfer process. After adding the IP’s verify that the cpanel screen appears when the IP is entered in the browser.
4) Check the space used by each reseller to get a fair idea about the time it will take to migrate. In my case it took about an hour to move around 6 Gb of data and this time may vary as per your network connections.
5) Make a list of all accounts that use dedicated IP’S to verify that they have been allotted an IP after the transfer process is over.
6) Backup these files on both servers:
/usr/local/apache/conf/httpd.conf.
/usr/local/Jakarta/tomcat/conf/server.xml
/etc/named.conf
7) A couple of days before the migration reduce the minimum TTL for the olddomain.com as well as newdomain.com to 3600. You can set a lower value i.e 900 but 3600 worked fine for me.
DNS Functions -> Edit DNS Zone -> Choose a Zone to edit -> Minimum TTL.
8) Just before starting account migration, double check that the domain registrar’s website and DNS management features are working and are not down for maintenance reasons. We need the registrar’s site to be up when we will update the nameservers information for resellers.
To reduce downtime for all my resellers including those using private nameservers, I changed their records at their registrar as well as edited the DNS Zone of their main domain on the new server.
If resellers prefer to change the nameservers information by themselves, inform them as soon as their accounts have migrated to enable them to change the nameservers with minimum downtime.
9) If like me, you too are not an expert and if things do not work as planned – keep a server maintenance expert contact ready :D.
III: The Transfer Process.
On the Old Server:
We need to stop the FTP and Exim process and also ensure that cpanels chksrvd process does not restart them. This ensures that no new data is lost during the transfer process. (This is an optional step and the decision to stop these processes depends upon you.)
The simplest way to stop these processes is to login to the root WHM on the old server:
Service Configuration -> Service Manager
Uncheck SMTP Server and Uncheck Ftp Server. Click on Save.
TIP: Please open a ticket with your datacenter / server monitoring company informing them that you have stopped these processes or else the server monitoring system will alert the technicians and waste their valuable time.
On the New Server:
1) Enable the below setting within Tweak Settings on the new server.
Server Configuration -> Tweak Settings -> When adding a new domain, if the domain is already registered, ignore the configured nameservers, and set the NS line to the authoritative (registered) ones.
TIP: This fantastic feature that drew a lot of flak when it was introduced because it was accidentally enabled by cPanel helps in moving the domains from one server to another without needing to change the DNS settings of the domain on the new server after migration.
(IMP: Remember to uncheck this feature after the transfer process is over)
NOTE: A Express Transfer Check box is provided by WHM during the transfer process which says “Express Transfer = This will edit the zone on remote server to reflect the new DNS which can result in expedited propagation, forward any incoming mail from the remote server to the new server, suspend the account on the remote server, and prevent dynamic content from being loaded on the remote server (so no data will be lost).”
I did not use Express Transfer – BUT tweaked the above setting to set the NS line to the authoritative (registered) ones.
2) Login to the root WHM on the new server.
3) WHM -> Transfers -> Copy multiple accounts/packages from another server
4) Enter the required information.
For Remote server type is (WHM version will be auto detected on multi account copies: “I entered 11.24.1+ but this will vary as per your version.”
After entering the old server’s login information, the new server will try to connect to the old server and upon successful connection will fetch the Package Information and Account Information from the old server and display it on the screen..
5) To transfer resellers one-by-one, on the next screen, select the packages setup by the reseller.
Scroll Down and enter the reseller’s username in the text box before “Select Matching Reseller Accounts” and click on “Select Matching Reseller Accounts”.
Click on Copy.
WHM will start migration of the accounts from the old server to the new server and the time taken for this process depends upon the size of the data being transferred.
TIP: You can also select multiple reseller packages and accounts but for large reseller accounts with more than 5 GB of data, it is strongly recommended that you transfer 1 reseller’s account at a time.
6) Upon successful completion a log report is displayed.
TIP: Please do not press the BACK button during any stage of the transfer process.
...continued...in next post...
I successfully moved a few hundred shared hosting clients and reseller accounts between 2 servers using WHM
I: Background Information.
I had root access to both the servers and used the Copy Multiple Accounts feature available in WHM.
Server 1 : Old Server (Server from where the accounts have to be moved).
Server 2 : New Server (Server to where the accounts will be moved to).
Old Server:
Hostname: old.olddomain.com
Nameserver 1: ns1.olddomain.com - 70.xx.xx.xx.
Nameserver 2: ns2.olddomain.com - 70.xx.xx.xx
cPanel WHM Verion : 11.24.1+
RHEL
New Server:
Hostname: new.newdomain.com
Nameserver 1: ns1.newdomain.com - 74.xx.xx.xx.
Nameserver 2: ns2.newdomain.com - 74.xx.xx.xx
cPanel WHM Verion : 11.24.1+
RHEL
As an added precaution, I matched the versions of Apache and MySQL on both servers a week before migration.
httpd (1.3.41 (Unix)
mysql (5.0.67-community)
Both Servers also had apache-tomcat-5.5.25 (/usr/local/jakarta/apache-tomcat-5.5.25)
TIP: If the tomcat version is not visible, you can find out the Tomcat Version by running the command in the bin folder.
/usr/local/jakarta/apache-tomcat/bin# sh version.sh
TIP: If an account has servlets installed on the old server, you will have to reinstall servlets for that account on the new server after migration for .jsp files to work properly. WHM -> Account Functions -> Install Servlets.
TIP: Please plan your migration well in advance to avoid last minute problems and also inform your resellers/clients well in advance that you will migrate accounts to a new server on xx day at xx time.
II: Checklist.
1) Verify Reseller packages – Some resellers start of with shared hosting accounts before migrating to a reseller account. If the reseller has not changed their hosting accounts package the accounts will continue to have the parent hosting company’s packages. Request the reseller to immediately upgrade all such packages from the hosting company’s packages to the packages created by the reseller.
2) Check for available free IP’s on the new server because for e.g. If the Old Server accounts use 6 IPS and the new server has only 4 then transfers will begin to fail once all the IP’s are used up.
3) If Additional IP’s are required, order the IP's and add them through WHM before starting the transfer process. After adding the IP’s verify that the cpanel screen appears when the IP is entered in the browser.
4) Check the space used by each reseller to get a fair idea about the time it will take to migrate. In my case it took about an hour to move around 6 Gb of data and this time may vary as per your network connections.
5) Make a list of all accounts that use dedicated IP’S to verify that they have been allotted an IP after the transfer process is over.
6) Backup these files on both servers:
/usr/local/apache/conf/httpd.conf.
/usr/local/Jakarta/tomcat/conf/server.xml
/etc/named.conf
7) A couple of days before the migration reduce the minimum TTL for the olddomain.com as well as newdomain.com to 3600. You can set a lower value i.e 900 but 3600 worked fine for me.
DNS Functions -> Edit DNS Zone -> Choose a Zone to edit -> Minimum TTL.
8) Just before starting account migration, double check that the domain registrar’s website and DNS management features are working and are not down for maintenance reasons. We need the registrar’s site to be up when we will update the nameservers information for resellers.
To reduce downtime for all my resellers including those using private nameservers, I changed their records at their registrar as well as edited the DNS Zone of their main domain on the new server.
If resellers prefer to change the nameservers information by themselves, inform them as soon as their accounts have migrated to enable them to change the nameservers with minimum downtime.
9) If like me, you too are not an expert and if things do not work as planned – keep a server maintenance expert contact ready :D.
III: The Transfer Process.
On the Old Server:
We need to stop the FTP and Exim process and also ensure that cpanels chksrvd process does not restart them. This ensures that no new data is lost during the transfer process. (This is an optional step and the decision to stop these processes depends upon you.)
The simplest way to stop these processes is to login to the root WHM on the old server:
Service Configuration -> Service Manager
Uncheck SMTP Server and Uncheck Ftp Server. Click on Save.
TIP: Please open a ticket with your datacenter / server monitoring company informing them that you have stopped these processes or else the server monitoring system will alert the technicians and waste their valuable time.
On the New Server:
1) Enable the below setting within Tweak Settings on the new server.
Server Configuration -> Tweak Settings -> When adding a new domain, if the domain is already registered, ignore the configured nameservers, and set the NS line to the authoritative (registered) ones.
TIP: This fantastic feature that drew a lot of flak when it was introduced because it was accidentally enabled by cPanel helps in moving the domains from one server to another without needing to change the DNS settings of the domain on the new server after migration.
(IMP: Remember to uncheck this feature after the transfer process is over)
NOTE: A Express Transfer Check box is provided by WHM during the transfer process which says “Express Transfer = This will edit the zone on remote server to reflect the new DNS which can result in expedited propagation, forward any incoming mail from the remote server to the new server, suspend the account on the remote server, and prevent dynamic content from being loaded on the remote server (so no data will be lost).”
I did not use Express Transfer – BUT tweaked the above setting to set the NS line to the authoritative (registered) ones.
2) Login to the root WHM on the new server.
3) WHM -> Transfers -> Copy multiple accounts/packages from another server
4) Enter the required information.
For Remote server type is (WHM version will be auto detected on multi account copies: “I entered 11.24.1+ but this will vary as per your version.”
After entering the old server’s login information, the new server will try to connect to the old server and upon successful connection will fetch the Package Information and Account Information from the old server and display it on the screen..
5) To transfer resellers one-by-one, on the next screen, select the packages setup by the reseller.
Scroll Down and enter the reseller’s username in the text box before “Select Matching Reseller Accounts” and click on “Select Matching Reseller Accounts”.
Click on Copy.
WHM will start migration of the accounts from the old server to the new server and the time taken for this process depends upon the size of the data being transferred.
TIP: You can also select multiple reseller packages and accounts but for large reseller accounts with more than 5 GB of data, it is strongly recommended that you transfer 1 reseller’s account at a time.
6) Upon successful completion a log report is displayed.
TIP: Please do not press the BACK button during any stage of the transfer process.
...continued...in next post...
Last edited: