Install dan Konfigurasi Postfix di Rocky 9

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

ItemNilai
OSRocky Linux 9
Hostnamemail.rafi.lab
Domainrafi.lab
IP Address192.168.14.4/24
KebutuhanAkses 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 = all membuat Postfix listen di semua interface, bukan hanya localhost
  • mydestination menentukan domain yang diterima sebagai tujuan lokal
  • mynetworks menentukan subnet yang boleh relay lewat server ini
  • home_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.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *