Arief Yudhawarman

Masih belajar buat blog

Zimbra Email Administration

with one comment


Zimbra Email Administration

Kantor tempat penulis bekerja sudah lama menggunakan produk Zimbra terutama produk OSE (Open Source Edition). Untuk administrasi email sehari-hari seperti buat account email baru, disable account email, buat email alias, dll penulis menggunakan script bash di Server Zimbra yang dikustomasi sendiri alih-alih menggunakan aplikasi web Zimbra Admin. Kemudian ada penambahan domain baru dimana pengelolaan domain ini membutuhkan user lain – non admin – yang bisa mengelola administrasi email sehari-hari melalui aplikasi web.

Usai melakukan searching di google penulis menemukan link Zimbra Domain Admin. Aplikasi web tersebut berbasis PHP dan memungkinkan user non admin untuk melakukan operasi buat dan hapus account email, ganti password, cek kuota email dan cek login terakhir user.

Setelah melakukan instalasi dan konfigurasi ternyata aplikasi Zimbra Domain Admin gagal membuat account email baru. FYI, Zimbra OSE yang penulis gunakan saat ini sudah melalui patching untuk support Server PDC (Primary Domain Controller) yang menggunakan LDAP (Lightweight Directory Access Protocol) sebagai database user terpusat untuk autentikasi user Linux maupun Windows. Penulis menduga adanya patching tersebut membuat Zimbra Domain Admin tidak berfungsi. Lihat artikel penulis sebelumnya mengenai patching terhadap Zimbra OSE versi 6, 7 dan 8:

Penulis mengembangkan aplikasi web Zimbra Email Administration berbasis Perl CGI dan LDAP. Aplikasi ini memerlukan koneksi ldap untuk menampilkan list user dan membuat account email baru sehingga saat awal instalasi Zimbra tahap zimbra-ldap harus dipilih atau diinstal. Fitur aplikasi ini adalah

  • Buat account email dan set kuota
  • Hapus account email
  • Ganti password user
  • Ubah status account (active dan closed)
  • Cek login terakhir user
  • Pencarian user berdasarkan uid

Selain itu user yang bisa login untuk memanage Zimbra Email Administation (disingkat Zimbra Admin) bisa diatur di file konfigurasi sehingga tidak mutlak harus user postmaster seperti di Zimbra Domain Admin.

Dependensi

Keperluan minimum untuk instalasi Zimbra Admin:

  • Zimbra Collaboration Suite
  • Web Server (Apache2)
  • Module Perl


Instalasi

  1. Module Perl
    • Untuk OS Redhat atau CentOS 5 (x64)
      Download module perl dari Repositori CentOS 5 dan lakukan instalasi dengan perintah
      rpm nama_paket.rpm.

      • perl-FreezeThaw-0.43-5.el5.noarch.rpm
      • perl-CGI-Session-4.35-1.el5.noarch.rpm
      • perl-Digest-SHA-5.47-1.el5.x86_64.rpm
    • Untuk OS Redhat atau CentOS 6 (x64)
      Instalasi dilakukan dengan yum.

      yum install perl-CGI-Session
      yum install perl-Digest-SHA
      

    • Untuk OS Debian atau Ubuntu
      apt-get install libmodule-install-perl
      apt-get install libcgi-session-perl
      apt-get install libdatetime-format-strptime-perl
      apt-get install libnet-ldap-perl
      
  2. Apache
    Edit file konfigurasi /etc/httpd/conf/httpd.conf

    • Ubah default port 80 jika sudah dipakai oleh Zimbra.
    • Konfigurasi direktori untuk Zimbra Admin (jika menggunakan port 88)
      Jika Root Directory adalah /var/www/html maka direktori zimbra-admin adalah /var/www/html/zimbra-admin. Jika Root Directory adalah /var/www maka direktori zimbra-admin adalah /var/www/zimbra-admin.

             Listen 88
             ..
             DirectoryIndex index.html index.html.var index.cgi
             ..
             <Directory "/var/www/html/zimbra-admin">
                 AllowOverride None
                 Options +ExecCGI
                 Order allow,deny
                 Allow from all
             </Directory>
             ..
             AddHandler cgi-script .cgi
      

      Lalu reload service Apache.

  3. /etc/sudoers
    Karena Server Web dijalankan oleh user apache maka beri permission kepada user tersebut agar dapat mengeksekusi perintah zmprov dengan sudo. Edit file menggunakan visudo, tambahkan baris berikut ini:

    apache ALL=(zimbra) NOPASSWD:/opt/zimbra/bin/zmprov
    
  4. Ekstrak aplikasi Zimbra Admin pada direktori yang sesuai /var/www/html atau /var/www.
    cd /var/www/html
    unzip zimbra-admin.zip
    


    Ubah kepemilikan direktori session ke user apache.

    cd zimbra-admin
    chown -R apache. session/
    


Konfigurasi

  1. Simpan nilai zimbra_ldap_password
    /opt/zimbra/bin/zmlocalconfig -s zimbra_ldap_password
    

     

  2. Simpan nilai zimbra hostname
    /opt/zimbra/bin/zmhostname
    

     

  3. Edit file /var/www/html/zimbra-admin/admin.cfg
    • title : Edit judul ini.
    • zmhostname : Sesuaikan dengan nilai zimbra hostname.
    • server : Isi dengan ip address Server Zimbra.
    • password : Isi dengan nilai zimbra_ldap_password.
    • admins : Isi dengan email yang diberi akses untuk login ke Zimbra Admin.
    • lines : Isi dengan jumlah baris per layar saat menampilkan list email.

    Contoh:

    title = Email Administration for domainku.info
    zmhostname = server.domainku.info
    server = 192.168.1.1
    manager = uid=zimbra,cn=admins,cn=zimbra
    password = HZ9rx__Y
    sleep = 1
    admins = arief@domainku.info admin@domainku.info
    lines = 10
    


Catatan

Jika ingin membuat Zimbra domain baru dan sekaligus membuat account admin domain baru tersebut.

  • Buat domain baru
    zmprov cd domainku.info
    

     

  • Buat account admin di domain baru berikut attribute tambahan
    zmprov ca admin@domainku.info P4ssword displayName "Admin of domainku.info" zimbraHideInGal TRUE
    


    Adanya attribute zimbraHideInGal membuat account admin@domainku.info tidak akan ditampilkan di Zimbra Admin sebagaimana juga account default ham.xxx, spam.xxx, wiki dan virus-quarantine.xxx.


Screenshot

Tampilan Zimbra Admin untuk domain baru domainku.info dan setelah setup account admin. Pada baris admins di file konfigurasi admin.cfg diisi sbb:

admins = admin@domainku.info


Login ke alamat http://ip_server_zimbra:88/zimbra-admin

Zimbra Email Administration

Login Zimbra Email Administration

Menu Zimbra Email Administration

Menu Zimbra Email Administration

Add New Email Account

Add New Email arief@domainku.info

Pasca Add New Email Account

Pasca Add New Email Account


Setelah ini masukkan account arief@domainku.info ke dalam list admins. Edit file konfigurasi admin.cfg.

admins = admin@domainku.info arief@domainku.info
Login Zimbra Admin sebagai user arief@domainku.info

Login Zimbra Admin sebagai user arief@domainku.info

Login Zimbra Admin sebagai user arief@domainku.info

Login Zimbra Admin sebagai user arief@domainku.info


Video Zimbra Admin


Download Zimbra Admin

Link download Zimbra Email Administration


Contribution

Apabila anda merasa terbantu dengan tulisan ini anda bisa mengirimkan donasi sebesar Rp 100.000,- (seratus ribu rupiah) kepada No Rek BCA 0240253992 atau Mandiri 117-00-0642993-0 atas nama Arief Yudhawarman. Versi Zimbra Email Administration yang lain support untuk Server PDC (Primary Domain Controller) dengan LDAP. Selain itu terdapat berbagai macam tipe akses user yang bisa login ke Zimbra Admin yakni Administrator (full control), Operator (hak akses terbatas) dan User (read only). Aktivitas di Zimbra Admin tersimpan di database.


License

Copyright 2017 Arief Yudhawarman 
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 2 of the License, or 
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.

 

Advertisements

Written by awarmanf

October 18, 2017 at 2:58 pm

Posted in Linux, zimbra, perl

Tagged with , , ,

One Response

Subscribe to comments with RSS.

  1. […] Browsing directory of Zimbra LDAP using filter (objectClass=zimbraAlias). In this case you must authenticate as user zimbra using uid=zimbra,cn=admins,cn=zimbra. If you want to know more about Zimbra please read this article. […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: