Zimbra Tips : Integrating Mailman Mailing List on Zimbra Multi Server

Home » Mailman » Zimbra Tips : Integrating Mailman Mailing List on Zimbra Multi Server
Mailman, Zimbra No Comments

This article refers to the previous article at this link http://imanudin.net/2014/09/06/how-to-integrating-zimbra-8-5-x-with-mailman/ with few modification for integration with Zimbra multi server. For server Mailman, we can use Zimbra MTA as Mailman server who integrated with other servers such as LDAP server, Mailbox server and Proxy server.


Domain : imanudin.net
Hostname : mailman.imanudin.net

Assume you have been install Mailman. Change GID Mailman with GID Zimbra, example 113 (can checked with cat /etc/passwd)

vi /etc/mailman/mailman.cgi-gid

Configuring Apache

In this case, i am using SLES as Operating System. If using other operating system, adjust the location with the operating system you are using. Make sure Apache2 or httpd has been install. Open file /etc/apache2/httpd.conf and add this configuration at bottom

vi /etc/apache2/httpd.conf

add this configuration at bottom

ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/

    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all

Alias /pipermail/ /var/lib/mailman/archives/public/

    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    # Only if you have internationalized archives
    AddDefaultCharset Off

# Uncomment the following line, replacing www.example.com with your server's
# name, to redirect queries to /mailman to the listinfo page (recommended).
# RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo

Open file /etc/apache2/uid.conf and add group Zimbra as following

User wwwrun
Group www
Group zimbra

Configure Zimbra+Mailman

Edit file configuration of Mailman

vi /usr/lib/mailman/Mailman/mm_cfg.py

fill as the following example

MTA = 'Postfix'
POSTFIX_ALIAS_CMD = '/opt/zimbra/postfix/sbin/postalias'
POSTFIX_MAP_CMD = '/opt/zimbra/postfix/sbin/postmap'
IMAGE_LOGOS = '/mmimages/'
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
DEFAULT_URL_HOST = 'mailman.imanudin.net'
DEFAULT_EMAIL_HOST = 'imanudin.net'

run the following command as root

cd /srv/www/htdocs
mkdir mmimages
cp /usr/lib/mailman/icons/* mmimages/
chown -R zimbra:zimbra mmimages/
service apache2 restart
cd /usr/lib/mailman
bin/newlist mailman adminmilist@imanudin.net
bin/mmsitepass -c list-creator-password
bin/config_list -i /var/lib/mailman/data/sitelist.cfg mailman
chown mailman:mailman /var/lib/mailman/data/aliases*
chown mailman:mailman /var/lib/mailman/data/virtual-mailman*
chmod 775 /var/lib/mailman/data/virtual-mailman.lmdb

Note : Change adminmilist@imanudin.net with Administrator milist email and list-creator password with password do you want
# Setup Mailman cron

cd /usr/lib/mailman/cron
crontab -u mailman crontab.in

# setup daemon
remove sendmail from the section begin init info at /etc/init.d/mailman, then save

chkconfig mailman on
service mailman start

# Configure Zimbra

su - zimbra
zmprov ms mailman.imanudin.net zimbraMtaVirtualAliasMaps 'ldap:/opt/zimbra/conf/ldap-vam.cf,lmdb:/var/lib/mailman/data/virtual-mailman'
zmprov ms mailman.imanudin.net zimbraMtaAliasMaps 'lmdb:/etc/aliases,lmdb:/var/lib/mailman/data/aliases'
zmprov ms mailman.imanudin.net zimbraMtaMyDestination 'localhost mailman.imanudin.net'

Because other MTA servers don’t know database of Mailman, run also this command for domain forward

zmprov md imanudin.net zimbraMailCatchAllAddress @imanudin.net
zmprov md imanudin.net zimbraMailCatchAllForwardingAddress @imanudin.net
zmprov md imanudin.net zimbraMailTransport smtp:mailman.imanudin.net
zmcontrol restart

# Test Milist
run the following command as root to create milist for testing

cd /usr/lib/mailman
bin/newlist milist-test adminmilist@imanudin.net secret

For access Mailman on web browser, open http://mailman.imanudin.net/mailman/listinfo. Make sure you have been add name mailman on your DNS local/Public to IP address Mailman server

Good luck and hopefully useful 😀