✉ Panduan Praktikum SMK
📧

Konfigurasi Mail Server di Debian 8

Panduan lengkap instalasi Postfix + Dovecot untuk praktik di VirtualBox. Cocok untuk siswa SMK Jurusan TKJ / RPL.

OS: Debian 8 (Jessie)
MTA: Postfix
MDA: Dovecot
VirtualBox: 5.x / 6.x
Mode: CLI / Terminal
💻 Arsitektur Mail Server
Mail Client Thunderbird / Browser SMTP :25/587 DEBIAN 8 SERVER Postfix MTA / SMTP Dovecot MDA / IMAP Mailbox / /var/mail/ Penyimpanan email IMAP :143 Mail Client Baca Email IMAP/POP3
🎯 Tujuan Praktikum
🔐 Port yang Digunakan
LayananPortProtokolFungsi
SMTP25TCPMenerima email dari server lain
SMTP Submission587TCPKirim email dari client
IMAP143TCPBaca email dari client
POP3110TCPUnduh email dari server
HTTP80TCPAkses Webmail via browser
1
Konfigurasi VirtualBox
Setup

Sebelum mulai, pastikan VirtualBox sudah dikonfigurasi dengan benar. Gunakan dua adapter jaringan agar VM bisa diakses dari host.

Spesifikasi VM: RAM minimal 512 MB, HDD 10 GB, OS Debian 8 Jessie (ISO tersedia di debian.org/releases/jessie)
Pengaturan Network VirtualBox
# Adapter 1 — untuk koneksi internet Mode: NAT # Adapter 2 — untuk akses dari host Mode: Host-Only Adapter Name: vboxnet0 # IP yang akan digunakan di lab ini IP Server: 192.168.56.10 Domain: smkku.net
2
Atur IP Statis & Hostname
Konfigurasi

Login ke VM Debian 8 sebagai root, lalu atur alamat IP statis dan hostname agar mail server dapat dikenali di jaringan.

Terminal — Edit network interface
root@debian:~# nano /etc/network/interfaces
📄/etc/network/interfaces
# Loopback interface auto lo iface lo inet loopback # Adapter NAT (eth0) auto eth0 iface eth0 inet dhcp # Adapter Host-Only (eth1) — IP Statis auto eth1 iface eth1 inet static address 192.168.56.10 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255
Terminal — Atur hostname
root@debian:~# echo "mail.smkku.net" > /etc/hostname root@debian:~# hostname -F /etc/hostname
📄/etc/hosts — tambahkan baris ini
127.0.0.1 localhost 192.168.56.10 mail.smkku.net mail
Terminal — Restart networking & verifikasi
root@debian:~# service networking restart root@debian:~# ifconfig eth1 root@debian:~# ping -c 3 192.168.56.10
Terminal — Update sistem Debian
root@debian:~# apt-get update root@debian:~# apt-get -y upgrade
3
Tambah User Email
Setup

Buat dua user sistem Linux yang akan digunakan sebagai akun email. Setiap user Linux otomatis mendapat mailbox.

Terminal — Buat user email
# Buat user pertama root@debian:~# adduser siswa1 # Masukkan password, misal: Smk@2024 # Buat user kedua root@debian:~# adduser siswa2 # Masukkan password, misal: Smk@2024
💡 Nantinya email user pertama adalah siswa1@smkku.net dan user kedua siswa2@smkku.net
4
Instalasi Postfix (MTA)
Instalasi

Postfix adalah Mail Transfer Agent (MTA) yang bertugas mengirim dan menerima email menggunakan protokol SMTP. Ini adalah komponen inti mail server.

Terminal — Instalasi Postfix
root@debian:~# apt-get -y install postfix
Saat instalasi muncul dialog konfigurasi. Pilih "Internet Site" kemudian masukkan smkku.net sebagai System mail name.
💡 Jika dialog tidak muncul, jalankan: dpkg-reconfigure postfix
5
Konfigurasi main.cf Postfix
Konfigurasi

File utama konfigurasi Postfix adalah /etc/postfix/main.cf. Pastikan parameter berikut sudah benar.

Terminal — Edit konfigurasi Postfix
root@debian:~# nano /etc/postfix/main.cf
📄/etc/postfix/main.cf — parameter penting
# Nama hostname server myhostname = mail.smkku.net # Nama domain yang dilayani mydomain = smkku.net # Nama yang tampil di email header (From:) myorigin = $mydomain # Interface yang didengarkan (all = semua interface) inet_interfaces = all # Domain yang diterima emailnya (lokal) mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # Format penyimpanan mailbox (Maildir) home_mailbox = Maildir/ # Batas ukuran mailbox (100MB) mailbox_size_limit = 102400000 # Batas ukuran pesan yang dikirim (10MB) message_size_limit = 10240000 # Jaringan yang dipercaya untuk relay mynetworks = 127.0.0.0/8, 192.168.56.0/24 # Protokol yang digunakan inet_protocols = ipv4
Terminal — Restart & cek status Postfix
root@debian:~# service postfix restart root@debian:~# service postfix status root@debian:~# netstat -tlnp | grep :25
💡 Jika muncul LISTEN di port 25, berarti Postfix berhasil berjalan!
6
Instalasi Dovecot (IMAP/POP3)
Instalasi

Dovecot adalah Mail Delivery Agent (MDA) yang menyediakan akses IMAP dan POP3 agar client bisa membaca email dari server.

Terminal — Instalasi Dovecot
root@debian:~# apt-get -y install dovecot-imapd dovecot-pop3d
7
Konfigurasi Dovecot
Konfigurasi

Edit file konfigurasi utama Dovecot untuk mengaktifkan IMAP, POP3, dan menyesuaikan format mailbox dengan Postfix.

Terminal — Edit konfigurasi utama
root@debian:~# nano /etc/dovecot/dovecot.conf
📄/etc/dovecot/dovecot.conf
# Aktifkan protokol IMAP dan POP3 protocols = imap pop3 # Izinkan login plain (untuk lab, tanpa SSL) disable_plaintext_auth = no # Interface yang didengarkan listen = *
Terminal — Edit konfigurasi mail location
root@debian:~# nano /etc/dovecot/conf.d/10-mail.conf
📄/etc/dovecot/conf.d/10-mail.conf — cari dan ubah baris ini
# Format mailbox harus sama dengan Postfix (Maildir) mail_location = maildir:~/Maildir # Namespace (biarkan default, uncomment jika perlu) namespace inbox { inbox = yes }
Terminal — Edit konfigurasi autentikasi
root@debian:~# nano /etc/dovecot/conf.d/10-auth.conf
📄/etc/dovecot/conf.d/10-auth.conf
# Izinkan login tanpa enkripsi (untuk lab) disable_plaintext_auth = no # Mekanisme autentikasi auth_mechanisms = plain login
Terminal — Restart Dovecot & cek port
root@debian:~# service dovecot restart root@debian:~# netstat -tlnp | grep -E "143|110"
💡 Port 143 (IMAP) dan 110 (POP3) harus dalam status LISTEN
8
Instalasi Apache & PHP
Instalasi

Roundcube adalah webmail berbasis PHP. Sebelum menginstal Roundcube, kita perlu Apache web server dan PHP beserta modul yang dibutuhkan.

Terminal — Instalasi Apache & PHP
root@debian:~# apt-get -y install apache2 php5 php5-mysql \ php5-mcrypt php5-intl php5-pspell \ php-mail-mime php-net-smtp php5-curl \ mysql-server mysql-client libapache2-mod-php5
Selama instalasi MySQL, Anda akan diminta membuat root password. Catat baik-baik, misal: root123
9
Instalasi Roundcube Webmail
Instalasi

Roundcube adalah antarmuka webmail yang populer dan mudah digunakan. Tersedia di repositori Debian.

Terminal — Instalasi Roundcube
root@debian:~# apt-get -y install roundcube roundcube-mysql
Saat ditanya "Configure database for roundcube with dbconfig-common?" pilih Yes, lalu masukkan password MySQL root yang tadi dibuat.
10
Konfigurasi Roundcube & Apache
Konfigurasi

Konfigurasikan Roundcube agar terhubung ke Postfix dan Dovecot, lalu buat virtual host Apache untuk akses webmail.

Terminal — Edit konfigurasi Roundcube
root@debian:~# nano /etc/roundcube/config.inc.php
📄/etc/roundcube/config.inc.php — bagian penting
// Server IMAP (Dovecot) $config['default_host'] = 'localhost'; // Port IMAP $config['default_port'] = 143; // Server SMTP (Postfix) $config['smtp_server'] = 'localhost'; // Port SMTP $config['smtp_port'] = 25; // Nama produk yang tampil di webmail $config['product_name'] = 'SMK Mail'; // Nama domain default (opsional) $config['username_domain'] = 'smkku.net';
Terminal — Aktifkan Roundcube di Apache
root@debian:~# nano /etc/apache2/conf-enabled/roundcube.conf
📄/etc/apache2/conf-enabled/roundcube.conf
# Tambahkan baris Alias ini Alias /webmail /var/lib/roundcube <Directory /var/lib/roundcube> Options -FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory>
Terminal — Restart Apache
root@debian:~# service apache2 restart
🌐 Akses webmail dari browser komputer host: http://192.168.56.10/webmail
11
Uji Kirim Email via Terminal
Pengujian

Gunakan perintah mail atau telnet untuk menguji pengiriman email dari terminal.

Terminal — Install mailutils & kirim email
root@debian:~# apt-get -y install mailutils # Kirim email dari siswa1 ke siswa2 root@debian:~# su - siswa1 siswa1@mail:~$ mail siswa2@smkku.net Subject: Halo dari siswa1 Ini adalah email pertama saya! # Tekan Ctrl+D untuk kirim
Terminal — Cek email masuk di siswa2
root@debian:~# su - siswa2 siswa2@mail:~$ mail # Ketik nomor email untuk membacanya, misal: 1 # Ketik q untuk keluar
Terminal — Cek folder Maildir secara manual
root@debian:~# ls -la /home/siswa2/Maildir/new/ root@debian:~# cat /home/siswa2/Maildir/new/*
12
Uji via Telnet SMTP
Pengujian

Telnet ke port 25 adalah cara klasik untuk menguji SMTP secara manual. Pahami setiap perintah SMTP yang digunakan.

Terminal — Uji SMTP via Telnet
root@debian:~# telnet localhost 25 # Server merespons dengan kode 220 220 mail.smkku.net ESMTP Postfix (Debian/GNU) # Perkenalkan diri EHLO mail.smkku.net # Isi pengirim MAIL FROM: siswa1@smkku.net # Isi penerima RCPT TO: siswa2@smkku.net # Mulai isi pesan DATA # Tulis header dan isi pesan Subject: Test SMTP Manual From: siswa1@smkku.net To: siswa2@smkku.net Halo! Ini email test via SMTP manual. # Ketik titik (.) di baris kosong untuk kirim . QUIT
13
Uji Webmail Roundcube
Pengujian

Buka browser di komputer host dan akses Roundcube untuk menguji antarmuka webmail secara visual.

🌐 Buka browser → ketik URL: http://192.168.56.10/webmail
📋Langkah login Roundcube
1. Username: siswa1 (atau siswa1@smkku.net) 2. Password: Smk@2024 3. Klik: LOGIN # Untuk kirim email: 4. Klik Compose → isi To, Subject, Body 5. Klik Send
💡 Coba kirim dari siswa1@smkku.net ke siswa2@smkku.net, lalu login sebagai siswa2 untuk memverifikasi email diterima.
14
Troubleshooting & Cek Log
Penting

Jika ada masalah, periksa log sistem. Log adalah sumber informasi utama untuk mendiagnosis kesalahan konfigurasi.

Terminal — Cek log Postfix
root@debian:~# tail -f /var/log/mail.log root@debian:~# grep "postfix" /var/log/syslog | tail -20
Terminal — Cek status semua layanan
root@debian:~# service postfix status root@debian:~# service dovecot status root@debian:~# service apache2 status root@debian:~# service mysql status
Terminal — Cek semua port aktif
root@debian:~# netstat -tlnp | grep -E "25|110|143|80"
Masalah umum: Jika Postfix tidak bisa kirim email, pastikan baris home_mailbox = Maildir/ ada di main.cf dan direktori ~/Maildir sudah dibuat untuk setiap user.
Terminal — Buat Maildir manual jika belum ada
root@debian:~# maildirmake /home/siswa1/Maildir root@debian:~# maildirmake /home/siswa2/Maildir root@debian:~# chown -R siswa1:siswa1 /home/siswa1/Maildir root@debian:~# chown -R siswa2:siswa2 /home/siswa2/Maildir