Server module
Download the server module package by following the Download instructions.
Version 1.2 and later require Java 21. Before updating from an earlier version, make sure Java 21 or newer is installed on the mail server - see the Java installation guide. The services refuse to start on an older Java.
Extract the downloaded package:
tar zxvf msh-pm-milter-<VERSION>.tgz
Stop the server module services:
sudo systemctl stop msh-pm-settings msh-pm-milter
Copy the extracted files to the installation directory:
sudo cp -rf msh-pm-milter /opt
Reload the systemd daemon to pick up any updated service definitions:
sudo systemctl daemon-reload
Start the server module services:
sudo systemctl start msh-pm-milter msh-pm-settings
Verify
Check the current status of services to verify they're running correctly (press q to exit).
systemctl status msh-pm-settings.service
systemctl status msh-pm-milter.service
Example of running msh-pm-milter service.
● msh-pm-milter.service - MSH Postfix Milter (milter)
Loaded: loaded (/etc/systemd/system/msh-pm-milter.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-10-16 13:37:49 CDT; 1min 20s ago
Invocation: ce2053dc217d4c2b96be25f96ffa2aea
Main PID: 2604 (msh-pm-milter)
Tasks: 14 (limit: 9302)
Memory: 87.2M (peak: 87.5M)
CPU: 1.845s
CGroup: /system.slice/msh-pm-milter.service
├─2604 /bin/bash /opt/msh-pm-milter/bin/msh-pm-milter
└─2642 /usr/bin/java -Xms128M -Xmx1024M -Dfile.encoding=UTF8 -jar /opt/msh-pm-milter/bin/jar/msh-pm-milter.jar -installdir=/op>
Updating to 1.3: Run executable rules
Since 1.3 the Run executable action
runs only programs from the scripts directory, /opt/msh-pm-milter/scripts by default. A policy
rule whose executable lies outside it stops running after the update, with the reason in the
processing trace and the server log. Before or right after the update, move each such program, or
a wrapper script that calls it, into the scripts directory, run lib/fixperms.sh, and put the file
name in the rule in place of the old path.
Additional resources
- Troubleshooting starting services - Check diagnostic steps to find out why services don't run