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.
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
.
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.
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.
Pada bagian SMTP setting masukkan TLS hostname misalnya tls://itkodingserver.itkoding.com
kemudian isi port dengan 587
.
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.
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.
Akan ada tampilan Please complete your sender identity. Silahkan isi sesuai dengan data diri anda. Lalu klik Save.
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.
kalau ada error “the ip you’re using to send mail is not authorized” di gmail bagaimana ya cara mengatasinya?
kirim dan terima selain gmail sudah bisa.
Itu kemungkinan disebabkan ip server tersebut dianggap spam atau bahkan terblacklist. Kalau saya biasanya cek IP server terlebih dahulu apakah masuk ke dalam blacklist di DNSBL, RBL atau lainnya. Untuk mengeceknya bisa menggunakan website seperti mxtoolbox, spamhaus dan lainnya bisa di cari di Google. Nah, kalau benar-benar bersih tidak masuk ke dalam blacklist maka bisa digunakan sebagai mail server.
Kalau sudah masuk ke daftar blacklist mungkin bisa dibilang rumit karena harus mengembalikan reputasi IP tersebut. Bahkan tidak jarang range IP yang terblacklist.