Belajar Mailserver - Roundcube Advanced: Plugin & Multi-Auth
Episode 20 of 23

Belajar Mailserver - Roundcube Advanced: Plugin & Multi-Auth

Memperkaya webmail Roundcube: memahami sistem plugin, memasang plugin password untuk ganti password sendiri, managesieve untuk filter Sieve, enigma untuk OpenPGP, serta mengonfigurasi multi-auth melalui LDAP dan login OAuth2/OIDC yang disempurnakan di Roundcube 1.7.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Webmail dasar sudah berfungsi sejak episode 8. Episode ini mengubahnya menjadi webmail dewasa: plugin. Roundcube dirancang modular — hampir semua fitur canggih datang dari plugin, dan konfigurasi multi-autentikasi membuka pintu integrasi dengan sistem identitas kalian.

Kita akan memasang plugin esensial (password, managesieve, enigma, archive, markasjunk), memahami cara mengaktifkannya lewat config.inc.php, lalu menyambungkan Roundcube ke OAuth2/OIDC — kemampuan yang disempurnakan besar-besaran sejak Roundcube 1.7.

Anatomi Plugin Roundcube

Plugin adalah direktori di plugins/<nama>/ berisi satu atau lebih kelas PHP yang memperluas perilaku Roundcube. Setiap plugin diaktifkan lewat array plugins di konfigurasi:

Lihat daftar plugin yang tersedia
ls /var/www/webmail/plugins/

Daftar ini menunjukkan plugin bawaan yang terinstal. Aktivasi tinggal menambahkannya ke array plugins — Roundcube 1.7 memudahkan lewat console:

Aktifkan plugin via console
php /var/www/webmail/bin/console config set plugins '["password","managesieve","enigma","archive","markasjunk"]'

Setelah disimpan, plugin aktif pada reload halaman. Beberapa plugin butuh konfigurasi tambahan di config/config.inc.php lewat $config['plugin_<nama>_...'].

Plugin Wajib: password, archive, markasjunk

Tiga plugin yang mengubah pengalaman harian pengguna:

  • password — pengguna mengganti password sendiri, langsung memperbarui hash di database virtual users. Kunci bagi admin yang tidak mau melayani permintaan "ganti password dong".
  • archive — tombol "Arsipkan" yang memindahkan email ke folder Archive, mendorong budaya menyimpan yang rapi.
  • markasjunk — tombol "Tandai spam" yang memindahkan email ke folder Junk dan (jika terhubung) melatih bayes SpamAssassin.

Konfigurasi password menentukan koneksi ke database:

Set konfigurasi plugin password
php /var/www/webmail/bin/console config set password_driver sql
php /var/www/webmail/bin/console config set password_db_dsn 'mysql://mail:ganti-password@localhost/maildb'

Dengan password_db_dsn mengarah ke database virtual users, ganti password langsung mengubah tabel virtual_users — dan karena Dovecot membaca dari database yang sama, perubahan berlaku seketika.

managesieve: Filter Email Berbasis Aturan

Sieve adalah bahasa pemfilteran server-side: aturan berjalan di Dovecot tanpa klien harus aktif. Plugin managesieve memberi pengguna antarmuka visual untuk mengelola skrip Sieve — dan perlu kita aktifkan dukungannya di Dovecot juga.

Di Roundcube, aktifkan plugin dan arahkan ke port Managesieve Dovecot:

Aktifkan plugin managesieve
php /var/www/webmail/bin/console config set plugins '["password","managesieve","enigma","archive","markasjunk"]'
php /var/www/webmail/bin/console config set managesieve_host 'ssl://localhost'
php /var/www/webmail/bin/console config set managesieve_port 4190

Di sisi Dovecot, aktifkan plugin Sieve di conf.d/20-lmtp.conf (sudah kita siapkan di episode 9):

plaintext
protocol lmtp {
  mail_plugins = sieve
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}

Contoh aturan yang dihasilkan Managesieve — memindahkan email dari newsletter ke folder Updates:

plaintext
require ["fileinto"];
 
if anyof (header "subject" contains "[Newsletter]") {
  fileinto "Updates";
  stop;
}

Aturan ini dieksekusi Dovecot saat email masuk, bahkan ketika pengguna sedang offline.

enigma: OpenPGP di Webmail

enigma mengintegrasikan OpenPGP ke antarmuka: pengguna menyimpan private key, mengenkripsi/menandatangani email, dan membaca email terenkripsi — semua dari browser. Aktivasi:

Aktifkan plugin enigma
php /var/www/webmail/bin/console config set enigma_pgp_homedir '/var/www/webmail/enigma'
php /var/www/webmail/bin/console config set enigma_pgp_privkeys '/var/www/webmail/enigma/privkeys'

Pastikan direktori dapat ditulis proses web dan tidak dapat dibaca publik. Enigma memanfaatkan gnupg yang terpasang di server — cek ketersediaannya dengan gpg --version.

Multi-Auth: LDAP dan OAuth2/OIDC

Roundcube default hanya mengenali user di database mail. Untuk lingkungan dengan identitas terpusat, ada dua jalur:

Login OAuth2/OIDC — Roundcube 1.7 menyempurnakan dukungan OIDC, sehingga webmail bisa ikut SSO organisasi. Konfigurasi via config:

Aktifkan login OAuth2
php /var/www/webmail/bin/console config set oauth_provider 'generic'
php /var/www/webmail/bin/console config set oauth_client_id 'roundcube-app'
php /var/www/webmail/bin/console config set oauth_client_secret 'rahasia'
php /var/www/webmail/bin/console config set oauth_auth_uri 'https://auth.example.com/application/o/authorize/'
php /var/www/webmail/bin/console config set oauth_token_uri 'https://auth.example.com/application/o/token/'

LDAP address book — plugin ldap memungkinkan pencarian kontak di server LDAP/AD. Ini pelengkap SSO: identitas login dari OIDC, direktori kontak dari LDAP.

Info

Saat mengaktifkan OAuth2, perhatikan mapping identitas: pastikan claim email dari IdP cocok dengan email di tabel virtual_users. Roundcube 1.7 menangani ini lewat oauth_identity_map, sehingga email yang berbeda format tetap bisa dipetakan.

Kustomisasi: Skin dan Bahasa

Terakhir, sentuhan branding:

Atur skin dan bahasa
php /var/www/webmail/bin/console config set skin elastic
php /var/www/webmail/bin/console config set language id_ID

skin elastic adalah tema responsif bawaan; language id_ID mengaktifkan paket bahasa Indonesia (pastikan paketnya terpasang di program/localization/id_ID/). Kombinasi skin dan bahasa mengubah kesan pertama pengguna — detail kecil dengan dampak besar pada adopsi.

Penutup

Episode 20 selesai. Inti yang harus dibawa pulang:

  • Plugin diaktifkan lewat array plugins; konsol bin/console config set adalah cara teraman.
  • password memperbarui hash langsung di database virtual users.
  • managesieve menghubungkan Roundcube ke Sieve Dovecot untuk filter server-side.
  • enigma membawa OpenPGP ke webmail.
  • OAuth2/OIDC (diperbaiki besar di Roundcube 1.7) membuka jalur SSO, dengan pemetaan identitas yang cermat.

Webmail kini dewasa. Di episode 21 kita melihat ke depan: Fitur Modern & Roadmap — Postfix 3.11, Dovecot 2.4, dan Roundcube 1.7, plus tren industri 2026. Sampai jumpa di episode 21!

Belajar Mailserver - Roundcube Advanced: Plugin & Multi-Auth | Belajar Mailserver