A few years back, things were quite simple. Each organization acquires a domain to establish its virtual identity. Virtual identity includes their company website, company email service, etc. Over time, the company’s size increases, and their communication medium is expanded. Now, most companies acquire multiple domains. Each domain should have email services of its own.
As system administrators, it is our responsibility to manage all the company’s domains. The simple approach can be, configuring each domain into a single dedicated server machine. But it will increase the CAPEX and the OPEX of the IT operation of the company. Moreover, maintaining all individual servers will be a hassle to keep their service smooth.
What if we could accommodate all our domains into a single server? It will reduce our expenditures. Manageability will be much easier. Troubleshooting will be much faster. By doing so, we can effectively utilize the server resources.
Being a compact, collaborative and versatile email solution, Zimbra allows us to host multiple domains into a single server.
To configure multiple domains in the same server, we need to consider the below-mentioned points:
- Sufficient resources in the server,
- Proper DNS records,
- Server level configuration.
Resources for the Server
We have to calculate the server’s storage, RAM, and CPU precisely so that we don’t get performance issues during our operation.
I am sharing a basic storage calculation of a Zimbra server, just in case we need it:
Zimbra Storage Calculation Example:
(Based on mailbox usage of 200MB and 500 users)
|User data||500 users with 200MB = 100GB user data|
|MYSQL data||5% of 100GB(user data) = 5GB|
|Zimbra Indexes||25% of 100GB(user data) = 25GB|
|Total||100+5+10+20+25 = 160GB|
RAM and CPU shall be calculated accordingly.
We need to keep the provision of scaling our hardware resources.
Proper DNS Records
For multiple domains into a single server, we need to publish the below-mentioned set of DNS records for each server domain.
Let’s assume we have a server with a hostname.
We want to configure the below-mentioned domains in our single server Zimbra environment.
DNS records for domain1.com:
A Record : server.domain1.com IP ADDRESS= AA.BB.CC.DD MX Record : server.domain1.com txt Record : v=spf1 mx a a:server.domain1.com -all
DNS records for domain2.com:
A Record : server.domain2.com IP ADDRESS= AA.BB.CC.DD MX Record : server.domain2.com txt Record : v=spf1 mx a a:server.domain2.com -all
Similarly, we have to publish all other domains’ DNS records configured on this server.
Server Level Configuration
- After the initial configuration of Zimbra server, we can only see 1 domain configured into this server; which will act as a default domain for this server. That means user of this domain does not need FQDN based user name to login into their email account.
- From the Zimbra admin console, go to the Domains from Home – Configure – Domains and add all other domains here.
- To add a domain, we will need the following information to fill in:
- Domain Name:
- GAL sync account name:
- Mail Server:
- Datasource name for internal GAL:
- After that our domain will be configured in the server.
- Now we can add users under these domains.
We can access the domain configuration setting from the same admin console panel, which is convenient. Still, it could have been more dynamic if we could customize settings for each domain separately.
I think it has been a long time since the developers of Zimbra or Zimbra-like email solutions started thinking about this facility.
Configuring multiple domains into a single server environment made system administrators’ life a lot easier and more convenient. But we still wish for some addons (i.e., per domain configuration, etc.) that we think can add value to this complete solution in a great deal.