pwaara

Member
Aug 10, 2016
19
0
1
Hawaii
cPanel Access Level
Root Administrator
Hi,

I have two different cPanel VPS servers with two different hosting companies each with their own DNS and exim configurations for their respective accounts. I would like to merge the two with minimal disruption to my clients. For the most part it seems I just need to transfer the accounts from my old server to my new server, but I am unclear on how to handle the DNS and exim configurations without disrupting my clients' email.

Can a cPanel host have two DNS servers? Or is it simpler to update the registrar's hosting the domains to point to the new server DNS? (That seems the better approach.)

More confusing to me is what to do with the email. All my clients on server1 have their email clients pointing to mail.server1.net, and all my clients on server2 have their email clients pointing to mail.server2.info. (Server1 and server2 are differentiated only by the .net and .info.) What is the best approach to merging the two servers while minimizing the disruption to my clients? Allowing my clients on server1 to keep their email client settings unaffected would be the least work. Many of clients on server2 are using Gmail as their email server and not the cPanel server.

Any guidance would be greatly appreciated.
 

thowden

Member
May 17, 2013
19
2
3
cPanel Access Level
Root Administrator
Hi

In brief, I would start by fixing your client email configurations.

Each client domain should NOT use your CPanel server hostname for mail.

Client domains should use mail.client.domain.whatever as their email server so that if you migrate the account the end user device configuration does not need to change.

Once all your clients are fixed the migration of accounts and DNS can begin

1. Change the TTL setting for the server to something like 300 seconds (5 minutes) and wait a couple of days for that to propogate.

2. Ensure you have registrar access to all client domains.

3. At a time suited to you and client, use the transfer tool to copy the account.

4. Crosscheck DNS records on both servers and update where needed with the new IP address on both servers. The old server should be flagged for remote mail exchanger.

5. Update the registrar to point to the new server, and update the TTL to something longer 14400 or more. Stable domains should not need to have anything shorter than 72 hours.

6. No email change required as the devices just connect to the new server after 5 min or so. And you can check for any inbound mail on the old server with webmail just in case there was something received during the changeover.

Recommendation: if you have lots of domains setup a CPanel DNS only server to handle your DNS.
 
  • Like
Reactions: Nick Adams

pwaara

Member
Aug 10, 2016
19
0
1
Hawaii
cPanel Access Level
Root Administrator
Yes, I understand what you are saying about using the server host name for email; however, most of these accounts were set up before there was a free cPanel SSL certificate, so to use their mail.domain.tld names for email would have required a costly wildcard SSL certificate that none of them were willing to purchase. I could take this opportunity to do the update now, but there are dozens of email clients (probably approaching 100) that would need to be updated across the country, and most of my clients are not tech savvy and need careful hand holding to make such changes, which is why I am trying to avoid it.

I guess more specifically my question is: How do I make server2 look like it is server1? Primarily, the issues are around DNS and server name for email client reasons.
 

cPanelMichael

Technical Support Community Manager
Staff member
Apr 11, 2011
47,749
2,205
363
cPanel Access Level
DataCenter Provider
Twitter
Hello @pwaara,

Can a cPanel host have two DNS servers? Or is it simpler to update the registrar's hosting the domains to point to the new server DNS? (That seems the better approach.)
You can create multiple sets of name servers using the same IP addresses. For example, the below setup is acceptable:

ns1.host1.tld 1.2.3.4
ns2.host1.tld 1.2.3.5

ns1.host2.tld 1.2.3.4
ns2.host2.tld 1.2.3.5


You'll just need to ensure the "A" records are setup properly in the DNS zones for host2.tld (and ns1.host2.tld/ns2.host2.tld if they exist) on the cPanel & WHM server. Then, update the NS records for "host2.tld" at it's domain registrar to the new IP addresses.

More confusing to me is what to do with the email. All my clients on server1 have their email clients pointing to mail.server1.tld, and all my clients on server2 have their email clients pointing to mail.server2.tld. (Server1 and server2 are differentiated only by the .net and .info.) What is the best approach to merging the two servers while minimizing the disruption to my clients? Allowing my clients on server1 to keep their email client settings unaffected would be the least work. Many of clients on server2 are using Gmail as their email server and not the cPanel server.
To avoid updates to the email client settings, you'd need to ensure "server2.tld" exists as it's own cPanel account or as an Addon domain on the "server1.tld" cPanel account and resolves to the new server's IP address. Then, once AutoSSL runs for the cPanel account, a SSL certificate should be generated automatically for "mail.server2.tld" and email clients using that mail server name should be able to authenticate and send/receive email over SSL without error.

Thank you.
 

pwaara

Member
Aug 10, 2016
19
0
1
Hawaii
cPanel Access Level
Root Administrator
Thanks. So am I correct in my understanding that the hostname that is inserted into the headers of a sent email is the hostname that the client uses to authenticate itself? For example, if my client uses mail.mypersonaldomain.tld as its smtp host, the Received: from header will be mail.mypersonaldomain.tld. For some reason I thought that the hostname that was put into the mail headers was set somewhere on the server, but I may be confusing that with Microsoft Exchange.
 

cPanelMichael

Technical Support Community Manager
Staff member
Apr 11, 2011
47,749
2,205
363
cPanel Access Level
DataCenter Provider
Twitter
So am I correct in my understanding that the hostname that is inserted into the headers of a sent email is the hostname that the client uses to authenticate itself?
No, Exim populates the hostname in the email header to align with what's configured via WHM >> Change Hostname.

Thank you.