Post Pic

Autentikasi Ejabberd menggunakan Account di Zimbra

Mengelola banyak username dan password bagi sebagian orang sangat merepotkan. Dengan mengintegrasikan satu aplikasi dengan aplikasi lain, akan menghemat jumlah username dan password yang harus dihafal oleh user.

Tulisan ini akan menjelaskan bagaimana cara mengintegrasikan sistem autentikasi di Ejabberd agar bisa login menggunakan account-account atau username yang sudah ada di Zimbra.


Yang diperlukan

Konfigurasi Autentikasi LDAP

Pertama kita sunting berkas /opt/ejabberd/conf/ejabberd.cfg, kita nonaktifkan konfigurasi auth_method internal.

%{auth_method, internal}.

Sebelum kita membuat konfigurasi autentikasi ke ldap zimbra, data-data berikut diperlukan.

IP address zimbra server. Misal, 192.168.61.38
Domain yang sudah di setup di zimbra. Misal, ngadimin.com
Password root/manager ldap di zimbra. Misal, Shoh2eiF

Catatan, untuk mengetahui password root/manager ldap di zimbra,

sudo su - zimbra
zmlocalconfig -s ldap_root_password

Maka konfigurasi yang harus ditambahkan ke /opt/ejabberd/conf/ejabberd.conf adalah seperti di bawah ini.

{auth_method, ldap}.
{ldap_servers, ["192.168.61.38"]}. 
{ldap_uidattr, "uid"}. 
{ldap_base, "ou=people,dc=ngadimin,dc=com"}. 
{ldap_rootdn, "cn=config"}.
{ldap_filter, "(&(objectClass=zimbraAccount)(zimbraAccountStatus=active)(!(zimbraHideInGal=TRUE)))"}.
{ldap_password, "Shoh2eiF"}.

Autentikasi ke LDAP, dipisah per Virtual Host

Misal, Anda melayani beberapa domain di zimbra. Dan Anda sudah membuat virtual hosts untuk domain tersebut di ejabberd. Agar virtual hosts di ejabber bisa autentikasi ke ldap zimbra, buat konfigurasi seperti di bawah ini.

{host_config, "ngadimin.com", [{auth_method, ldap},
       {ldap_servers, ["192.168.61.38"]},
       {ldap_uidattr, "uid"},
       {ldap_base, "ou=people,dc=ngadimin,dc=com"},
       {ldap_rootdn, "cn=config"},
       {ldap_filter, "(&(objectClass=zimbraAccount)(zimbraAccountStatus=active)(!(zimbraHideInGal=TRUE)))"},
       {ldap_password, "Shoh2eiF"}]}.
 
{host_config, "pakelinux.com", [{auth_method, ldap},
       {ldap_servers, ["192.168.61.38"]},
       {ldap_uidattr, "uid"},
       {ldap_base, "ou=people,dc=pakelinux,dc=com"},
       {ldap_rootdn, "cn=config"},
       {ldap_filter, "(&(objectClass=zimbraAccount)(zimbraAccountStatus=active)(!(zimbraHideInGal=TRUE)))"},
       {ldap_password, "Shoh2eiF"}]}.

Silakan sesuaikan data-data yang tertulis di atas, dengan konfigurasi yang Anda gunakan.

Non Aktifkan Auto Register

Secara default, instalasi Ejabberd membolehkan user untuk register sendiri dari jabber client (misalnya, pidgin atau adium). Agar user tidak bisa registrasi/membuat account sendiri, kita set konfigurasi berikut di /opt/ejabberd/ejabberd.cfg.

{access, register, [{deny, all}]}.