JAMM — an update to the Java Mail Manager
A couple of changes to JAMM.
What is JAMM?
Quite simply, it’s a front-end written in Java which handles administration of LDAP-based virtual lookup tables. I use this alongside Postfix and Dovecot. JAMM comes with its own schema, which defines various hierarchies; domains fall within a ‘jvd’ (Jamm Virtual Domain) class, each of which may be delegated to and administered by a ‘sub-postmaster’. Aliasing is handled also.
Changes
The setup documentation requires ACLs to be set up — as you would expect — on the LDAP server. Due to the fact OpenLDAP now uses LDAP-based configuration files, replacing the usual slapd.conf, rules have had to be modified very slightly. For sake of completeness, here is my ACL ruleset for running JAMM — allowing for the Dovecot user to read the userPassword field, to facilitate authentication. You’ll obviously need to change this to suit your own configuration:
In cn=config (my mail vhost base resides at o=mailsrv,dc=rmacd,dc=com):
olcAccess: {0}to dn.subtree="o=mailsrv,dc=rmacd,dc=com"
by dn.exact="cn=jadmin,dc=rmacd,dc=com" write
by * break
olcAccess: {1}to dn.regex=".*,jvd=([^,]+),o=mailsrv,dc=rmacd,dc=com" attrs=userPassword
by self write
by group/jammPostmaster/roleOccupant.expand="cn=postmaster,jvd=$1,o=mailsrv,dc=rmacd,dc=com" write
by dn="cn=dovecotuser,dc=rmacd,dc=com" read
by * auth
olcAccess: {2}to dn.regex="jvd=([^,]+),o=mailsrv,dc=rmacd,dc=com"
by group/jammPostmaster/roleOccupant.expand="cn=postmaster,jvd=$1,o=mailsrv,dc=rmacd,dc=com" write
by dn="cn=dovecotuser,dc=rmacd,dc=com" read
by * read
... [rest of non-mail ACL rules]
Download and install
Download the source package from the SF.net page at
http://jamm.sourceforge.net/ and deploy the WAR file to your /webapps
directory.
Once it’s all working, the base install should be available on your server
under /jamm-0.9.6. Download jamm.patch
and apply as usual: patch -p0 jamm.patch
in the base directory of your Jamm
installation.