Cara Install dan Konfigurasi Roundcube di Debian

Halo rekan-rekan engineer muda. Masih semangat ngulik infrastruktur, kan? Kali ini gua mau berbagi tips soal salah satu webmail sejuta umat, yaitu Roundcube.

Sering banget gua dapet pertanyaan dari junior, "Bang, kok Roundcube gua gagal login terus pas pake SSL?" atau "Kenapa domain di email gua malah ngikutin nama server?". Nah, di artikel ini gua bakal bahas tuntas cara konfigurasi Roundcube biar aman pake SSL/TLS dan cara nanganin isu domain yang sering bikin pusing.


Pengertian

Roundcube adalah klien email berbasis web (webmail) yang bersifat open-source dan ditulis menggunakan bahasa pemrograman PHP. Tampilannya yang modern dan fiturnya yang lengkap bikin dia jadi pilihan utama buat gantiin tampilan SquirrelMail yang jadul. Fungsinya sederhana: jadi antarmuka visual supaya lu bisa baca dan kirim email tanpa harus buka aplikasi seperti Outlook atau Thunderbird.

Konsep

Roundcube bekerja sebagai MUA (Mail User Agent) yang berjalan di atas web server. Dia nggak nyimpen email sendiri, melainkan berkomunikasi dengan IMAP server untuk baca email dan SMTP server untuk ngirim email. Supaya aman, komunikasi ini harus dibungkus pake enkripsi SSL/TLS biar data credential lu nggak bisa diintip di jaringan.

Cara Kerja

Alurnya simpel tapi krusial:

  1. Lu buka Roundcube di browser.

  2. Lu masukin username dan password.

  3. Roundcube bakal melakukan koneksi ke port 993 (IMAP SSL) untuk verifikasi login dan narik daftar email.

  4. Pas lu klik kirim, Roundcube bakal kontak port 465 (SMTP SSL) untuk nerusin email lu ke tujuan.

  5. Sepanjang proses ini, Roundcube ngecek apakah sertifikat SSL yang ada di server itu valid dan sesuai dengan hostname yang lu pake.

Tujuan

Tujuan utama konfigurasi ini adalah keamanan data. Di dunia nyata, ngirim email pake protokol clear text itu bahaya banget. Selain itu, penggunaan parameter khusus seperti username_domain bertujuan supaya sistem email lu lebih profesional, di mana user cukup masukin nama depan aja tanpa harus ngetik domain panjang-panjang, tapi sistem tetep tau itu email milik domain yang mana.

Analogi

Bayangin Roundcube itu kayak Kurir Kantor. Lu (User) pengen ngirim surat. Lu manggil Kurir (Roundcube) buat ngambil surat di meja lu. Si Kurir ini harus lewat lorong khusus yang dijagain satpam (SSL) biar suratnya nggak dibajak orang di jalan. Kalau nama gedung di surat lu nggak sesuai sama kartu identitas si Kurir (SAN Certificate), si satpam nggak bakal bolehin dia lewat.

Kelebihan dan Kekurangan

KelebihanKekurangan
Keamanan data terjamin karena dienkripsi penuh (SSL).Konfigurasi lebih ketat, salah hostname dikit bakal error.
Tampilan profesional dan user-friendly.Butuh resource server lebih besar dibanding webmail teks biasa.
Mendukung fitur modern seperti drag-and-drop.Bergantung banget sama validitas sertifikat SSL (nggak boleh expired).

Tutorial & Problem Solving Lengkap

Gua asumsikan lu udah install Roundcube di server Debian/Ubuntu. Sekarang kita fokus ke bagian konfigurasinya.

1. Cek Sertifikat SSL (Penting!)

Sebelum masuk ke code, lu wajib mastiin domain yang lu pake di konfigurasi nanti (misal: mail.nusanet.id) sudah terdaftar di Subject Alternative Name (SAN) sertifikat SSL server email lu. Kalau lu pake mail.domain.com tapi di sertifikat cuma ada domain.com, login bakal ditolak (Handshake Failed).

2. Edit File Konfigurasi

Buka file config.inc.php di direktori Roundcube lu (biasanya di /var/www/roundcube/config/ atau /etc/roundcube/).

# Masuk sebagai root atau gunakan sudo
$ sudo nano /etc/roundcube/config.inc.php

3. Konfigurasi IMAP, SMTP, dan Domain

Cari baris berikut dan sesuaikan. Perhatikan penggunaan prefix ssl:// untuk mengaktifkan enkripsi.

// Gunakan ssl:// untuk port 993 (IMAP)
$config['imap_host'] = 'ssl://mail.nusanet.id:993';

// Gunakan ssl:// untuk port 465 (SMTP)
$config['smtp_host'] = 'ssl://mail.nusanet.id:465';

// Login SMTP pake user yang sama dengan IMAP
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

// Trik username_domain: Agar user login 'admin' otomatis jadi 'admin@nusanet.id'
// Dan domain ini TIDAK akan nabrak hostname imap_host di atas
$config['username_domain'] = 'nusanet.id';

// Pastikan installer sudah dimatikan demi keamanan
$config['enable_installer'] = false;

Catatan Penting: Penggunaan username_domain bakal nambahin @nusanet.id secara otomatis di belakang username pas proses login. Ini sangat berguna kalau lu punya banyak domain tapi pengen satu tampilan login yang simpel.

4. Troubleshooting: SSL Verification

Kalau lu pake Self-Signed Certificate, Roundcube mungkin bakal nolak koneksi. Best practice-nya sih pake Let's Encrypt, tapi kalau terpaksa, lu bisa tambahin opsi ini di file yang sama:

$config['imap_conn_options'] = array(
    'ssl' => array(
        'verify_peer'  => false,
        'verify_peer_name' => false,
    ),
);

(Tapi jangan lakuin ini di server produksi ya, ini cuma buat testing!)

Kesimpulan

Konfigurasi Roundcube dengan SSL itu wajib hukumnya di zaman sekarang. Hal paling krusial yang harus lu inget adalah kesesuaian antara hostname di config dengan SAN di sertifikat SSL. Kalau itu nggak sinkron, mau lu oprek gimanapun tetep bakal mental. Gunakan juga parameter username_domain biar hidup lu dan user lu lebih mudah pas proses login.


Glosarium Engineer

  • Roundcube: Aplikasi webmail berbasis PHP yang digunakan untuk mengelola email melalui browser.

  • SSL/TLS: Protokol keamanan yang menyediakan enkripsi data antara server dan client.

  • IMAP: Protokol untuk mengakses atau mengambil email dari server mail.

  • SMTP: Protokol yang digunakan untuk mengirimkan email dari client ke server atau antar server.

  • MUA (Mail User Agent): Aplikasi yang digunakan oleh user untuk membaca dan mengirim email.

  • SAN (Subject Alternative Name): Bagian dari sertifikat SSL yang memungkinkan satu sertifikat melindungi banyak nama domain/hostname.

  • PHP: Bahasa pemrograman sisi server yang digunakan untuk membangun aplikasi web dinamis.

  • Debian/Ubuntu: Distribusi sistem operasi Linux yang populer digunakan untuk server.

  • Let's Encrypt: Otoritas sertifikat gratis, otomatis, dan terbuka yang menyediakan sertifikat SSL.

Comments

Popular posts from this blog

Apa itu Link Aggregation?

Apa Itu Port Security di Switch Cisco