Panduan Cara Install Roundcube Webmail di Ubuntu Server 20.04

Kita berada pada part 5 di seri tutorial mail server ubuntu 20.04. Sebelumnya kita telah membahas instalasi mail server Postfix Ubuntu pada part 1. Kemudian kita juga telah membahas instalasi IMAP server pada part 2. Lalu pada part 3 kita membuat SPF dan DKIM untuk mail server. Setelah itu kita juga membuat DMARC record pada part 4. Nah, kali ini kita akan install Roundcube Webmail di Ubuntu Server. Tentunya anda harus sudah melakukan tutorial part 1 hingga part 4 agar bisa praktik tutorial ini.

Webmail lebih sering digunakan untuk berkirim e-mail dibandingkan mail client seperti Outlook atau Thunderbird. Hal ini dikarenakan webmail mudah diakses dimanapun pada device apapun.

Dari berbagai webmail yang tersedia saat ini, Roundcube adalah webmail yang paling populer untuk versi gratisnya. Pada versi berbayar saat ini masih didominasi oleh Zimbra yang sering digunakan di dunia pendidikan dan bisnis. Meskipun fitur yang tersedia tidak selengkap Zimbra, Roundcube masih bisa menghandle hampir semua keperluan mailing. Oleh karena itu, di sini kita akan membangun webmail dengan menggunakan Roundcube.

Cara install dan konfigurasi Roundcube Webmail pada Ubuntu Server 20.04 di Dedicated server atau VPS.

1. Install web server Nginx, MariaDB MySQL, PHP dan Composer

Perbarui database repositori:

$ sudo apt update

Karena kita telah menginstall NginX pada part 2 maka kita lanjutkan dengan menginstall MariaDB sebagai database server dan PHP7.4 beserta semua modul yang diperlukan. Kita juga perlu install composer untuk menginstall Roundcube.

$ sudo apt -y install php7.4-fpm php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp mariadb-server composer

2. Unduh Roundcube Webmail dari Ubuntu Server

Unduh dengan menggunakan perindah wget:

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz

Di atas kita mengunduh versi 1.4.6 yang merupakan versi terbaru saat artikel ini dibuat. Silahkan ubah versi tersebut jika ada rilis versi terbaru.

Ekstrak file yang telah diunduh tersebut:

$ tar xvf roundcubemail-1.4.6-complete.tar.gz

Pindahkan ke direkotori www agar nanti kita jadikan sebagai webroot webmail kita:

$ sudo mv roundcubemail-1.4.6 /var/www/roundcube

3. Install dan Update Roundcube Menggunakan Composer

Jalankan perintah ini:

$ cd /var/www/roundcube
$ composer install --no-dev

Ubah kepemilikan direktori roundcube:

$ sudo chown www-data:www-data -R /var/www/roundcube

4. Buat Database untuk Roundcube

Jalankan perintah:

$ sudo mariadb

Lakukan perintah MySQL berikut. Ubah nama_database, nama_user_database dan password_database sesuai keinginan anda.

mysql> CREATE DATABASE nama_database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON nama_database.* TO 'nama_user_database'@'localhost' IDENTIFIED BY 'password_database';
mysql> flush privileges;
mysql> exit;

Import sql default Roundcube ke database yang baru dibuat misalkan nama databasenya nama_database:

$ sudo mysql nama_database < /var/www/roundcube/SQL/mysql.initial.sql

5. Buat Subdomain untuk Webmail di DNS Record

Karena pada praktik sebelumnya kita menggunakan DNS Cloudflare sebagai penyimpan DNS record kita maka buka kembali akun Cloudflare.

Login ke akun Cloudflare. Masuk ke menu DNS lalu klik Add Record.

Pada Type pilih A. Pada Name masukkan nama subdomain sesuai keinginan misalnya saya ingin mengakses webmailnya nanti di webmail.itkoding.com maka masukkan webmail pada Name. Pada IPv4 Address isi IP address dari mail server. Kemudian klik pada simbol awan berwarna orange agar CDN tidak aktif. Lalu klik Save.

Membuat subdomain di dns cloudflare

6. Buat Server Block Nginx untuk Webmail

Buat file baru di /etc/nginx/sites-available/ sesuai dengan nama subdomain pada langkah 5:

$ sudo nano /etc/nginx/sites-available/webmail.itkoding.com

Masukkan kode di bawah ini (jangan lupa sesuaikan dengan nama subdomain anda di bagian server_name:

server {
        listen 80;
        root /var/www/roundcube;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name webmail.itkoding.com;
 
 error_log /var/log/nginx/roundcube.error;
 access_log /var/log/nginx/roundcube.access;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                include /etc/nginx/snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
}

Simpan lalu tutup file.

Aktifkan server block dengan link file ke sites-enabled:

$ sudo ln -s /etc/nginx/sites-available/webmail.itkoding.com /etc/nginx/sites-enabled/

Reload Nginx:

$ sudo systemctl reload nginx

7. Aktifkan HTTPS untuk Webmail

Pada part 2 kita telah install Certbot maka selanjutnya kita hanya perlu request SSL. Pastikan telah mengubah email dan nama subdomain anda sebelum menjalankan perintah di bawah ini:

$ sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email paijo@itkoding.com -d webmail.itkoding.com

Reload nginx:

$ sudo systemctl reload nginx

Izinkan akses HTTPS di port 443 pada firewall UFW:

$ sudo ufw allow 'Nginx Full'

8. Install Roundcube Melalui Web Browser

Buka alamat installer Roundcube pada subdomain anda. Format urlnya adalah subdomain.domainanda.com/installer misalnya webmail.itkoding.com/installer maka akan tampil form untuk instalasi Roundcube.

Scroll ke bawah lalu klik Next. Kemudian pada product_name isikan judul untuk webmail anda sesuai selera. Misalnya ITKoding WebMail.

Opsi product_name pada roundcube

Scrool lagi ke bawah hingga menemukan Database setup. Isikan informasi database yang telah kita buat di langkah nomor 4. Masukkan localhost pada Database server. Masukkan nama database anda di Database name, nama user database anda di Database user name dan password database di Database password.

Pengaturan database di roundcube

Pada bagian IMAP Settings masukkan hostname mail server anda beserta SSL di default_host misalnya pada praktik ini adalah itkodingserver.itkoding.com maka ssl://itkodingserver.itkoding.com lalu isi port dengan 993. Jika lupada dengan hostname anda silahkan ketikkan hostname --fqdn di server anda.

Konfigurasi imap pada roundcube

Pada bagian SMTP setting masukkan TLS hostname misalnya tls://itkodingserver.itkoding.com kemudian isi port dengan 587.

Konfigurasi smtp di roundcube

Lalu scroll ke bawah dan centang semua opsi plugin yang ada. Klik Create config maka secara otomatis akan dibuat dan disimpan di /var/www/roundcube/config/config.inc.php. Lalu Klik Continue. Maka selanjutnya kita akan dibawa ke halaman test.

Lalu silahkan test untuk mengirimkan email dengan mengisi Username yaitu email anda misalnya paijo@itkoding.com dan passwordnya. Kemudian isi Sender juga dengan alamat email anda misalnya paijo@itkoding.com lalu Recipient yaitu email penerima. Lalu klik Send test mail. Jika berhasil akan tampil SMTP send: OK.

Percobaan kirim email saat instalasi roundcube

Lalu lakukan test juga pada IMAP untuk memastikan konfigurasi yang kita lakukan sudah benar.

9. Hapus Direktori Installer

Hapus direktori installer dengan cara:

$ sudo rm /var/www/roundcube/installer/ -r

10. Login ke WebMail

Sekarang kita bisa mencoba untuk login ke Webmail dan test mengirim maupun menerima email. Buka alamat Webmail anda misalnya webmail.itkoding.com. Masukkan username dan password. Lalu klik Login.

Halaman login pada roundcube

Akan ada tampilan Please complete your sender identity. Silahkan isi sesuai dengan data diri anda. Lalu klik Save.

Tampilan inbox di webmail roundcube

Jika dilihat tampilan Roundcube pada versi ini memang sudah sangat modern dan mobile friendly. Itulah mengapa Roundcube sangat populer digunakan dikalangan Open Source. Tentunya sampai saat ini Roundcube masih terus dikembangkan. Tidak seperti Squirrelmail yang sudah berhenti pengembangannya padahal dahulu sangat populer dikalangan Open Source.

Penutup

Setelah membuat webmail, mail server kita sudah cukup handal untuk digunakan sehari-hari. Berarti, seri tutorial mail server di Ubuntu server 20.04 akan saya sudahi sampai di sini. Sebenarnya masih banyak konfigurasi yang perlu diatur khususnya dalam hal security dan antispam. Namun semuanya tersebut sesuai dengan fitur yang kita inginkan misalnya ingin menambahkan anti spam kita bisa menginstall spamassassin dan sebagainya. Kita akan lanjutkan lagi pada seri tutorial advance mail server.

M. Hernawan
Web developer yang juga suka dengan dunia sysadmin. Pernah belajar Teknik Informatika di Indonesia.

Kirim Komentar