Cara Install Postfix dan Cyrus di CentOS

By | August 9, 2015

Server tak dapat mengirim Email yaitu sesuatu banget. Misalnya seseorang mengomentari postingan diwebsite WordPress agan yang memakai VPS atau sesorang order produk via blog agan, tetapi agan tak dapat notifikasi karena email server belum terinstall, nah?. Artikel berikut ini akan menjelaskan strategi pengaturan mail server cara install Postfix dan Cyrus serta MailX di CentOS VPS (Virtual Private Server).

Pengenalan

Mengenai postfix, Postfix yaitu free open source Mail Transfer Agent yang bekerja bagi route dan mengirim email. Sedangkan Cyrus yaitu server yang menolong mengatur email itu sendiri

1. Install Postfix dan Cyrus

Hal pertama-tama yang mesti dilakukan yaitu menginstal postfix dan Cyrus di Virtual Private Server (VPS) dan cara termudah bagi melakukannya yaitu via installer yum.

sudo yum install postfix
sudo yum install cyrus-sasl
sudo yum install cyrus-imapd

Jawab Y seluruh bila ada tampilan pertanyaan. Setelah seluruh komponen telah didownload, berarti postfix dan cyrus berhasil diinstal di mesin VPS agan.

2. Konfigurasi Postfix

Kita akan mengkonfigurasi kedua program secara terpisah.

Pertama-tama, membuka file konfigurasi utama Postfix ini.

sudo vi /etc/postfix/main.cf

File konfigurasi postfix amat bermanfaat dan rinci, memberikan hampir seluruh informasi yang dibutuhkan bagi memperoleh program dan berjalan di VPS Sahabat. Sayangnya ini pun membangun file yang amat panjang.

Kode dibawah ini yaitu konfigurasi yang umum disarankan, copy dan paste informasi di bawah ini bagi mengganti konfigurasi Postfix ketika ini. Jangan lupa bagi mengganti nama domain sesuai domain agan.

soft_bounce             = no
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix

# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody

myhostname = mail.example.com
mydomain = example.com

mydestination = $myhostname, localhost
unknown_local_recipient_reject_code = 550

mynetworks_style = host
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
local_destination_recipient_limit = 300
local_destination_concurrency_limit = 5
recipient_delimiter=+

virtual_alias_maps = hash:/etc/postfix/virtual

header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = pcre:/etc/postfix/body_checks
smtpd_banner = $myhostname

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES

smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client dnsbl.sorbs.net,
permit

smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes

smtpd_helo_required = yes

3. Finalisasi Postfix

Setelah menyeting konfigurasi yang tepat, kita hampir selesai menyiapkan postfix di server virtual.

Bagi mencegah kesalahan, kita mesti menjalankan dua langkah lebih

Didalam konfigurasi kita include-kan virtual aliases dengan line, virtual_alias_maps = hash:/etc/postfix/virtual; sekarang ini kita mesti atur database tersebut.

Buka file konfigurasi:

sudo vi /etc/postfix/virtual

Hapus seluruh teks pada file dan kemudian tambahkan baris berikut, ganti username dan nama domain sesuai dengan keinginan agan:

user@example.com user@example.com

Simpan dan keluar.

Berikutnya ketik kode berikut:

postmap /etc/postfix/virtual

Ini akan mengubah file virtual ke pada tabel, mewujudkan database yang diperlukan bagi postfix agar dapat bekerja.

Gunakan petunjuk ini bagi membangun file baru bagi postfix sebelum mengirim apa pun.

touch /etc/postfix/body_checks

Setelah seluruh itu selesai, berikutnya dengan mengkonfigurasi Cyrus.

4. Configure Cyrus

Langkah pertama-tama yaitu bagi menambahkan file smtpd.conf, yang mendefinisikan otentikasi bagi Postfix / SASL, ke direktori SASL:

sudo vi /etc/sasl2/smtpd.conf

Silakan copy dan paste teks berikut di:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

Simpan dan keluar.

Berikutnya, kita perlu mengkonfigurasi file Cyrus:

sudo vi /etc/imapd.conf

Hapus apa yang terdapat di file ketika ini, dan paste konfigurasi di bawah ini ke file, jangan lupa ubah nama domain, cocokkan dengan nama domain pribadi agan.

virtdomains: userid
defaultdomain: example.com
servername: example.com
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyrus
sievedir: /var/lib/imap/sieve
sendmail: /usr/sbin/sendmail.postfix
hashimapspool: true
allowanonymouslogin: no
allowplaintext: yes
sasl_pwcheck_method: auxprop
sasl_mech_list: CRAM-MD5 DIGEST-MD5 PLAIN
tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt
autocreatequota: -1
createonpost: yes
autocreateinboxfolders: spam
autosubscribeinboxfolders: spam

Simpan dan keluar.

5. Install Mail Client – MailX

Sukses! Agan telah menginstal Postfix dan Cyrus di VPS. Kalau blog agan menggunakan WordPress agan dapat test menggunakan plugin Contact Form atau sejenisnya bagi mencoba mengirim email. Namun bagi test cara pengiriman mail via terminal SSH perlu diinstall program satu lagi yaitu MailX, Karena kedua program ini (Postfix Cyrus) berhubungan dengan penanganan email daripada mengirimnya.

yum install mailx

Setelah Sahabat setuju, dengan cepat mailx akan menyelesaikan instalasi.

Kemudian, bagi mengirim email, ketik petunjuk ini pada terminal, ganti domisili email dengan domisili email yang ingin agan tujukan.

mail user@example.org

Terminal akan meminta baris subjek. Ketik 1, lalu tekan enter. Di baris berikutnya Sahabat dapat mengetikkan pesan Sahabat. Ini hanya akan dikirim bila Sahabat tekan enter, dan ketik titik (.) di baris ahir.

Mail Agan akan terlihat seperti ini:

[root@demoserver  ]# mail user@example.org
Subject: Hello
This is a test message.
Regards,
.
EOT

Selamat-sekarang Agan mempunyai postfix terinstal dan email berjalan. Agan siap bagi menggunakan virtual private server bagi mengirim email.

Selamat mencoba gan, semoga berhasil.

Credit: DigitalOcean


Sumber https://idnetter.com