Requirements
MSH Zimbra Rules installs on the servers that run the Zimbra MTA. On a single Zimbra server everything runs on that host. On a Zimbra installation with several MTA servers, every MTA server runs the node and the milter, and the web admin runs on a server of its own. See Deployment layouts for how the services fit together.
Requirements
| Component | Requirement |
|---|---|
| Operating system | Linux with systemd (Ubuntu is the documented and tested platform) |
| Architecture | x86_64 |
| Mail server | Zimbra Collaboration Suite with its bundled Postfix MTA, on one or more MTA hosts |
| Java | Java Runtime Environment (JRE) 21 or later (OpenJDK recommended) on every host |
| Memory | About 2.5 GB of free RAM on a single server. With several MTA servers, about 1.5 GB on each MTA server and 1.5 GB on the web admin server (see below) |
| Disk space | A few hundred MB for the application, plus space for the databases, logs, message history and stored attachments under /opt/msh-zr |
| Network | The web admin server must reach every MTA server on TCP 7082 and the Zimbra LDAP; see Ports and firewall |
Memory
Each service runs with its own maximum Java heap:
| Service | Default maximum heap |
|---|---|
msh-zr-web | 1024 MB |
msh-zr-milter | 1024 MB |
msh-zr-node | 256 MB |
The heap sizes can be changed in etc/config.cf (JAVA_XMX for the web admin and the milter, NODE_JAVA_XMX for the node), see Java.
Notes
- All services run as an unprivileged system user (
msh) and do not interfere with Zimbra's own processes. - Every host is installed from the same package to
/opt/msh-zr. Which services you enable decides the role of the host. - Any modern Linux distribution with systemd should work. Installation commands in this guide are shown for Ubuntu; adjust package manager commands for your distribution where needed.