Halo, Sobat Jagoan! Saat ini, memiliki sistem email sendiri di server pribadi (VPS) menjadi semakin penting, baik untuk keperluan profesional, organisasi, maupun pembelajaran. Salah satu webmail yang ringan, modern, dan mudah digunakan adalah Roundcube. Roundcube adalah salah satu aplikasi webmail berbasis PHP yang ringan, open-source, dan memiliki antarmuka pengguna yang cukup intuitif. Webmail ini memungkinkan pengguna mengakses email melalui browser tanpa perlu menggunakan aplikasi mail client seperti Thunderbird atau Outlook.
Artikel kali ini akan membahas cara menginstal Roundcube di Ubuntu 22.04, yukss simak!
Prasyarat
- Memiliki server VPS Ubuntu
- Memiliki akses user non-root dengan hak akses sudo
- Memiliki domain yang diarahkan ke server VPS. Kalau belum tahu caranya bisa akses panduan Cara mengarahkan domain ke vps
Step 1: Buat Koneksi SSH VPS
Pertama, buat koneksi SSH ke VPS kamu melalui terminal. Jika menggunakan sistem operasi Windows, kamu bisa menggunakan PuTTY.
Detail informasi awal layanan kamu bisa diakses seperti pada Informasi Awal Layanan VM.
Step 2: Instalasi IMAP, POP3 dan SMTP Server
Kamu update dulu sistem package di sistem kamu baru setelahnya instal IMAP, POP3. dan SMTP servernya.
sudo apt update
sudo apt -y install postfix dovecot-core dovecot-imapd dovecot-pop3d
Apabila muncul konfigurasi postfix seperti berikut.

Tekan Tab lalu Spasi untuk memilih opsi tipe konfigurasi mail, pilih opsi Internet Site (pakai panah atas/bawah di keyboard).

Lalu klik Tab untuk memilih <Ok> lalu Enter. Setelah itu, isi system mail name dengan nama domain utama server email-mu — yaitu nama domain yang akan digunakan untuk mengirim dan menerima email dan klik Tab lagi maka <Ok> otomatis terpilih dan Enter.

Tipe konfigurasi postfix dan keterangannya.
- No configuration
Tidak ada konfigurasi otomatis. Kamu harus konfigurasi postfix secara manual nanti.
Cocok kalau kamu sudah paham dan ingin setup sendiri. - Internet Site
Postfix akan mengirim dan menerima email langsung via internet.
Biasanya dipakai jika server kamu punya domain dan ingin mengirim/terima email secara langsung (misal mail server umum).
Ini pilihan paling umum untuk server email yang langsung terhubung ke internet. - Internet with Smarthost
Server mengirim email keluar lewat relay (smarthost) lain, tapi tetap bisa menerima email langsung.
Cocok kalau kamu mau mengirim email melalui server email provider lain (misal Gmail SMTP relay) tapi tetap menerima email sendiri. - Internet Satellite System
Server hanya mengirim email ke relay (smarthost) dan tidak menerima email langsung dari internet.
Biasanya digunakan untuk server internal yang hanya mengirim email keluar lewat relay. - Local only
Postfix hanya menerima dan mengirim email lokal di dalam server itu saja (loopback).
Cocok kalau kamu cuma perlu mail server untuk pengujian lokal atau notifikasi internal tanpa keluar jaringan.
Step 3: Install MariaDB
Instalasi MariaDB di Ubuntu kamu bisa mengikuti panduan Cara Install MariaDB di VPS Ubuntu hingga akhir.
Kemudian, lanjut setup database.
sudo mysql -u root -p
1. Kalau hanya untuk testing atau pengujian sementara. Jalankan:
CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER roundcube@localhost IDENTIFIED BY 'roundcube';
GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost;
FLUSH PRIVILEGES;
exit
2. Untuk operasi yang lebih serius atau level produksi, jalankan:
CREATE DATABASE roundcubedb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER dbuser@localhost IDENTIFIED BY 'testpassword';
GRANT ALL PRIVILEGES ON roundcubedb.* TO dbuser@localhost;
FLUSH PRIVILEGES;
exit
Kalau kamu buat tutorial atau proyek awal, versi testing bisa dipakai. Tapi untuk server sungguhan, sangat disarankan pakai pendekatan kedua.
Step 4: Instal PHP dan Modul-Modulnya
Instal PHP berserta modul-modul yang dibutuhkan supaya Roundcube bisa berjalan dengan baik.
sudo apt -y install php php-gd php-common php-json php-imagick \
php-imap php-xml php-opcache php-mbstring php-curl php-zip \
php-bz2 php-intl php-mysql
Periksa versi PHP yang sudah diinstal.
php -v
Lalu, set timezone di konfigurasi PHP supaya fungsi-fungsi waktu bekerja akurat sesuai zona waktu lokal kamu.
Cara 1: Melalui sed
sed -i -e "s/^;date\.timezone =.*$/date.timezone = Asia\/Jakarta/" /etc/php/8.1/apache2/php.ini
Ini adalah perintah otomatis untuk mengedit file konfigurasi php.ini. Jadi, ia mengganti baris ;date.timezone = menjadi date.timezone = Asia/Jakarta. Perintah sed digunakan untuk “search and replace” secara otomatis di file.
Cara 2: Manual melalui vi atau nano
Buka file php.ini
sudo nano /etc/php/8.1/apache2/php.ini
Lalu, cari bagian (gunakan Ctrl+W untuk mencari)
[Date]
;date.timezone =
Setelah edit file dan Ctrl+x lalu y untuk menyimpan perubahan dan Enter untuk keluar dari editor.
Ubah menjadi:
date.timezone = Asia/Jakarta
Step 5: Install Apache
Jalankan perintah berikut untuk install Apache web server:
sudo apt install apache2 -y
Kemudian aktifkan dan jalankan Apache:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2
Pastikan status Apache “active(running)” bewarna hijau.
Selanjutnya, edit konfigurasi Apache.
sudo nano /etc/apache2/sites-available/domainkamu.com.conf
Berikut konfigurasinya:
ServerName domainkamu.com
DocumentRoot /var/www/roundcube/
ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
Options FollowSymLinks
AllowOverride None
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
Kemudian, aktifkan konfigurasi virtual host domainkamu.com.
sudo a2ensite domainkamu.com
Setelah itu muat ulan konfigurasi Apache tanpa mematikan koneksi yang sedang aktif.
sudo systemctl reload apache2
Step 6: Instal Roundcube
Pertama, masuk ke direktori /usr/local/src/
cd /usr/local/src/
Lalu, unduh file arsip Roundcube versi 1.6.6 dari GitHub.
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.6/roundcubemail-1.6.6-complete.tar.gz
Dan ekstrak file arsip .tar.gz yang telah diunduh sebelumnya.
tar xvf roundcubemail-1.6.6-complete.tar.gz
Kemudian, pindahkan folder hasil ekstrak ke direktori web server /var/www dan mengganti nama folder menjadi roundcube.
sudo mv roundcubemail-1.6.6 /var/www/roundcube
Berikutnya, ubah kepemilikan folder dan semua isinya agar dimiliki oleh user default Apache. Hal ini penting supaya web sever dapat membaca dan menulis data dengan benar.
sudo chown www-data:www-data -R /var/www/roundcube
Sebagai percobaan, isi database roundcube.
1. Jika keperluannya untuk testing, jalankan:
mysql -u roundcube -p roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Penjelasan:
- -u roundcube: login ke MySQL sebagai user roundcube
- -p: akan meminta kamu memasukkan password user (yaitu roundcube)
- roundcube: nama databasenya
- < /var/www/roundcube/SQL/mysql.initial.sql: ini adalah file SQL bawaan Roundcube yang berisi struktur tabel-tabel yang dibutuhkan. File ini akan di-import ke database.
Ketika diminta isi password, isikan roundcube (sesuai pada step ke 3).
2. Untuk keperluan serius atau level produksi (misal untuk server email asli).
mysql -u dbuser -p roundcubedb < /var/www/roundcube/SQL/mysql.initial.sql
Kamu akan diminta memasukkan password testpassword setelah menekan enter.
Kemudian, buat konfigurasi Roundcube.
cd /var/www/roundcube/config/
sudo cp config.inc.php.sample config.inc.php
Edit config.inc.php yang baru saja dibuat untuk konfigurasi database kamu.
sudo nano config.inc.php
Lalu, cari baris:
$config['db_dsnw'] = 'mysql://user:pass@localhost/roundcubemail';
Ubah sesuai dengan:
- Username database MySQL (misal roundcube)
- Password user tersebut
- Nama database yang kamu pakai untuk Roundcube
Contoh:
$config['db_dsnw'] = 'mysql://roundcube:your_password@localhost/roundcube_db';
Simpan dan tutup editor, Ctrl+x, lalu y dan Enter.
Lalu, restart web server.
sudo systemctl restart apache2
Step 7: Akses Web
Buka file konfigurasi host di server kamu.
sudo nano /etc/hosts
Tambahkan baris:
ip-server-kamu domainkamu.com
Kemudian buka di web browser http://domainkamu.com.

Selamat! Langkah-langkah untuk menginstal Vaultwarden dan mengamankannya menggunakan Caddy telah selesai.
Sebagai tambahan, Sob. Untuk login ke Roundcubenya kamu perlu membuat akun email di server (menggunakan Postfix + Devecot). Roundcube adalah webmail client — jadi kamu login dengan akun email seperti [email protected], bukan roundcube (user database MySQL tadi). Sini, akan di spill caranya:
Step 1: Buat user lokal di Linux
sudo adduser user1
Kemudian isi password sesuai keinginan. Dan ikuti prompt yang muncul terkait Full Name, Room Number, Work Phone, Home Phone, dan Others. Jika sudah diisi tekan Y lalu Enter.
Step 2: Akses Roundcube kamu
Setelah berhasil membuat user, berarti gunakan username user1 dan password yang sudah dibuat untuk login ke mail roundcubenya ya, Sob.
Tapi, di sini ada opsi lain untuk login ke Roundcube. Misalnya kamu ingin login dengan format [email protected].
Caranya:
Step 1: Buka konfigurasi dovecot
sudo nano /etc/dovecot/conf.d/10-auth.conf
Step 2: Cari bagian ‘auth_username_format’ pakai Ctrl+W.
Step 3: Ubah nilainya menjadi:
auth_username_format = %n
Step 4: Restart dovecot:
sudo systemctl restart dovecot
Lalu, coba login ke Roundcube menggunakan username [email protected].

Tambahan
Perlukah Mengubah auth_username_format di Dovecot?
Secara default, Dovecot menggunakan pengaturan berikut:
;auth_username_format = %Lu
Ini berarti, saat seseorang login dengan email seperti [email protected], Dovecot akan otomatis mengubahnya menjadi huruf kecil: [email protected].
Kapan Tidak Perlu Mengubah auth_username_format?
Jika kamu menggunakan virtual users atau manajemen user berbasis database (bukan user Linux biasa), biarkan saja seperti ini atau gunakan:
auth_username_format = %Lu
Karena sistem kamu akan mengenali user berdasarkan email lengkap, dan huruf kecil sangat membantu mencegah kesalahan saat login.
Contoh: Kamu membuat akun di database [email protected] — maka pengguna bisa login walaupun mengetik [email protected].
Kapan Harus Mengubah auth_username_format Menjadi %n?
Jika kamu menggunakan user Linux (system user) — artinya kamu membuat user dengan sudo adduser user1, maka kamu harus mengubah auth_username_format menjadi:
auth_username_format = %n
Karena user Linux hanya mengenali bagian sebelum @, seperti user1 — dan tidak mengenali [email protected] sebagai nama pengguna.
Jika tidak diubah, login akan gagal dan akan muncul error seperti ini di log:
pam_unix(dovecot:auth): check pass; user unknown
💡 Tips: Kalau kamu bingung apakah user kamu Linux atau virtual, coba jalankan perintah id user1 — kalau keluar data UID/GID, berarti itu user Linux.
Kalau ada yang masih bikin bingung, hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket ya, Sob!
Halo, Sobat Jagoan! PHPMyAdmin adalah alat berbasis web yang memungkinkan kamu untuk mengelola database MySQL atau MariaDB melalui browser dengan Read more
Halo, Sobat Jagoan! Karena phpMyAdmin itu sering dipakai di mana-mana, banyak hacker yang suka mencoba masuk ke phpMyAdmin tanpa izin. Read more
Halo, Sobat Jagoan! Kamu mungkin sudah familiar dengan MySQL, tetapi tahukah kamu bahwa MariaDB menawarkan fitur yang serupa bahkan lebih Read more
Halo, Sobat Jagoan! Setelah kamu berhasil melakukan instalasi MariaDB, hal dasar yang bisa kamu lakukan yaitu membuat database baru untuk Read more