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

yum install python python-devel gcc gcc-c++

Install aplikasi dnspython. Aplikasi tersebut dibutuhkan untuk melakukan compile Mailman

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

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.

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

Compile dan install Mailman

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

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.

cp /opt/zimbra/conf/httpd.conf /opt/zimbra/conf/httpd.conf.back
vi /opt/zimbra/conf/httpd.conf

Tambahkan konfigurasi berikut pada baris paling bawah

ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
<Directory /usr/local/mailman/cgi-bin/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Alias /pipermail/ /usr/local/mailman/archives/public/
<Directory /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
</Directory>

# 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

Konfigurasi Zimbra + Mailman

Edit konfigurasi Mailman

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

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

cd /opt/zimbra/httpd/htdocs
mkdir mmimages
cp /usr/local/mailman/icons/* mmimages/
chown -R zimbra:zimbra mmimages/
su - zimbra -c "zmapachectl restart"
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

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

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

# Setup daemon

cp /usr/local/mailman/scripts/mailman /etc/init.d/
chkconfig --add mailman
chkconfig mailman on
service mailman start

# Konfigurasi Zimbra

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

# Test Milis

Jalankan perintah berikut dengan user ROOT untuk testing membuat milis

cd /usr/local/mailman
bin/newlist milist-test adminmilist@imanudin.com rahasia

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.