1. What Is Multi Server Setup?
The Multi Server Setup (MSS) feature allows multiple DirectAdmin servers to communicate with each other. In all examples, we refer to:
- Box A – the master server (where you are logged in)
- Box B – the remote slave server
All synchronization is “push based,” meaning data is pushed from A → B and stored on B.
The original purpose of MSS was DNS zone mirroring, but its functionality has expanded significantly over the years.
---2. DNS Zone Transfer & Domain Check
Zone Transfer
When a domain’s DNS zone is saved on box A, DirectAdmin automatically syncs it to box B. This ensures both servers maintain identical DNS records.
Domain Check
This prevents creating a domain on box A if it already exists on box B. For example, if domainB.com exists on B, DirectAdmin blocks creating it on A.
Two way DNS clustering
You can configure:
- A → B
- B → A
This allows both servers to act as ns1/ns2 and host users independently.
---3. Restoring Users in a Multi Server Environment
If restoring UserA on box B while its DNS zone exists on B, use this setting:
On restore, check for domain conflict in domainowners
This changes the conflict check from named.conf to domainowners, preventing MSS from blocking the restore.
If deleting a user on A but want DNS to remain on both A+B, enable Leave DNS.
---4. User Check – Prevent Duplicate Usernames
The User Check feature prevents creating a username on A if it already exists on B.
Why is this important?
If multiple DirectAdmin servers share a single remote MySQL/MariaDB server (box C), usernames act as database prefixes. Duplicate usernames across A and B would allow users to see each other’s databases.
Solution: Enable User Check in both directions:
- A → B
- B → A
5. E Mail Accounts Synchronization
This feature synchronizes the email account list stored in:
/etc/domain.com/passwd
from box A → box B.
Important notes:
- It does NOT create users.
- It does NOT create domains.
- Both the user and domain must already exist on both servers.
6. Show All Users – Cross Server User Visibility
When enabled, the Show All Users page on box A also displays users from box B.
A new column indicates which server each user belongs to. Clicking a remote user provides a link to the remote server’s account view page (login required).
---7. User Accounts Sync (Experimental)
This feature is in ALPHA and disabled by default. When enabled, creating a user/domain on A also creates it on B.
It only handles:
- User creation
- Domain creation
- User deletion
It does NOT sync any other data. Useful when combined with Email Sync to ensure the remote server has the required user/domain structure.
---8. Remote E Mail Account Sync
This feature uses the API to log in as the remote user and replicate email actions.
Supported actions:
- Create email accounts
- Modify email accounts
- Delete email accounts
- Suspend/unsuspend email accounts
Not supported:
- POP disk usage reporting
- Send count reporting
Optional control files:
cluster_email_allow.listcluster_email_deny.list
Rules:
- If neither file exists → all users/domains sync.
- If allow exists → only items in allow sync (deny ignored).
- If deny exists → items in deny do not sync.
9. Initial Email Sync
If box A has email accounts and box B does not, run:
echo "action=rewrite&value=email_passwd" >> /usr/local/directadmin/data/task.queue
---
10. Handling Failures & Retry Logic
DirectAdmin uses task.queue retry logic if:
remote_dns_retries > 0
Example task entry:
action=sync&type=cluster&value=email&username=fred&host=1.2.3.4&count=10&request=longrequest
Where:
- username – user who triggered the action
- host – the failed remote server
- count – retries remaining
- request – URL encoded original request
11. Requirements for Email Sync
- User must exist on both servers.
- Domain must exist on both servers.
- Remote server must run DirectAdmin 1.48.0+.
- Login Key must allow
CMD_API_POP. - “Login As” must be enabled on the remote server.