Pada panduan ini saya akan membahas instalasi Postfix di Rocky Linux 9 dari kondisi fresh install. Targetnya dua, pertama Postfix bisa kirim email antar user lokal, dan lalu ditingkatkan supaya bisa mengirim ke alamat Gmail menggunakan relay smtp.gmail.com. Namun untuk hari ini hanya sampai di antar user lokal saja. Semua perintah dijalankan sebagai root.
Informasi Lab
| Item | Nilai |
|---|---|
| OS | Rocky Linux 9 |
| Hostname | mail.rafi.lab |
| Domain | rafi.lab |
| IP Address | 192.168.14.4/24 |
| Kebutuhan | Akses root, internet |
Sesuaikan hostname dan domain dengan lingkungan kalian.
1. Persiapan Server
Set hostname dan tambahkan mapping di /etc/hosts:
hostnamectl set-hostname mail.rafi.lab
echo "192.168.14.4 mail.rafi.lab mail" >> /etc/hosts
Update sistem:
dnf update -y
(Opsional) Buka port SMTP di firewalld supaya klien lain di jaringan lokal bisa mengirim lewat server ini:
firewall-cmd --add-service=smtp --permanent
firewall-cmd --reload
SELinux biarkan enforcing, Postfix dengan konfigurasi standar tidak bermasalah.
2. Instalasi Postfix
Install Postfix beserta s-nail (pengganti mailx di Rocky 9, menyediakan perintah mail untuk pengujian) dan telnet:
dnf install postfix s-nail telnet -y
systemctl enable --now postfix
Verifikasi:
systemctl status postfix
postconf mail_version
Status service harus active(running).

3. Konfigurasi Dasar Postfix
Ubah parameter utama di /etc/postfix/main.cf. Cara paling aman menggunakan postconf:
postconf -e 'myhostname = mail.rafi.lab'
postconf -e 'mydomain = rafi.lab'
postconf -e 'myorigin = $mydomain'
postconf -e 'inet_interfaces = all'
postconf -e 'inet_protocols = ipv4'
postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
postconf -e 'mynetworks = 127.0.0.0/8, 192.168.14.0/24'
postconf -e 'home_mailbox = Maildir/'
Penjelasan singkat:
inet_interfaces = allmembuat Postfix listen di semua interface, bukan hanya localhostmydestinationmenentukan domain yang diterima sebagai tujuan lokalmynetworksmenentukan subnet yang boleh relay lewat server inihome_mailbox = Maildir/menyimpan email di direktori ~/Maildir tiap user
Cek sintaks lalu restart:
postfix check
systemctl restart postfix
postfix check tidak menampilkan output apa pun jika konfigurasi benar.
4. Uji Kirim Sesama User Lokal
Buat dua user untuk pengujian:
useradd budi
useradd andi
Kirim email dari budi ke andi:
su - budi -c 'echo "Halo Andi, ini tes email lokal" | mail -s "Tes Lokal" andi@rafi.lab'
Cek email masuk di Maildir milik andi:
ls /home/andi/Maildir/new/
cat /home/andi/Maildir/new/*

Cek log pengiriman:
tail /var/log/maillog
Opsional, kalian juga bisa tes lewat sesi SMTP manual:
telnet 192.168.14.4 25

Lalu ketik perintah SMTP berikut satu per satu (enter):
ehlo rafi.lab
mail from: budi@rafi.lab
rcpt to: andi@rafi.lab
data
Subject: Tes via telnet
Halo, ini tes lewat telnet
.
quit

Sampai tahap ini Postfix sudah berfungsi untuk pengiriman antar user lokal.


Leave a Reply