This guidance will describe how to integrating Zimbra with Mailman on CentOS. This guidance refers into previous article in here : https://imanudin.net/2014/09/06/how-to-integrating-zimbra-8-5-x-with-mailman/ that use SUSE/SLES as Linux System with some adjustment and improvement.
Information System
Domain : imanudin.net Hostname : mail.imanudin.net
# Install packages and dependencies for compile Mailman
1.
yum
install
python python-devel gcc gcc-c++
# Install dnspython. This packages required for compile Mailman
1.
cd
/srv/
2.
wget -c https://pypi.python.org/packages/
source
/d/dnspython/dnspython-1.12.0.zip
3.
unzip dnspython-1.12.0.zip
4.
cd
dnspython-1.12.0
5.
python setup.py
install
# Download Mailman and extract
1.
cd
/srv/
2.
wget -c http://
ftp
.gnu.org/gnu/mailman/mailman-2.1.20.tgz
3.
tar
-zxvf mailman-2.1.20.tgz
4.
cd
mailman-2.1.20
# Compile and install Mailman
01.
groupadd mailman
02.
useradd
-c
"GNU Mailman"
-s /sbin/nologin -d /home/mailman -g mailman mailman
03.
mkdir
/usr/
local
/mailman
04.
chgrp
mailman /usr/
local
/mailman
05.
chmod
a+rx,g+ws /usr/
local
/mailman
06.
./configure --prefix=/usr/
local
/mailman --with-cgi-gid=zimbra
07.
make
08.
make
install
09.
/usr/
local
/mailman/bin/check_perms -f
10.
cd
/usr/
local
/mailman/archives/
11.
chown
zimbra private
12.
chmod
o-x private
13.
/usr/
local
/mailman/bin/check_perms -f
# Modify httpd.conf on Zimbra
1.
cp
/opt/zimbra/conf/httpd.conf /opt/zimbra/conf/httpd.conf.back
2.
vi
/opt/zimbra/conf/httpd.conf
add these line in the bottom
01.
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
02.
<Directory /usr/local/mailman/cgi-bin/>
03.
AllowOverride None
04.
Options ExecCGI
05.
Order allow,deny
06.
Allow from all
07.
</Directory>
08.
09.
Alias /pipermail/ /usr/local/mailman/archives/public/
10.
<Directory /usr/local/mailman/archives/public/>
11.
Options Indexes MultiViews FollowSymLinks
12.
AllowOverride None
13.
Order allow,deny
14.
Allow from all
15.
# Only if you have internationalized archives
16.
AddDefaultCharset Off
17.
</Directory>
18.
19.
# Uncomment the following line, replacing www.example.com with your server's
20.
# name, to redirect queries to /mailman to the listinfo page (recommended).
21.
# RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo
Integrating Zimbra + Mailman
open mm_cfg.py file
1.
vi
/usr/
local
/mailman/Mailman/mm_cfg.py
adjust the configuration
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:7780/mailman/' POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'imanudin.net' ] DEFAULT_URL_HOST = 'mail.imanudin.net' DEFAULT_EMAIL_HOST = 'imanudin.net' VIRTUAL_HOSTS.clear() add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
Perform the following command as root
1.
cd
/opt/zimbra/httpd/htdocs
2.
mkdir
mmimages
3.
cp
/usr/
local
/mailman/icons/* mmimages/
4.
chown
-R zimbra:zimbra mmimages/
5.
su
- zimbra -c
"zmapachectl restart"
01.
cd
/usr/
local
/mailman
02.
bin/newlist mailman adminmilist@imanudin.net
03.
bin/mmsitepass -c list-creator-password
04.
bin/config_list -i /usr/
local
/mailman/data/sitelist.cfg mailman
05.
bin/genaliases
06.
chown
mailman:mailman /usr/
local
/mailman/data/aliases*
07.
chown
mailman:mailman /usr/
local
/mailman/data/virtual-mailman*
08.
chmod
775 /usr/
local
/mailman/data/virtual-mailman.lmdb
09.
chmod
775 /usr/
local
/mailman/data/aliases.lmdb
Note : Please adjust adminmilist@imanudin.net with email who action as admin. Please adjust also list-creator-password with properly password. This password will be used for create mailing list via web.
# Setup Mailman cron
1.
cd
/usr/
local
/mailman/
cron
2.
crontab
-u mailman
crontab
.
in
# Setup init daemon
1.
cp
/usr/
local
/mailman/scripts/mailman /etc/init.d/
2.
chkconfig --add mailman
3.
chkconfig mailman on
4.
service mailman start
# Setup Virtual Alias
1.
su
- zimbra
2.
zmprov ms mail.imanudin.net zimbraMtaVirtualAliasMaps 'ldap:/opt/zimbra/conf/ldap-vam.cf,lmdb:/usr/
local
/mailman/data/virtual-mailman'
3.
zmprov ms mail.imanudin.net zimbraMtaAliasMaps 'lmdb:/etc/aliases,lmdb:/usr/
local
/mailman/data/aliases'
4.
zmprov ms mail.imanudin.net zimbraMtaMyDestination 'localhost mail.imanudin.net'
5.
zmcontrol restart
6.
zmapachectl restart
# Test mailing list
Perform the following example as root
1.
cd
/usr/
local
/mailman
2.
bin/newlist milist-
test
adminmilist@imanudin.net secret
or you can create mailing list via web browser http://IpZimbra:7780/mailman/create
Good luck and hopefully useful
Hi iman,
I installed zimbra 8.7 open source edition on CentOS 7- 64 bit.
i wish to have mailman mailing list also running on another server ( CentOS 8.7 – 64 bit)
my structure- Zimbra on one server and mailman on another server.
will the above guide help me ?
may i know Is it tested with zcs 8.7 also?
Hello,
This guidance for integrating Zimbra with Mailman on single server. i am not yet try on ZCS 8.7