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.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /etc/aliases # echo “mailer-daemon : mailer-daemon@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /etc/aliases # echo “postmaster : someone@example.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya ” >> /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.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya 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.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya 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.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya 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.comAlamat e-mail ini dilindungi dari spambot, anda harus memampukan JavaScript untuk melihatnya 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

5 Responses to Mail Server Menggunakan Postfix

  1. maspur says:

    maap mas, lagi banyak kerjaan😀
    ntar dech klo dah ada liburan or waktu luang tak nulis yg bener😀 …

  2. pandapotan says:

    ayo mas pur… tetep semangat.

    Ini tutorial bagus. Jadi harus dibenerin.

    Saya tunggu…

  3. feto says:

    nice posting friend..thanks ya atas informasinya..:D

    terima kasih infonya, silakan mampir yaa ke sini dan jika mau arikel menarik lainnya silakan berkunjung ke sini yaaa…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: