Mail Server Menggunakan Postfix


1. Disabling sendmail system/sendmail binary.
– Disabling via startup script:
# vim /etc/rc.conf
sendmail_enable=”NONE”
sendmail_flags=”-L sm-mta -bd -q30m”
sendmail_submit_enable=”NO”
sendmail_submit_flags=”-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost”
sendmail_outbound_enable=”NO”
sendmail_outbound_flags=”-L sm-queue -q30m”
sendmail_msp_queue_enable=”NO”
sendmail_msp_queue_flags=”-L sm-msp-queue -Ac -q30m”


– Disable sendmail binary:
# mv /usr/sbin/sendmail /usr/sbin/sendmail.old
# chmod 0 /usr/sbin/sendmail.old
# mv /usr/bin/mailq /usr/bin/mailq.old
# chmod 0 /usr/bin/mailq.old
# mv /usr/bin/newaliases /usr/bin/newaliases.old
# chmod 0 /usr/bin/newaliases.old

Catatan: Jika melakukan “build world” (Update src system), maka
wajib melakukan update file2 binary postfix tersebut.

2. Download postfix dari salah satu mirror, atau silahkan gunakan ports
system untuk *BSD class.

# links http://www.postfix.org/download.html
# whereis postfix
postfix: /usr/ports/mail/postfix

– Ada beberapa pilihan versi yg hendak anda pakai silahkan sesuaikan
dengan kebutuhan anda.

# ls -d /usr/ports/mail/postfix*
/usr/ports/mail/postfix /usr/ports/mail/postfix20
/usr/ports/mail/postfix-current /usr/ports/mail/postfixadmin
/usr/ports/mail/postfix1

– Jika akan menginstall postfix -CURRENT version (Version sekarang):
# cd /usr/ports/mail/postfix-current
# make ; make install ; make clean

– Jika versi yg anda inginkan 2X gunakan cara ini:
# cd /usr/ports/mail/postfix20
# make ; make install ; make clean

– Kalo mendownload secara manual silahkan gunakan cara ini:
# mkdir /usr/local/src
# cd /usr/local/src/
# fetch http://www.mirrorspace.org/postfix/official/postfix-2.1.6.tar.gz
# tar zxvf postfix-2.1.6.tar.gz
# ls README*
# ls INSTALL*

Silahkan baca2 dulu🙂. Tapi saya sarankan menggunakan port untuk
memudahkan instalasinya.

3. Installasi postfix & configurasi postfix.
– Buat username dan group untuk daemon postfix:
# adduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd postdrop
# pw useradd postfix -s /sbin/nologin -g postdrop -d /nonexistent

Jika berniat untuk membangun mailserver support virtual bisa
langsung anda create user/group yg mengurus keperluan itu:
# dduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd virtual
# pw useradd virtual -g virtual -d /home/virtual

– Edit file /etc/postfix/main.cf jika installasi dilakukan dari
tarball, confdir berada di /usr/local/etc/postfix/main.cf jika dilakukan
lewat port.

– Sunting isi dari file2 diatas:
myhostname = example.com
mydestination = $myhostname, localhost.$mydomain
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/

Untuk “myhostname” isi hostname yg FQDN, biasanya nama domain yg
digunakan adalah domain yg nge-handle postfix ini berjalan.
Isi “mydestination” dengan domain target anda biasanya domain local
saja. Isi IP Address/block IP Address (Penggunaan netmask atau prefix)
di “mynetworks” yg anda perbolehkan konek dari LAN anda dipisahkan
dengan tanda “coma”.

– Untuk menangkal spammer biasanya digunakan:
maps_rbl_domains = relays.ordb.org
smtpd_helo_restrictions = reject_maps_rbl, permit_mynetworks

– Menolak domain sender yang tidak mempunyai record A atau MX:
smtpd_sender_restrictions = reject_unknown_sender_domain

Untuk custom memilih sender yang akan direject sesuai dengan
kebutuhan bisa diapply via database hash sebagai contoh:
check_sender_access hash:/etc/postfix/sender_access

– Untuk kebutuhan aliasing bisa menggunakan database hash:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

– Format/type yg dipilih untuk mbox email adalah:
home_mailbox = Maildir/

– Edit untuk keperluan virtual domain:
Untuk keperluan isi type “mailbox_transport” dengan virtual.
mailbox_transport = virtual

Untuk virtual domain silahkan anda isi path yg sesuai dengan home
basenya. Parameter ini digunakan untuk menyimpan seluruh email2 yg
akan dihandle di mesin ini.
virtual_mailbox_base = /home/virtual

Map database yg digunakan untuk keperluan ini, silahkan isi sesuai
dengan rencana anda dimana akan diletakannya.
virtual_mailbox_maps = hash:/etc/postfix/virtual

Isi dengan UID/GID dari user shell virtual, kita check dulu user
virtualnya:
# id virtual
uid=1000(virtual) gid=100(virtual) groups=100(virtual)

Isikan UID/GID-nya di main.cf.
virtual_uid_maps = static:1000
virtual_gid_maps = static:100
virtual_create_maildirsize = yes

Biar support quota Maildir untuk user virtual.
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
virtual_mailbox_limit_override = yes

– Tambahan untuk postfix biar bisa menggunakan/terintegrasi dengan amavis antivirus scanner
content_filter = vscan:

Dan jangan lupa tambahkan baris di /etc/postfix/master.cf:
vscan unix – n n – 10 pipe user=vscan
argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025 inet n – n – – smtpd -o content_filter=

Untuk konfigurasi lainnya biarkan default saja.

– Kemudian bikin email alias yang akan mengurusi hal-hal yang berkaitan dengan urusan teknis
(ganti email @example.com sesuai dengan konfigurasi yang anda inginkan):
# echo “postfix: root” > /etc/aliases
# echo “root : hostmaster@example.com” >> /etc/aliases
# echo “mailer-daemon : mailer-daemon@example.com” >> /etc/aliases
# echo “postmaster : someone@example.com” >> /etc/aliases
etc…

– Generate database yg baru dari file aliases :
# newaliases

– Jalankan daemon postfix :
# /usr/sbin/postfix start # Dari tarball instalasi.
# echo “/usr/sbin/postfix start” >> /etc/rc.local

Untuk port biasanya terbentuk file “postfix.sh”, sunting dulu file
ini untuk lebih bagusnya:
# /usr/local/etc/rc.d/postfix.sh start # Dari port instalasi.

– Jika emang tidak ada masalah biasanya postfix daemon langsung jalan,
ada baiknya check saja:
# tail -f /var/log/maillog
Nov 20 02:31:49 example postfix/postfix-script: starting the Postfix mail system
Nov 20 02:31:49 example postfix/master[2031]: daemon started — version 2.1.6

– Bikin virtual domain yg akan anda handle, dan sebelomnya bikin
folder “example.com” di /home/virtual
# mkdir /home/virtual/example.com
# vim /etc/postfix/virtual
example.com Yeah….

Create user atas nama domain example.com:
user@example.com example.com/user/

Build file tersebut menjadi hash database:
# postmap /etc/postfix/virtual

– Biar support quota user Maildir. Edit file /etc/postfix/vquota
user@example.com 1024000
# postmap /etc/postfix/vquota

Biasanya dengan cara dikirim email atas nama user tersebut, maka secara otomatis akan
terbentuk folder di /home/virtual/example.com/user.

4. Install tpop3d
– Download source tpop3d dan install tpop3d
# cd /usr/local/src
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2.tar.gz
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2-auth-flatfile-broken.patch
# tar -zxvf tpop3d-1.4.2.tar.gz
# cd tpop3d-1.4.2
# patch -p0 < ../tpop3d-1.4.2-auth-flatfile-broken.patch
# ./configure –help | more
# ./configure –enable-auth-flatfile –enable-mbox-maildir
# make ; make install

Atau menggunakan port system:
# cd /usr/ports/mail/tpop3d
# make ; make install ; make clean

– Buat file /etc/tpop3d.conf isinya :
listen-address: IP_ADDRESS_HERE
log-facility: local6
mailbox: maildir:/home/virtual/$(domain)/$(local_part)
auth-flatfile-enable: yes
auth-flatfile-passwd-file: /etc/virtual/$(domain)/passwdPOP3
auth-flatfile-mail-user: virtual
auth-flatfile-mail-group: virtual
append-domain: yes
log-bad-passwords: yes

– Jalankan tpop3d daemon:
# /usr/local/sbin/tpop3d
# echo “/usr/local/sbin/tpop3d” >> /etc/rc.local

atau via *.sh script di /usr/local/etc/rc.d/

– Create file /etc/virtual/example.com/passwdPOP3 untuk menyimpan account POP3:
# mkdir /etc/virtual
# mkdir /etc/virtual/example.com
# cd /etc/virtual/example.com
# htpasswd -c -s passwdPOP3 user

5. Installing Courier-IMAP
– Download source courier-imap & install courier.
# fetch http://www.courier-mta.org/beta/imap/courier-imap-1.7.1.20030319.tar.bz2
# tar -jxvf courier-imap-1.7.1.20030319.tar.bz2
# cd courier-imap-1.7.1.20030319
# ./configure –help | more
# ./configure –enable-workarounds-for-imap-client-bugs –disable-root-check
# make ; make install

Atau menggunaan port system:
# /usr/ports/mail/courier-imap
# make ; make install

– Configurasi courier-imap, standard kita pake module “authuserdb”
saja, module yg lainnya kita hapus saja:
# rm -rf /usr/lib/courier-imap/libexec/authlib/*
# cp authlib/authuserdb /usr/lib/courier-imap/libexec/authlib/
# cp /usr/lib/courier-imap/etc/imapd.dist /usr/lib/courier-imap/etc/imapd
# cp /usr/lib/courier-imap/etc/imapd-ssl.dist /usr/lib/courier-imap/etc/imapd-ssl

– Edit file yg diperlukan:
# vim usr/lib/courier-imap/etc/imapd
ADDRESS=0 menjadi ADDRESS=IP_ADDRESS_YG_DIGUNAKAN
AUTHMODULES=”authdaemon” menjadi AUTHMODULES=”authuserdb”

– Starup script:
# echo “/usr/lib/courier-imap/libexec/imapd.rc start” >> /etc/rc.local

atau, via *.sh kl dari port system di /usr/local/etc/rc.d/.

– Membuat user account imap:
# mkdir /etc/userdb
# chmod 700 /etc/userdb
# userdb -f /etc/userdb/example.com user@example.com set \
home=/home/virtual/example.com/user \
mail=/home/virtual/example.com/user uid=1000 gid=100
# userdbpw -md5 | userdb -f /etc/userdb/example.com \
user@example.com set imappw
# makeuserdb

6. Installing Squirrelmail
– Download sourcenya:
# fetch http://umn.dl.sf.net/sourceforge/squirrelmail/squirrelmail-1.2.11.tar.gz
# tar -zxvf squirrelmail-1.2.11.tar.gz
# cd squirrelmail-1.2.11

Atau dengan sistem port:
# cd /usr/ports/mail/squirrelmail
# make ; make install

– Asalkan sudah terinstall Apache web server dan PHP anda tinggal
copy paste saja ke directory browse-nya.

PS: Untuk versi2 yg dibutuhkan silahkan terlebih dahulu baca
manual2 yg terkait di directory “squirrelmail-1.2.11″.

7. Script untuk memudahkan pengerjaan membuat account email, anda bisa custom/modif
sesuai dengan kebutuhan anda:

#!/bin/sh
# Adding user and quota email in virtual/vquota files.
domain=”example.com”
vquota=”10240000″
echo “Masukan login : ”
read login

echo “$login@$domain $domain/$login/” >> /etc/postfix/virtual
echo “$login@$domain $vquota” >> /etc/postfix/vquota

# Rebuild database postfix.
/usr/sbin/postmap /etc/postfix/virtual
/usr/sbin/postmap /etc/postfix/vquota
/usr/sbin/postmap /etc/postfix/sender_access

# Adduser dan password untuk imap.
adduserargument=”-f /etc/userdb/$domain $login@$domain set
home=/home/virtual/$domain/$login mail=/home/virtual/$domain/$login
uid=1021 gid=1021″

userdb $adduserargument
passwdargument=”-f /etc/userdb/$domain $login@$domain set imappw”

userdbpw -md5 | userdb $passwdargument

makeuserdb

Satu Balasan ke Mail Server Menggunakan Postfix

  1. kerenz mengatakan:

    sudah selesai belum itu mas installnya??? mohon bantuuannya saya mau coba install postfix juga

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: