
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
- Pertama, tentu saja instalasi Ejabberd. Silakan ikuti caranya menginstall ejabberd di tulisan, Membuat Jabber Server menggunakan Ejabberd
- Kedua, instalasi zimbra. Silakan ikuti cara menginstal di zimbra di Ubuntu di tulisan, Membuat Server Email di Ubuntu menggunakan Zimbra.
- Ketiga, opsional. Konfigurasi virtual hosts di ejabberd. Ikuti caranya di tulisan, Mengkonfigurasi Virtual Hosts di Ejabberd.
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}]}.Jabber/XMPP Server menggunakan Ejabberd
- Membuat Jabber Server menggunakan Ejabberd
- Membuat Self-Signed Certificate untuk Ejabberd
- Mengkonfigurasi Virtual Hosts di Ejabberd
- Autentikasi Ejabberd menggunakan Account di Zimbra
- DNS SRV record untuk Jabber
