Pendahuluan
Setelah mail server (Postfix + Dovecot) berjalan dengan baik, tahap selanjutnya adalah menyediakan webmail agar user dapat mengakses email melalui browser.
Pada artikel ini kita akan membangun Roundcube Webmail menggunakan:
- Nginx (web server)
- MariaDB (database)
- PHP-FPM
- Subdomain khusus:
webmail.alfasmk.my.id
Roundcube akan menggunakan IMAP (Dovecot) dan SMTP Submission (Postfix) yang sudah dikonfigurasi sebelumnya.
1. Persiapan Awal
1.1 Pastikan Service Mail Sudah Aktif
systemctl status postfix
systemctl status dovecot
Pastikan:
- IMAP memastikan berjalan di port 993
- SMTP submission berjalan di port 587
1.2 Paket yang Dibutuhkan
sudo apt update
sudo apt install -y \
nginx \
mariadb-server \
php-fpm \
php-mysql \
php-intl \
php-mbstring \
php-xml \
php-zip \
php-curl \
php-gd \
unzip
2. Konfigurasi DNS untuk Webmail
Tambahkan record DNS berikut pada domain alfasmk.my.id.
2.1 Record A
| Type | Name | Value |
|---|---|---|
| A | webmail | 202.10.38.70 |
Catatan:
- IP disesuaikan dengan IP VPS mail server
- Jangan gunakan Cloudflare proxy (orange cloud OFF)
2.2 Validasi DNS
dig webmail.alfasmk.my.id
Pastikan IP yang muncul sesuai.
3. Pembuatan Database MariaDB
Masuk ke MariaDB:
sudo mysql
Jalankan perintah berikut:
CREATE DATABASE roundcube;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'PASSWORDKUAT';
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Instalasi Roundcube
4.1 Download dan Ekstrak
cd /var/www
sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.12/roundcubemail-1.6.12-complete.tar.gz
sudo tar xzf roundcubemail-latest-complete.tar.gz
sudo mv roundcubemail-* roundcube
sudo chown -R www-data:www-data /var/www/roundcube
4.2 Struktur Direktori
Pastikan struktur berikut ada:
/var/www/roundcube
├── bin
├── config
├── installer
├── logs
├── public_html
└── temp
5. Konfigurasi PHP-FPM
Cek versi PHP:
php -v
Edit konfigurasi PHP-FPM:
sudo nano /etc/php/8.3/fpm/php.ini
Pastikan:
date.timezone = Asia/Jakarta
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 25M
Restart PHP-FPM:
sudo systemctl restart php8.3-fpm
6. Konfigurasi Nginx untuk Roundcube
6.1 Virtual Host
sudo nano /etc/nginx/sites-available/webmail.alfasmk.my.id
Isi konfigurasi:
server {
listen 80;
server_name webmail.alfasmk.my.id;
root /var/www/roundcube/public_html;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\. {
deny all;
}
}
Aktifkan site:
sudo ln -s /etc/nginx/sites-available/webmail.alfasmk.my.id /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
7. Instalasi Sertifikat TLS (Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d webmail.alfasmk.my.id
Pastikan HTTPS aktif dan redirect otomatis ke HTTPS.
8. Konfigurasi Roundcube
Buka browser:
https://webmail.alfasmk.my.id/installer
Ikuti langkah installer:
8.1 Database Setup
| Parameter | Value |
|---|---|
| Database type | MySQL |
| Database name | roundcube |
| Database user | roundcube |
| Database password | PASSWORDKUAT |
| Database host | localhost |
8.2 IMAP Settings (Dovecot)
| Parameter | Value |
|---|---|
| IMAP host | ssl://mail.alfasmk.my.id |
| IMAP port | 993 |
| Username | %u |
| Password | user password |
8.3 SMTP Settings (Postfix)
| Parameter | Value |
|---|---|
| SMTP host | tls://mail.alfasmk.my.id |
| SMTP port | 587 |
| SMTP auth | Yes |
| Username | %u |
| Password | user password |
8.4 Generate Config
- Klik Create config
- Download file
config.inc.php - Upload ke:
/var/www/roundcube/config/config.inc.php
Set permission:
sudo chown www-data:www-data /var/www/roundcube/config/config.inc.php
8.5 Hapus Installer (WAJIB)
sudo rm -rf /var/www/roundcube/installer
9. Integrasi dengan Postfix & Dovecot
Roundcube tidak memerlukan konfigurasi tambahan di Postfix atau Dovecot karena:
- Auth menggunakan Dovecot
- SMTP Submission menggunakan Postfix port 587
- TLS sudah aktif
Pastikan socket Dovecot AUTH sudah benar (sudah dibahas di artikel sebelumnya).
10. Testing Webmail
10.1 Login Webmail
- Buka
https://webmail.alfasmk.my.id - Login menggunakan user email server
10.2 Kirim Email
- Kirim ke Gmail
- Pastikan email terkirim
- Cek header: SPF, DKIM, DMARC PASS
10.3 Terima Email
- Kirim dari Gmail ke domain sendiri
- Pastikan email muncul di Inbox Roundcube
11. Keamanan Tambahan Webmail
11.1 Firewall
Pastikan hanya port ini terbuka:
| Port | Fungsi |
|---|---|
| 80 | HTTP |
| 443 | HTTPS |
| 587 | SMTP Submission |
| 993 | IMAPS |
| 25 | SMTP |
11.2 Fail2Ban Roundcube (Opsional)
Roundcube otomatis menggunakan AUTH Dovecot, sehingga:
- Bruteforce tetap tercatat di log Dovecot
- Fail2Ban Dovecot sudah cukup
12. Checklist Akhir Webmail
- DNS
webmail.domainaktif - HTTPS aktif
- Login sukses
- Kirim & terima email normal
- SPF, DKIM, DMARC PASS
Penutup
Dengan Roundcube, mail server kini memiliki akses webmail profesional, aman, dan terintegrasi langsung dengan Postfix dan Dovecot.
Konfigurasi ini cocok untuk VPS kecil hingga menengah, dan mudah dikembangkan ke produksi.
