Tips Integrasi Zimbra 8.5/8.6 dengan Mailman Mailing List pada CentOS

Posted by

Panduan ini sebenarnya sama dengan panduan yang ada disini : Tips Integrasi Zimbra + Mailman, namun pada link tersebut default OS yang digunakan adalah SUSE Linux Enterprise Server dan menggunakan aplikasi Mailman langsung dari repositori dengan cara install via zypper (zypper in mailman).

Ketika menggunakan panduan tersebut dan hendak diimplementasikan pada sistem operasi CentOS, file konfigurasi cgi-gid mailman bawaan dari repositori tidak ditemukan (pada saat saya ujicoba). Alhasil Mailman tidak dapat diintegrasikan dengan Zimbra karena harus ada yang diubah dari sisi konfigurasi gid Mailman agar menggunakan GID-nya Zimbra.

Agar saya dapat mengintegrasikan Mailman dengan Zimbra yang diinstall diatas sistem operasi CentOS, akhirnya saya menggunakan aplikasi Mailman langsung dari source code dan melakukan compile secara manual. Berikut adalah tahapan yang saya lakukan.

Informasi Sistem

Domain   : imanudin.com
Hostname : mail.imanudin.com

Instalasi Python dan dependensi-nya yang digunakan untuk melakukan compile Mailman
[code lang=’bash’]
yum install python python-devel gcc gcc-c++
[/code]
Install aplikasi dnspython. Aplikasi tersebut dibutuhkan untuk melakukan compile Mailman
[code lang=’bash’]
cd /srv/
wget -c https://pypi.python.org/packages/source/d/dnspython/dnspython-1.12.0.zip
unzip dnspython-1.12.0.zip
cd dnspython-1.12.0
python setup.py install
[/code]
Download aplikasi Mailman terbaru pada link berikut : http://ftp.gnu.org/gnu/mailman/. Pada saat panduan ini ditulis, aplikasi Mailman yang paling baru adalah versi mailman-2.1.20.
[code lang=’bash’]
cd /srv/
wget -c http://ftp.gnu.org/gnu/mailman/mailman-2.1.20.tgz
tar -zxvf mailman-2.1.20.tgz
cd mailman-2.1.20
[/code]
Compile dan install Mailman
[code lang=’bash’]
groupadd mailman
useradd -c “GNU Mailman” -s /sbin/nologin -d /home/mailman -g mailman mailman
mkdir /usr/local/mailman
chgrp mailman /usr/local/mailman
chmod a+rx,g+ws /usr/local/mailman
./configure –prefix=/usr/local/mailman –with-cgi-gid=zimbra
make
make install
/usr/local/mailman/bin/check_perms -f
cd /usr/local/mailman/archives/
chown zimbra private
chmod o-x private
/usr/local/mailman/bin/check_perms -f
[/code]
Setelah Mailman dicompile dan tidak ada lagi error pada saat menjalankan check_perms -f, maka proses dapat dilanjutkan pada tahapan berikutnya. Namun, apabila masih terjadi problem, sebaiknya hendak diperbaiki terlebih dahulu sebelum proses lebih lanjut.

Backup file /opt/zimbra/conf/httpd.conf pada folder lain, buka dan tambahkan konfigurasi.
[code lang=’bash’]
cp /opt/zimbra/conf/httpd.conf /opt/zimbra/conf/httpd.conf.back
vi /opt/zimbra/conf/httpd.conf
[/code]
Tambahkan konfigurasi berikut pada baris paling bawah
[code lang=’plain’]
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/

AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all

Alias /pipermail/ /usr/local/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
[/code]
Konfigurasi Zimbra + Mailman

Edit konfigurasi Mailman
[code lang=’bash’]
vi /usr/local/mailman/Mailman/mm_cfg.py
[/code]
Tambahkan/sesuaikan dengan konfigurasi berikut

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.com' ]
DEFAULT_URL_HOST = 'mail.imanudin.com'
DEFAULT_EMAIL_HOST = 'imanudin.com'
VIRTUAL_HOSTS.clear()
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

Jalankan perintah berikut sebagai user ROOT
[code lang=’bash’]
cd /opt/zimbra/httpd/htdocs
mkdir mmimages
cp /usr/local/mailman/icons/* mmimages/
chown -R zimbra:zimbra mmimages/
su – zimbra -c “zmapachectl restart”
[/code]
[code lang=’bash’]
cd /usr/local/mailman
bin/newlist mailman adminmilist@imanudin.com
bin/mmsitepass -c list-creator-password
bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman
bin/genaliases
chown mailman:mailman /usr/local/mailman/data/aliases*
chown mailman:mailman /usr/local/mailman/data/virtual-mailman*
chmod 775 /usr/local/mailman/data/virtual-mailman.lmdb
chmod 775 /usr/local/mailman/data/aliases.lmdb
[/code]
Catatan : Ganti adminmilist@imanudin.com dengan alamat email yang bertindak sebagai admin milis dan ganti list-creator-password dengan Password yang akan digunakan untuk membuat milis via Web

# Setup Mailman cron
[code lang=’bash’]
cd /usr/local/mailman/cron
crontab -u mailman crontab.in
[/code]
# Setup daemon

[code lang=’bash’]
cp /usr/local/mailman/scripts/mailman /etc/init.d/
chkconfig –add mailman
chkconfig mailman on
service mailman start
[/code]
# Konfigurasi Zimbra
[code lang=’bash’]
su – zimbra
zmprov ms mail.imanudin.com zimbraMtaVirtualAliasMaps ‘ldap:/opt/zimbra/conf/ldap-vam.cf,lmdb:/usr/local/mailman/data/virtual-mailman’
zmprov ms mail.imanudin.com zimbraMtaAliasMaps ‘lmdb:/etc/aliases,lmdb:/usr/local/mailman/data/aliases’
zmprov ms mail.imanudin.com zimbraMtaMyDestination ‘localhost mail.imanudin.com’
zmcontrol restart
[/code]
# Test Milis

Jalankan perintah berikut dengan user ROOT untuk testing membuat milis
[code lang=’bash’]
cd /usr/local/mailman
bin/newlist milist-test adminmilist@imanudin.com rahasia
[/code]

Atau bisa juga akses alamat http://IpZimbra:7780/mailman/create

Silakan dicoba dan semoga bermanfaat 😀

Sumber : http://imanudin.net/2014/09/06/how-to-integrating-zimbra-8-5-x-with-mailman/

15 comments

  1. Bos kalo saya pake Zimbra Release 7.2.7_GA_2942.RHEL6_64_20140314185955 CentOS6_64 FOSS edition. di Centos 6.6 pake Tutor ini bisa gak yah ? Takut Nanti Zimbra nya jadi gak jalan… Tks

  2. Pas tahap ini kok file nya tidak ada ?

    chmod 775 /usr/local/mailman/data/virtual-mailman.lmdb
    chmod: cannot access `/usr/local/mailman/data/virtual-mailman.lmdb’: No such file or directory

      1. Sepertinya ketika proses bin/genaliases file virtual-mailman.lmdb tidak muncul (not generated). Saya memakai Centos 6 dan ZCS 8.6.0.

    1. Mas sudah ketemu ternyata chmod 775 /usr/local/mailman/data/virtual-mailman.lmdb adanya virtual-mailman.db

      ada lagi error pas :
      zmprov ms nama.hostdomainsaya.com zimbraMtaVirtualAliasMaps ‘ldap:/opt/zimbra/conf/ldap-vam.cf,lmdb:/usr/local/mailman/data/virtual-mailman’

      muncul error ini kira2 apanya yag ?

      ERROR: account.INVALID_ATTR_NAME (invalid attr name: [LDAP: error code 17 – zimbraMtaVirtualAliasMaps: attribute type undefined])

  3. su – zimbra
    zmlocalconfig -e postfix_virtual_alias_maps=ldap:/opt/zimbra/conf/ldap-vam.cf,hash:/var/lib/mailman/data/virtual-mailman
    zmlocalconfig -e postfix_alias_maps=hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
    zmprov ms `zmhostname` zimbraMtaMyDestination ‘localhost mailman.excellent.co.id’
    zmprov md excellent.co.id zimbraMailCatchAllAddress @excellent.co.id
    zmprov md excellent.co.id zimbraMailCatchAllForwardingAddress @excellent.co.id
    zmprov md excellent.co.id zimbraMailTransport smtp:mailman.excellent.co.id
    zmcontrol restart

    Setelah jalanin konfigurasi Zimbra diatas yg sudah disesuaikan dengan server saya malah zimbra nya gak bisa kirim email keluar… kalo hilangin lagi konfigurasi ditas gimana yah bos biar settingan nya kembali seperti sebelumnya.. tks

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.