Membuat Mail Server dengan Roundcube di Debian
Mail server adalah sistem komputer yang berfungsi sebagai pusat pengelolaan email. Tugas utamanya adalah menerima, menyimpan, memproses…
Membuat Mail Server dengan Roundcube di Debian
Mail server adalah sistem komputer yang berfungsi sebagai pusat pengelolaan email. Tugas utamanya adalah menerima, menyimpan, memproses, dan meneruskan email dari pengirim ke penerima. Saat seseorang mengirim email, pesan tersebut tidak langsung sampai ke alamat tujuan, tetapi terlebih dahulu masuk ke mail server pengirim. Setelah itu, mail server akan mencari mail server milik penerima dan mengirimkan email tersebut ke sana, hingga akhirnya bisa dibaca oleh penerima.
Adapun beberapa package yang perlu diperlukan seperti: Postfix, Dovecot, dan Roundcube. Postfix adalah sebuah tools mail server (Mail Transfer Agent / MTA) yang digunakan untuk mengirim, menerima, dan meneruskan email di dalam suatu jaringan atau internet. Sedangkan Dovecot adalah sebuah mail server (Mail Delivery Agent / Mail Server IMAP/POP3) yang berfungsi untuk menyimpan dan menyediakan email agar bisa diakses oleh pengguna. Dan Roundcube adalah aplikasi webmail berbasis web yang digunakan untuk mengakses dan mengelola email melalui browser.
Installasi dan Konfigurasi Mail Server
Sebelumnya saya telah membuat DNS khusus untuk Mail server pada server saya. Nama domain saya adalah “mail.kaguai.com”. saya membuat DNS menggunakan bind9, namun kali ini saya tidak memberikan langkah jelas untuk pembuatan DNS. Kalian dapat membaca dokumentasi DNS di github saya. Berikut configurasi DNS pada Bind saya.
#db.forward
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA kaguai.net. root.kaguai.net. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS kaguai.net.
@ IN A 192.168.56.182
mail IN A 192.168.56.182
@ IN MX 10 mail.kaguai.net
#db.reverse
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA kaguai.net. root.kaguai.net. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS kaguai.net.
182 IN PTR kaguai.net.
182 IN PTR mail.kaguai.net.
#named.conf.local
zone "kaguai.net" {
type master;
file "/etc/bind/db.forward";
};
zone "192.168.56.in-addr.arpa" {
type master;
file "/etc/bind/db.reverse";
};
Baik Kita lanjutkan untuk konfigurasi Mail Server. Dalam penginstallan mail server kita memerlukan package seperti postfix dan dovecot maka dari itu kita perlu menginstall postfix dan dovecot.
#apt-get update
#apt install postfix dovecot-imapd dovecot-pop3d -y
Dalam penginstallan Postfix ada beberapa konfigurasi yang perlu dilakukan kalian dapat mengikuti langkah-langkah berikut ini:

Tipe Mail Konfigurasi
Pada pertanyaan ‘General mail configuration type’ Pilih Internet Site agar komunikasi email menggunakan protokol SMTP secara langsung.

Domain untuk Mail Server
Selanjutnya kalian dapat memasukan domain untuk digunakan sebagai Mail Server kalian. Setelah penginstallan Postfix kita juga memerlukan konfigurasi manual pada file ‘/etc/postfix/main.cf’ Kalian cukup konfigurasi pada bagian paling bawah. Lalu sesuaikan hostname dengan domain mail server kalian, tambahkan ip ‘0.0.0.0/0’ pada mynetworks, dan Tambahkan variabel ‘home_mailbox’ dengan value ‘Maildir/’. Kalian dapat melihat contoh file konfigurasi saya
#nano /etc/postfix/main.cf
...
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.kaguai.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, mail.kaguai.net, kaguai.net, localhost.kaguai.net, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
setelah itu kalian dapat membuat directory Maildir di /etc/skel , Dengan jalankan command ini:
#maildirmake.dovecot /etc/skel/Maildir
setelah itu kita konfigurasi ulang dengan jalankan command ini:
dpkg-reconfigure postfix
Dalam konfigurasi ulang package Postfix ada beberapa pilihan yang harus di isi, sesuaikan dengan topology atau konfigurasi sistem dan sesuaikan kebutuhan. seperti gambar dibawah ini

Internet Site for general mail configuration

input DNS mail server

Leave the recipient field for root and postmaster mail empty

Add other destinations for which this server will accept email

Select “Yes” to force synchronous updates on the mail queue

local network IP address

Enter 0 for the mailbox size limit (in bytes)

Enter + as the local address extension character

Select IPv4 as the Internet Protocol to use
Setelah mengikuti langkah langkah tersebut kalian dapat merestart Postfix anda dengan menggunakan command ini:
#systemctl restart postfix
Selanjutnya kita akan konfigurasi dovecot
- Edit file konfigurasi /etc/dovecot/dovecot.conf.
#nano /etc/dovecot/dovecot.conf
lalu uncomment dan edit pada bagian ini
...
# A comma separated list of IPs or hosts where to listen in for connections.
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
listen = *
...
- Edit file konfigurasi /etc/dovecot/conf.d/10-auth.conf.
# nano /etc/dovecot/conf.d/10-auth.conf
lalu ubah bagian ‘disable_plaintext_auth’ dari ‘yes’ ke ‘no’
##
## Authentication processes
##
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
# See also ssl=required setting.
disable_plaintext_auth = no
...
- Edit file konfigurasi /etc/dovecot/conf.d/10-mail.conf.
# nano /etc/dovecot/conf.d/10-mail.conf
lalu uncomment pada bagian ‘ mail_location = maildir:~/Maildir’ lalu comment pada bagian ‘mail_location = mbox:~/mail:INBOX=/var/mail/%u’
...
mail_location = maildir:~/Maildir
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# <doc/wiki/MailLocation.txt>
#
#mail_location = mbox:~/mail:INBOX=/var/mail/%u
...
- Setelah itu restart dovecot
# systemctl restart dovecot
Lalu selanjutnya kita akan membuat user baru untuk email. Gunakan command adduser untuk menambahkan user baru. disini kalian akan masukan password untuk user tersebut juga
# adduser admin
# adduser client
Setelah itu kita restart dovecot
# systemctl restart dovecot
Sampai disini Mail kalian sudah jadi Tapi belum ada website mail servernya. Tapi sebelum kita memasang site untuk mail server sebaiknya kita coba lewat telnet terlebih dahulu. Kalian dapat mencobanya seperti ini
Kita akan gunakan port 25 yang dijalankan service smtp untuk mengirim mail
# telnet mail.kaguai.net 25
Trying 192.168.43.182...
Connected to mail.kaguai.net.
Escape character is '^]'.
220 mail.kaguai.net ESMTP Postfix (Debian/GNU)
mail from: client@mail.kaguai.net
250 2.1.0 Ok
rcpt to: admin@mail.kaguai.net
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: Test
Hello World via Telnet
.
250 2.0.0 Ok: queued as 3688564BF1
quit
221 2.0.0 Bye
Connection closed by foreign host.
Selanjutnya kita telnet ke port 110 untuk mengambil mail yang terkirim, port 110 ini dijalankan oleh service POP3.
# telnet mail.kaguai.net 110
Trying 192.168.43.182...
Connected to mail.kaguai.net.
Escape character is '^]'.
+OK Dovecot (Debian) ready.
user admin
+OK
pass 123
+OK Logged in.
list
+OK 1 messages:
1 475
.
retr 1
+OK 475 octets
Return-Path: <client@mail.kaguai.net>
X-Original-To: admin@mail.kaguai.net
Delivered-To: admin@mail.kaguai.net
Received: from unknown (unknown [192.168.43.182])
by mail.kaguai.net (Postfix) with SMTP id 3688564BF1
for <admin@mail.kaguai.net>; Sun, 1 Feb 2026 20:52:53 +0700 (WIB)
Subject: Test
Message-Id: <20260201135301.3688564BF1@mail.kaguai.net>
Date: Sun, 1 Feb 2026 20:52:53 +0700 (WIB)
From: client@mail.kaguai.net
Hello World via Telnet
.
quit
+OK Logging out.
Connection closed by foreign host.
Jika sudah berhasil mengirim mail lewat telnet kalian dapat melanjutkan untuk memasang roundcube.
# apt install mariadb-server roundcube -y
*jika sudah ada mariadb cukup skip penginstallan mariadb. Untuk penginstallan roundcube ada beberapa konfigurasi untuk mengatur database. silahkan ikuti seperti gambar ini

Select “Yes” to configure the database

Enter the database password for Roundcube

Confirm the database password for Roundcube
ada juga beberapa konfigurasi yang harus dilakukan secara manual. kalian dapat mengkonfigurasi di file /etc/roundcube/config.inc.php. Di file ini kalian cukup mengubah “$config[‘imap_host’]” menjadi “$config[‘default_host’]” lalu isi domain name mail and. dan juga kita perlu mengubah “$config[‘smtp_host’]” menjadi “$config[‘smtp_server’]” lalu isi menjadi ip server atau ip local dengan port 25. Dan kosongkan value bagian “$config[‘smtp_user’]” dan “$config[‘smtp_pass’]”, sehingga seperti ini:
# nano /etc/roundcube/config.inc.php
...
// IMAP host chosen to perform the log-in.
// See defaults.inc.php for the option description.
$config['default_host'] = "mail.kaguai.net";
// SMTP server host (for sending mails).
// See defaults.inc.php for the option description.
$config['smtp_server'] = '127.0.0.1:25';
// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '';
// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '';
...
lalu kita configure ulang, lakukan seperti pada gambar dibawah ini:
# dpkg-reconfigure roundcube-core

Leave the IMAP server field empty since TLS is not being used

Then select the language for Roundcube

Select “No” if you do not want to reinstall the existing database

Check Apache and uncheck Lighttpd

Select “Yes” to restart the web server

Select “Keep the local version currently installed” to retain the existing Roundcube configuration file.
Selanjutnya kita bisa mengkonfigurasi apache2 agar Mail Server kita dapat tampil di browser menggunakan roundcube.
# cd /etc/apache2/sites-available/
# touch mail.conf
# nano mail.conf
Lalu isi mail conf seperti ini. *sesuaikan dns kalian.
<VirtualHost *:80>
ServerAdmin webmaster@mail.kaguai.net
ServerName mail.kaguai.net
DocumentRoot /usr/share/roundcube
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
setelah itu jalankan command ini:
# a2dissite 000-default.conf
# a2ensite mail.conf
# systemctl reload apache2
Penginstallan, pemasangan dan konfigurasi roundcube sudah selesai. Kalian dapat mencoba langsung dengan membuka di web browser. Lalu login dengan user dan password yang dibuat saat proses pembuatan mail server diawal.

login with user and password

Panel Mail Server
kalian dapat mengirim pesan dengan memilih ‘Compose’ untuk menulis dan mengirim email. Berikut contoh mengirim pesan

Create and Send mail
Di pembuatan mail kalian isi alamat mail recipient, Subject, dan isi mail. Setelah itu kalian dapat menekan button send untuk mengirim email. Kalian juga dapat mengubah id misal dari ‘admin@mail.kaguai.net’ menjadi ‘admin@kaguai.net’ dengan mengubah identities. Seperti ini:

Settings > Identities > Mail User
Disini kalian cukup pergi ke menu setting terus pilih identities dan pilih user mailnya dan dibagian Email kalian ubah Emailnya lalu tekan Save untuk menyimpan perubahan.
Yaps Selesai juga tutor pembuatan mail server menggunakan roundcube, Semoga bermanfaat yaaa Terimakasih.
메타데이터
- post_id
- dc59692bf596
- slug
- membuat-mail-server-dengan-roundcube-di-debian-dc59692bf596
- url
- https://medium.com/@arifkaguai10/membuat-mail-server-dengan-roundcube-di-debian-dc59692bf596
- canonical_url
- https://medium.com/@arifkaguai10/membuat-mail-server-dengan-roundcube-di-debian-dc59692bf596
- author_url
- https://medium.com/@arifkaguai10
- status
- ok
- fetched_at
- 2026-07-18 05:18:37