MAIL SERVER
Mail server
Installasi Postfix dan Dovecot #
Update repository dan install package postfix.
apt update
apt install postfix dovecot-imapd dovecot-pop3d
Konfigurasi Postfix #
Setelah installasi selesai akan muncul message box, kemudian pilih internet site agar komunikasi email menggunakan protokol SMTP secara langsung.
Selanjutnya masukkan nama domain yang akan digunakan.
Setelah itu, postfix akan menyelesaikan installasinya. Setelah Installasi selesai, edit file di /etc/postfix/main.cf dan tambahkan home_mailbox = Maildir/ pada baris paling bawah.
vi /etc/postfix/main.cf
...
inet_interfaces = all
inet_protocols = all
#tambahkan baris berikut pada baris paling bawah
home_mailbox = Maildir/
buat mail directory di directory /etc/skel
maildirmake.dovecot /etc/skel/Maildir
Setelah itu masukkan perintah berikut
dpkg-reconfigure postfix
Pilih beberapa pilihan dan isikan beberapa input yang akan muncul, sesuaikan dengan topology/konfigurasi sistem dan kebutuhan.
Restart postfix service.
systemctl restart postfix
Konfigurasi Dovecot #
Edit file konfigurasi /etc/dovecot/dovecot.conf.
vi /etc/dovecot/dovecot.conf
Uncomment dan edit baris berikut.
...
# 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.
vi /etc/dovecot/conf.d/10-auth.conf
Uncomment dan ganti dari yes ke no.
...
# 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.
vi /etc/dovecot/conf.d/10-mail.conf
Uncomment pada baris berikut.
...
mail_location = maildir:~/Maildir
...
Beri comment pada baris berikut.
...
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
...
Restart dovecot service.
systemctl restart dovecot
Menambahkan User Email #
Tambahkan beberapa user dan password menggunakan perintah adduser yang akan digunakan untuk user email. Pada percobaan kali ini akan membuat dua user, yaitu satu dan dua.
adduser satu
adduser dua
Restart postfix dan dovecot service.
systemctl restart postfix dovecot
Testing Postfix dan Dovecot menggunakan Telnet #
Install package telnet.
apt install telnet
Test kirim file menggunakan perintah telnet <nama domain> <port> dengan menggunakan port 25 (SMTP). Masukkan nama alamat pengirim menggunakan mail from:. Masukkan nama alamat penerima menggunakan rcpt to:. Ketikkan data lalu enter. Isikan subject dengan megetikkan Subject: <isi subject>. Lalu isikan pesan yang akan dikirim kemudian isikan titik (.) untuk mengakhiri pesan.
telnet mail.contoh.local 25
Trying 192.168.122.146...
Connected to mail.contoh.local.
Escape character is '^]'.
220 debian ESMTP Postfix (Debian/GNU)
mail from: satu@mail.contoh.local
250 2.1.0 Ok
rcpt to: dua@mail.contoh.local
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: Testing
Hello World!
.
250 2.0.0 Ok: queued as 7DEAD11DF
quit
221 2.0.0 Bye
Connection closed by foreign host.
Melihat pesan menggunakan perintah telnet <nama domain> <port>. Login user menggunakan user <nama user>. Dan masukkan password menggunakan pass <password>. Untuk melihat list pesan yang diterima menggunakan perintah list. Dan untuk membuka pesan yang diterima menggunakan perintah retr <nomer pesan>.<br> Perintah quit untuk keluar dari telnet.
telnet mail.contoh.local 110
Trying 192.168.122.146...
Connected to mail.contoh.local.
Escape character is '^]'.
+OK Dovecot (Debian) ready.
user dua
+OK
pass 0909
+OK Logged in.
list
+OK 1 messages:
1 436
.
retr 1
+OK 436 octets
Return-Path: <satu@mail.contoh.local>
X-Original-To: dua@mail.contoh.local
Delivered-To: dua@mail.contoh.local
Received: from unknown (unknown [192.168.122.146])
by debian (Postfix) with SMTP id 7DEAD11DF
for <dua@mail.contoh.local>; Sun, 5 Feb 2023 00:41:33 +0700 (WIB)
Subject: Testing
Message-Id: <20230204174142.7DEAD11DF@debian>
Date: Sun, 5 Feb 2023 00:41:33 +0700 (WIB)
From: satu@mail.contoh.local
Hello World!
.
quit
+OK Logging out.
Connection closed by foreign host.
Konfigurasi Roundcube #
Install Mariadb dan Roundcube #
Install roundcube sebagai webmail yang akan digunakan oleh client, dan package mariadb yang nantinya akan digunakan sebagai database dari roundcube.
apt install mariadb-server roundcube
Pilih yes untuk membuat database secara otomatis oleh roundcube.

Masukkan password database roundcube.


Edit file /etc/roundcube/config.inc.php.
vi /etc/roundcube/config.inc.php
Isikan default host dengan nama domain mail server.
...
// For example %n = mail.domain.tld, %t = domain.tld
$config['default_host'] = 'mail.contoh.local';
...
Ganti smtp server dengan nama domain mail server.
...
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'mail.contoh.local';
...
Ganti smtp port dari 587 ke 25.
...
// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default)
$config['smtp_port'] = 25;
...
Kosongkan value dari smtp user.
...
// will use the current username for login
$config['smtp_user'] = '';
...
Kosongkan value dari smtp password.
...
// will use the current user's password for login
$config['smtp_pass'] = '';
...
Configure ulang roundcube (langkah ini bisa dilewati).
dpkg-reconfigure roundcube-core
Kosongkan karena kita tidak menggunakan tls.

Pilih bahasa untuk roundcube.

Pilih no jika tidak ingin reinstall database yang telah dibuat.

Check pada pilihan apache dan uncheck lighttpd.

Pilih yes untuk merestart web server.

Keep local version jika tidak ingin merubah versi roundcube ke yang lebih terbaru.

Edit apache config untuk memasukkan konfigurasi tambahan dari roundcube ke apache config.
vi /etc/apache2/apache2.conf
Tambahkan pada baris paling bawah.
Include /etc/roundcube/apache.conf
Selanjutnya, masuk ke directory website apache dan tambahkan file baru untuk mail server.
cd /etc/apache2/sites-available
touch mail.conf
vi mail.conf
<VirtualHost *:80>
ServerName mail.contoh.local
DocumentRoot /usr/share/roundcube
</VirtualHost>
Disable apache default config dan enable kan mail config.
a2dissite 000-default.conf
a2ensite mail.conf
Restart apache service.
systemctl restart apache2
Testing #
Selanjutnya buka web browser pada sisi client dan masukkan domain dari mail server, maka akan muncul interface dari roundcube. Lalu login menggunakan salah satu user yang telah dibuat.

Klik pada compose dan isikan pesan untuk user lainnya. Lalu klik send.

Logout dan login ke user penerima, maka akan muncul pesan yang dikirim.

Komentar
Posting Komentar