Jumat, 12 Oktober 2012

Membuat DNS Server di Ubuntu 11.04 Server

Halo agan2 semua akhirnya kita jumpai lagi ya ... ^_^ setelah beberapa hari ini saya sibuk di dunia nyata .. .. .. Hehee

Kali ini saya akan coba mengshared tentang bagaimana cara membuat DNS Server di Ubuntu 11.04.
Oke langsung saja ya ...
 
Pada pembahasan kali ini saya akan memberi ip komputer kita dengan 10.17.9.33 dimana domain yang akan kita buat adalah jarkom.com
Langkah Pertama, Yaitu 
  • Install BIND9 dengan menggunakan perintah berikut ini : 
$sudo apt-get install bind9
     Catatan : pastikan terlebih dahulu komputer kita telah terkoneksi internet
  • Selanjutnya kita akan melakukan konfigurasi file bind, disini kita akan membuat zona domain    dengan nama jarkom.com. Adapun perintah yang digunakan yaitu :
$sudo nano /etc/bind/named.conf.local
  • Kemudian didalamnya edit isinya menjadi seperti berikut :
# zona jarkom.com
zone "jarkom.com" {
   type master;
   file "/etc/bind/zones/jarkom.com.db";
};
# DNS reverse
zone "9.17.10.in-addr.arpa" {
   type master;
   file "/etc/bind/zones/jarkom-rev.db";
};
  • Setelah selesai, tahap selanjutnya kita akan membuat DNS Forwarding, dengan menggunakan perintah :
$sudo nano /etc/bind/named.conf.options

Kemudian isikan IP DNS ISP atau Server yang sudah ada
 
forwarders {
   10.10.1.1;
};
  • Tahap berikutnya kita akan mengedit file resolv.conf yang ada di etc dimana nanti di dalamnya akan kita isikan ip komputer yang sudah diinstall di DNS. Disini saya menggunakan IP 10.17.9.33. Selanjutnya gunakan perintah berikut untuk melakukan konfigurasi :
$ sudo nano /etc/resolv.conf

Kemudian ganti isinya menjadi seperti berikut :

search jarkom.com
nameserver 10.17.9.33
  • selanjutnya kita akan memdefinisikan zona, langkah pertama yang kita lakukan adalah kita akan membuat terlebih dahulu direktori zones.
  • adapun perintah yang akan kita gunakan yaitu
$sudo mkdir /etc/bind/zones

setelah selesai membuat direktori zones, selanjutnya kita akan mengedit isi dari direktori tersebut dengan menggunakan perintah berikut :
$sudo nano /etc/bind/zones/jarkom.com.db
  • Kemudian ganti isinya menjadi seperti ini :
$TTL 3D
@ IN SOA ns.jarkom.com. admin.jarkom.com. (
   20121010
   28800
   3600
   604800
   38400
);
jarkom.com                IN        NS                   ns.jarkom.com.
@                                 IN        NS                   jarkom.com.
@                                 IN        A                     jarkom.com.
5CA                             IN        A                     10.17.9.33
                                    TXT                            "Network Gateway"
  • Adapun penjelasan dari isi diatas yaitu TTL3D(Time To Live) disetting untuk 3 hari. ns.jarkom.com sebagai nameserver mendefinisikan ubuntudesktop and gateway sebagai A record. Dan www sebagai alias dari ubuntudesktop menggunakan CNAME
  • Kemudian kita akan membuat file “jarkom-rev.db” yang nantinya akan kita gunakan untuk reverse lookup. Adapun perintah yang akan kita gunakan yaitu :
$sudo nano /etc/bind/zones/jarkom-rev.db 

Kemudian edit isinya menjadi seperti ini
$TTL 3D
@       IN      SOA     ns.jarkom.com. admin.jarkom.com. (
                2007062001
                28800
                604800
                604800
                86400
)
            IN      NS      ns.jarkom.com.
33        IN      PTR     gw.jarkom.com.
  • Akhirnya agan2 konfigurasi kita telah selesai, selanjutnya kita akan aktifkan BINDnya dengan menggunakan perintah restart seperti berikut ini :
$sudo /etc/init.d/bind9 restart 

Jika selesai dan mendapatkan balasan OK berarti konfigurasi agan2 berhasil tetapi jika agan2 mendapatkan tulisan failed berarti konfigurasi agan2 sekalian ada yang salah dan silahkan cek lagi konfigurasinya dari awal ^_^.
  • Selanjutnya agan2 bisa periksa dan test hasil instalasi dan konfigurasinya, dengan menggunakan perintah berikut.
$netstat --listening | more
$nmap 5CA.jarkom.com
$ dig 5CA.jarkom.


Nah jika agan2 sekalian selamat mencoba ya .... ^_^ semoga bermanfaat ni
hehehe
READ MORE - Membuat DNS Server di Ubuntu 11.04 Server

Minggu, 07 Oktober 2012

Membuat Mail Server dengan MDaemon

Server MDaemon Messaging adalah pemimpin dalam keamanan email menggunakan pendekatan berlapis (dengan SecurityPlus untuk MDaemon) menawarkan perlindungan proaktif terhadap email-borne ancaman spam, virus, dan phishing. MDaemon Server Messaging menggunakan teknik otentikasi email canggih menjamin By Reference (VBR) dan memvalidasi dan pesan tanda-tanda menggunakan DKIM, DK, Sender-ID, dan SPF.

Fitur atau Kemampuan Mdaemon

MDaemon Server Messaging mendukung sebagian besar perangkat mobile dengan akses ke email, kalender, dan kontak. Untuk organisasi yang ingin kesederhanaan, keterjangkauan, dan kompatibilitas antara server email on-premise dan mereka smartphone BlackBerry, MDaemon termasuk dukungan untuk BlackBerry ® push email dengan pengalaman manajemen mulus. Pengguna MDaemon dapat mengikuti antarmuka pengguna yang sederhana dan intuitif untuk cepat set-up dan menerima mendorong pengiriman email dari server mail ke smartphone BlackBerry favorit mereka.
 
Proses Instalasi Mdaemon
 
langkah-langkah atau cara menginstall MDaemon. Pada contoh ini MDaemon yang digunakan adalah MDaemon versi 11.0.3.
  1. Download setup file dari Web site alt-n.com
  2. Jalankan setup program yang telah anda download (md_en.exe untuk setup berbahasa inggris)
  3. Klik Run pada security warning dialog box (jika muncul security warning ini). Akan muncul  jendela Welcome to MDaemon.
  4. Klik tombol Next pada jendela Welcome to MDaemon.
  5. Klik check box I have read and I agree with all the terms of this licence agreement, lalu klik tombol Next.
  6. Klik tombol Next pada jendela Select Destination Directory jika default directory tidak akan diubah.
  7. Klik Next pada jendela Customer Information, akan muncul form isian data customer information. (Ada 3 tahap).
  8. Pilih nama negara dari combo box (1 of 3) lalu klik tombol Next
  9. Isi data Customer Information (2 of 3) lalu klik tombol Next.
  10. Lanjutkan pengisian data Customer Information (3 of 3), klik Next
  11. Klik Next pada Register Information.
  12. Klik Next pada jendela Ready to Instal. Proses instalasi akan berjalan.
  13. Klik tombol Finish
  14. Selesai.
Sistem operasi Mdaemon
 
Instalasi Mail Server MDaemon v12.5.6 di Windows XP
 
Berikut adalah langkah langkah untuk setup Mail Server MDaemon pada windows XP.
  • Pastikan anda memiliki 1 buah IP Public, IP Public bisa di minta kepada ISP anda.
  • Pastikan juga anda memliki domain (contoh : namakamu.com) yang telah di arahkan ke IP public kamu, mintalah kepada penjual domain untuk mengarahkannya.
  • Download MDaemon Trial 30hari disini kemudian lakukan installasi dan ikuti step by step.
  • Saat diminta memasukkan domain name, isilah dengan nama domain yang anda miliki (contoh lihat gambar)
  • Anda akan diminta membuat 1 account email saat installasi.
  • Setelah installasi selesai jalankan program mdaemon dan masuk ke menu setup –> default domain/server
  • Pilih menu Delivery di bagian kiri, dan isi server sbb, karena saya menggunakan ISP speedy saya menggunakan smtp.telkom.net
  • Kemudian pada menu DNS isikan nomor IP server email, dan DNS ISP, IP Modem ADSL, saya juga menambahkan DNS google dan OpenDNS
  • Kemudian klik tombol Edit MX cache file, lihat gambar dibawah, setelah itu save.
  • Setelah itu coba untuk membuat account baru melalui menu Account – New account
  • Setting email client (Thunderbird) untuk add account baru
  • Setelah itu test kirim email ke account yg baru kamu buat, jika berhasil selanjutnya kita akan setting agar bisa mengirim dan menerima email dari luar.
  • Pertama-tama setting firewall windows untuk melewatkan port 143, 25, 587, 465 dengan cara klik kanan pada icon network kemudian pilih change windows firewall setting
  • Pilih tab exceptions dan pilih add port, masukkan satu persatu port yang akan kita lewatkan.
  • Setelah itu kita akan setting port forwading pada modem ADSL kita, biasa setting dilakukan pada bagian NAT – Virtual Server (saya menggunakan modem SMC)
  • Selesai, agan2 sekarang sudah bisa menerima ataupun mengirim email ke luar (yahoo, gmail,  dll)
Semoga bermanfaat.

READ MORE - Membuat Mail Server dengan MDaemon

Mail Server dengan HMail

Untuk urusan pekerjaan/kantor biasanya administrator jaringan tidak akan sembarangan menggunakan email gratisan seperti yahoo mail ataupun google mail. 

Hal ini dikarenakan biasanya ada beberapa rahasia perusahaan dan informasi vital lainnya yang mungkin kurang/tidak perlu diketahui oleh publik. Selain itu kecepatan dan kepastian sampai atau diterimanya sebuah email bagi perusahaan sangat penting nilainya.

Pada pertemuan kali ini agan2 sekalian kita akan mencoba membahas cara singkat dan mudah bagaimana membangun mail server sendiri pada windows. Adapun beberapa software yang kita butuhkan yaitu :

1.    Xampp/lampp/wampp/IIS/web-server lainnya.
2.    Microsoft SQL Server/MySQL/PostgreSQL/database lainnya.
3.    NetFramework 2.0
4.    Windows Installer 3.1

Adapun mail server yang akan kita gunakan disini adalah program HMail Server. HMail server adalah sebuah program simulasi untuk mail server khusus pengguna windows. 

Program ini gratis jadi gak perlu kuatir dikemudian hari akan terkena masalah lisensi. Kalau kita merasa terbantu dengan program ini kita boleh memberikan kontribusi bantuan berupa donasi uang atau bantuan lainnya. ^_^

Ada beberapa fitur yang terdapat pada HMail Server ini antara lain : POP3, SMTP, IMAP, Virtual Domains, Built-in Backup, SSL encryption, Anti-Spam, Anti Virus, Scripting, Server-Side Rules, Multilingual, Routing, MX Backup, Multihoming, SQL backend, Web administrator.

Oke langsung saja ya, langkah awal sebelum memulai yaitu kita akan terlebih dahulu mendownload NetFramework dan Windows Installer (jika windows tidak update), setelah itu di install kemudian restart tuh komputernya. ^_^

Langkah berikutnya kita download dan install HMailServer, kemudian kita konfigurasi databasenya. Pada contoh dibawah saya menggunakan database MySQL.


Langkah berikutnya kita download dan install xampp/lampp/IIS atau web-server yang lainnya. Terserah agan2 sih sukanya yang mana ^_^.


Langkah berikutnya kita buka folder default dari HMailServer yaitu \Program Files\HMailServer\PHPWebAdmin kemudian kita cari file dengan nama config-dist.php, kopi file ini kemudian rubah namanya menjadi config.php


Buka file config.php dengan text editor kesukaan agan2 sekalian kemudian rubah beberapa bagian yang saya beri tanda.


Langkah berikutnya kita perlu membuat alias pada XAMPP agar bisa menuju ke Hmail web administrator. Saya tidak tau defaultnya untuk xampp versi terbaru karena saya menggunakan xampp versi lama. Intinya agan2 sekalian cara saja sendiri file konfigurasinya pada folder xampp yang memiliki konfigurasi alias.


Kemudian tambahkan alias pada file konfigurasi tersebut sesuai dengan keinginan kalian pada bagian yang saya beri tanda.


Langkah berikutnya mencoba konfigurasi hmailserver melalui web-server ketikkan alamat ip ditambahkan /hmail (atau lainnya sesuai konfigurasi agan masing-masing)


Kalau kalian sudah biasa manajemen domain maka konfigurasi pada hmailserver akan sangat mudah dipahami dan tidak akan menemui kesulitan.


Nah agan2 untuk pengembangan berikutnya silahkan kalian pelajari sendiri. Saya rasa sudah cukup jelas artikel ini ^_^ oke selamat berjuang ya . . . .
READ MORE - Mail Server dengan HMail

Membangun Mail Server dengan Zimbra

Zimbra adalah software open source untuk email server dan kolaborasi (groupware), yang menyediakan solusi email server yang powerful.

Selain itu juga zimbra server tersedia untuk sistem operasi linux, mac os x dan platform virtualisasi. Zimbra menggunakan klien ajax web 2.0 yang dapat dijalankan pada browser firefox, safari dan internet explorer (6.0+) dan ie serta mudah diintegrasikan dengan portal web API, aplikasi bisnis dan VoIP menggunakan web services.

Selain itu juga Zimbra terdiri dari beberapa gabungan software open source, yaitu : Postfix, MySQL, OpenLDAP, Anti Virus Clamav dan Anti Spam SpamAssassin.

Kemampuan utama dari zimbra bukan hanya untuk kolaborasi, melainkan juga mengintegrasikan semua fitur yang ada di dalamnya dengan sistem lain, seperti ERP (enterprise resource planning), CRM (customer relation management), ataupun aplikasi yang dikembangkan sendiri.

Dengan menggunakan zimbra memungkinkan melakukan pengelolaan jadwal kerja tim (shared calendaring), pengaturan tugas-tugas (to-do list management), yang semuanya berbasis teamwork ataupun mengelola mailing list.

Instalasi zimbra

Zimbra  Collaboration  Suite dapat  di  download  dari  situsnya  langsung  zimbra.com.  Hasil
download letakkan di directory misal /home/repo-ubuntu.
Edit konfigurasi berkas /etc/host dengan perintah


Tambahkan  baris  berikut,  sesuaikan  alamat  IP  dan  nama  host  dengan  konfigurasi  yang
dimiliki.


Sebelum memulai instalasi ZCS terlebih dahulu kita harus install beberapa paket dependensi
yang dibutuhkan, jalankan perintah berikut dari terminal.



setelah  dependensi  terpasang  maka  sebelum  install  Zimbra  lakukan  copy  paket  Zimbra  ke
direktori setelah itu ekstrak file instalasi ZCS.




dilanjutkan dengan menjalankan skrip install ZCS


di  awal  installasi  kita  harus  menyetujui  End  User  License  Agreement ZCS  untuk  dapat
melanjutkan instalasi.



Setelah itu pilih paket-paket apa saja yang harus di install selama proses instalasi ZCS, ketik Y
untuk  menginstal  suatu  paket.  Beberapa  paket  yang  harus  kita  install  adalah  zimbra-ldap,
zimbra-logger, zimbra-mta, zimbra-snmp, zimbra-store, zimbra-apache, dan zimbra-spell.



Setelah memilih paket yang akan di install akan muncul pertanyaan konfirmasi yang harus di jawab dengan Y.


Instalasi akan berlangsung beberapa saat.



Berikutnya ZCS akan memeriksa konfigurasi server DNS yang digunakan apakah sudah sesuai
dengan  persyaratan  atau  belum.  Jika  terjadi  kesalahan  maka  akan  ditawarkan  untuk
melakukan modifikasi pada konfigurasi domain di DNS.



Instalasi paket-paket selesai, waktunya melakukan konfigurasi untuk user admin.


Dari  main  menu  ketik  3  untuk  memilih  konfigurasi  zimbra-store  yang  didalamnya  untuk
konfigurasi user admin.
Berikutnya pilih 4.


Isikan  password  untuk  user  admin  ZCS.  Password  ini  nantinya  akan  digunakan  untuk user
admin melakukan konfigurasi ZCS, membuat user baru, dsb.



Kembali ke menu sebelumnya dengan menekan enter.

Konfigurasi  ZCS  telah  selesai,  ketik a untuk  menerapkan  konfigurasi.  Jawab  yes  untuk
menyimpan  data  konfigurasi  ke  file.  Lanjutkan  instalasi  dengan  menjawab  yes  pada
perubahan system.


Berikut  ZCS  akan  meminta  konfirmasi  untuk  mengirimkan  data  instalasi  ke  pengembang
Zimbra. Opsi ini tidak wajib, dapat dijawab No disini.
Dan tunggu zimbra mengkonfigurasi sistem sampai selesai.

Pengujian Instalasi Zimbra

Hasil  instalasi  zimbra  akan  membentuk  sebuah  direktori  /opt/zimbra,  yang  berisi  file
konfigurasi dan perintah. Untuk menguji hasil instalasi zimbra, dapat menjalankan perintah.


Setelah semuanya selesai, Anda bisa mengakses halaman web adminnya di browser dengan
mengetik  alamat http://mail.jarkom.net.  Login  dengan  user  admin  yang  dibuat  saat
instalasi.


Jika  lahin  dengan  benar  maka  akan  mendapat  antarmuka  ZCS  berbasis  web  layaknya
layanan email di internet.


Untuk melakukan login zimbra melalui terminal dapat dialkukan dengan perintah


Untuk melakukan start,stop,dan/atau restart ZCS jalankan perintah pada terminal.


READ MORE - Membangun Mail Server dengan Zimbra

Mail Server dengan Postfix


Oke agan2 sekalian jumpa lagi kita hari ini ^_^.
Kali ini kita akan membahas cara membuat mailserver berbasiskan posfix dan courier dengan memanfaatkan mysql sebagai penyimpan data username & password bagi tiap-tiap user.

Tetapi terlebih dahulu seperti biasa saya akan menjelaskan sedikit kepada agan2 sekalian mengenai posfix. Posfix adalah mail transfer agent bebas dan terbuka. Posfix merupakan mail transfer agent default untuk sejumlah sistem operasi bertipe unix. 

Posfix pada awalnya dibuat oleh Wietse Venema sewaktu ia bekerja di IBM Thomas J. Watson Research Center, dan sampai sekarang masih aktif dikembangkan. Posfix pertama kali dirilis pada pertengahan 1999. 

Posfix dibuat dengan sistem jaringan daemon dimana setiap daemon hanya mengerjakan satu tugas dengan menggunakan akses minimum ke sistem. Dengan begitu, jika ada satu daemon yang bermasalah maka hanya akan memengaruhi daemon tersebut.

Beberapa Fitur yang dimiliki oleh Posfix, yaitu :
  • Performance. Posfix mampu melayani sejuta email dalam sehari.
  • Kompatibilitas. Posfix sangat kompatibel dengan sendmail (yang banyak digunakan orang sebagai MTA di UNIX).
  • Terdiri dari beberapa program kecil yang saling tidak percaya. Jika sendmail hanya mempunyai satu program besar dan satu file konfigurasi besar, maka Posfix memiliki program-program kecil yang menjalankan tugasnya secara spesifik.
  • Keamanan. Posfix dijalankan dengan proteksi bertingkat, oleh program-program kecil yang saling tidak percaya. Masing-masing program dijalankan oleh user khusus (bukan setuid).
  • Multiple Transport. Posfix dapat mengirim surat dengan modus SMTP (Simple Mail Transfer Protocol) dan UUCP (Unix to Unix Copy Protocol) sekaligus.
  • Mendukung format maildir. Maildir adalah format boks penyimpanan surat dalam bentuk folder dari pada berbentuk satu fila (mbox).
  • Kemudahan konfigurasi. Meskipun posfix terdiri dari banyak program kecil, namun hanya memiliki satu file konfigurasi yang mudah untuk diseting yakni /etc/postfix/main.cfg

Oke agan2 sekalian langsung aja ya kita mulai, berikut yang harus dilakukan agan2 sekalian :

Install paket-paket yang diperlukan

Paket yang diperlukan dalam tutorial ini antara lain :
Untuk Mengirim email (SMTP) : postfix (Pilih: “Local only”), postfix-tls, postfix-mysql, postfix-doc
Untuk Database user : mysql-client-5.0, mysql-server-5.0
Untuk menerima email (POP3 & IMAP) : courier-base (Pilih: “No”), courier-authdaemon, courier-authlib-mysql, courier-pop, courier-pop-ssl, courier-imap, courier-imap-ssl
Untuk Keamanan Pengiriman dan Penerimaan email : libsasl2, libsasl2-modules, libsasl2-modules-sql, openssl
Untuk Mencegah Virus dan Spam : amavisd-new, spamassassin, clamav, clamav-daemon, zoo, unzip, lha
Untuk tampilan WebMail : squirrelmail, phpmyadmin
Untuk testing tools : telnet
root@bajoel:~#apt-get install postfix postfix-tls postfix-mysql postfix-doc mysql-client-5.0 mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2 libsasl2-modules libsasl2-modules-sql openssl amavisd-new spamassassin clamav clamav-daemon zoo unzip lha squirrelmail phpmyadmin telnet

Membuat user, database, dan tabel yang diperlukan pada mysql

Tambahkan database dan tabel-tabel baru pada mysql anda sebagai berikut
root@bajoel:~#mysql -u root -p
password:
mysql>CREATE DATABASE mail;
mysql>CREATE USER 'mailadmin'@'localhost' identified by 'passwordanda';
mysql>USE mail;
mysql>CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
mysql>CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
mysql>CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) )
TYPE=MyISAM;
mysql>GRANT all ON mail.* TO 'mailadmin'@'localhost';

Membuat file2 baru sebagai penunjuk ke database mysql

Buat file baru dg nama mysql-virtual_domains.cf yg berisi :
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_domains.cf
user = mailadmin
password = passwordanda
dbname = mail
table = domains
select_field = 'virtual'
where_field = domain
hosts = 127.0.0.1
Buat file baru dg nama mysql-virtual_forwardings.cf yg berisi :
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_forwardings.cf
user = mailadmin
password = passwordanda
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1
Buat file baru dg nama user mysql-virtual_mailboxes.cf yg berisi :
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_mailboxes.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
where_field = email
hosts = 127.0.0.1
Buat file baru mysql-virtual_email2email.cf yang berisi :
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_email2email.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = email
where_field = email
hosts = 127.0.0.1
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/mysql-virtual_*.cf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf

Membuat user baru pada system kita sebagai administrator-email

User ini bertugas untuk membuat maildir baru setiap ada user baru yang mendaftar pada mailserver anda
root@bajoel:~#groupadd -g 5000 mail-admin
root@bajoel:~#useradd -g mail-admin -u 5000 mail-admin -d /home/mail -m
root@bajoel:~#mkdir /home/mail
root@bajoel:~#chown -R mail-admin:mail-admin /home/mail
root@bajoel:~#chmod -R u=rwx,g=,o= /home/mail

Mengkonfigurasi postfix sbg server SMTP

Edit file main.cf (ini adalah file konfigurasi utama dari postfix) menjadi :
root@bajoel:~#mcedit /etc/postfix/main.cf
inet_interfaces = all
myhostname = mail.domain-anda.org (fqdn)
mydestination = (jangan menuliskan virtual domain disini -> lebih baik dikosongi saja)
mynetworks = lqman.org (nama domain anda)
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
Testing…
Restart service postfix
root@bajoel:~#/etc/init.d/postfix restart
root@bajoel:~#postfix check
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
Coba mengakses port 25 (SMTP) dengan telnet
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
Jika muncul sebagaimana tulisan diatas, berarti postfix anda sudah berjalan lancar…….
Tekanlah tombol Ctrl+] lalu ketik quit untuk keluar dari sesi telnet,
Ambilah napas dalam-dalam, dan lanjutkan perjuangan ;)

Mengaktifkan fasilitas authentikasi pada postfix (Auth-SMTP)

Menyuruh Postfix untuk menggunakan SASL/MySQL, dg cara buat file konfigurasi baru dg nama /etc/postfix/sasl/smtpd.conf yang berisi :
root@bajoel:~#mcedit /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mailadmin
sql_passwd: passwordanda
sql_database: mail
sql_select: select password from users where email='%u@%r'
log_level: 7

[Penting] Demi keamanan, pastikan hanya user root dan postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/sasl/smtpd.conf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf

Mengaktifkan TLS untuk meng-encrypt SMTP traffik, dg cara membuat sertifikat (certificate)

root@bajoel:~#openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509

[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.

root@bajoel:~#chown root:postfix /etc/postfix/smtpd.*
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/smtpd.*

Mengkonfigurasi courier sebagai server POP3 / IMAP

Edit file /etc/courier/authdaemonrc, ubah parameter authmodulelist menjadi
root@bajoel:~#mcedit /etc/courier/authdaemonrc
authmodulelist="authmysql"
Lalu edit file /etc/courier/authmysqlrc, ubah beberapa parameter menjadi seperti di bawah ini :
root@bajoel:~#mcedit /etc/courier/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME mailadmin
MYSQL_PASSWORD passwordanda
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD (jadikan baris ini sebagai komentar)
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/mail"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
#MYSQL_NAME_FIELD (jadikan baris ini sebagai komentar)
[Penting] Mengedit file authmysqlrc agak sedikit susah, pastikan anda berhati-hati dan tidak membuat kesalahan (jangan memakai tanda SPASI, tetapi gunakan tombol TAB)
Testing…
Restart service courier-authdaemon
root@bajoel:~#/etc/init.d/courier-authdaemon restart
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
Coba mengakses port 110 (POP3) dengan telnet
root@bajoel:~#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
Jika muncul pesan seperti diatas, maka berbahagialah.
Tarik napas dalam-dalam dan ucapkan Alhamdulillah atas keberhasilan anda :)
[Penting] Anda tidak dapat membuka mailbox / maildir anda sebelum ada email yang terkirim pada mailbox anda.Pesan kesalahan akan dimunculkan. Karena itulah anda harus mengirim welcome email pada setiap user baru.

Test hasil konfigurasi anda

Selamat, anda telah menyelesaikan poin konfigurasi. Pada bagian ini anda anda hanya akan men-testing server yang telah anda konfig sebelumnya.
Sekarang kita akan membuat database pada domain yang akan kita coba, domain inilah yang kita jadikan sebagai domain percobaan untuk mengirim dan menerima email.
Buatlah domain baru dg nama lqman.org pada tabel domains, dan buatlah juga alamat email dan password baru pada tabel users.
Untuk lebih jelasnya ikutilah syntax mysql dibawah ini.
root@bajoel:~#mysql -u mailadmin -p mail
password:
mysql>INSERT INTO domains(domain) VALUES ('lqman.org');
mysql>INSERT INTO users(email,password) VALUES ('admin@lqman.org','admin');
mysql>INSERT INTO users(email,password) VALUES ('user@lqman.org','user');
Sekarang kita sudah punya sebuah virtual domain baru dg nama “lqman.org” dan 2 orang user, yaitu “admin@lqman.org” dan “user@lqman.org” yang masing-masing user ini mempunyai password “admin” dan “user”.
Jika anda tidak mempunyai MX (Mail eXchange) record pada DNS server anda, maka kami menyarankan utk menambahkan MX record spt dibawah ini:
root@bajoel:~#mcedit /etc/bind/db.lqman.org
@ IN MX 5 mail.lqman.org.
mail IN A 10.122.1.22
IP-Address 10.122.1.22 hanya sebagai contoh saja, ubahlah sesuai dg IP-Address yg anda inginkan.
Kemudian untuk mencoba pengiriman email dari SMTP server anda, lakukan telnet pada localhost port 25 (SMTP) sebagai berikut :
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
kemudian secara interaktif (pada mode telnet) berikan perintah spt dibawah ini:
Anda : ehlo virtual.test
Server : 250-mailtest
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
Anda : mail from:admin@lqman.org
Server : 250 Ok
Anda : rcpt to:user@lqman.org
Server : 250 Ok
Anda : data
Server : 354 End data with .
Anda : Subject:Just for test
This is a test email
. (tanda titik)

Server : 250 Ok: queued as ABC1D1C123
Anda : quit
Server : 221 BYE
Jika respon server seperti tulisan yg di bold diatas, berarti email dari admin@lqman.org kepada user@lqman.org sudah masuk ke dalam antrian untuk segera dikirimkan oleh postfix (SMTP server).
Lihatlah pada log file yang berada pada /var/log/mail.info
root@bajoel:~#tail -f /var/log/mail/info | ccze
pasti akan kita lihat bagin seperti dibawah ini :
Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from myserver[127.0.0.1]
Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=myserver[127.0.0.1]
Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=
Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=, size=313, nrcpt=1 (queue active)
Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=, relay=virtual, delay=10, status=sent (delivered to maildir)
Jika anda melihat “status=sent (delivered to maildir)” maka email yang anda kirimkan sudah berhasil dikirimkan ke dalam Maildir user yang bersangkutan (user@lqman.org). Jalankan perintah find untuk melihat seluruh file dan direktori yang ada dibawah direktori “/home/mail”.
root@bajoel:~#find /home/mail
/home/mail/
/home/mail/lqman.org
/home/mail/lqman.org/user
/home/mail/lqman.org/user/cur
/home/mail/lqman.org/user/new
/home/mail/lqman.org/user/new/1170803794.V805I1c1fbM98807.bajoel
/home/mail/lqman.org/user/new/1170803833.V805I1c1feM87660.bajoel
/home/mail/lqman.org/user/tmp
Semuanya berjalan Lancar? Bagus.. :)Sebagai langkah terakhir, anda harus mencoba login pada email baru nada melalui tampilan web yg telah disediakan oleh squirrelmail. Pada percobaan ini, username yang bisa digunakan adalah “user@lqman.org” dengan password “user”

Menambahkan User Baru pada Mail-Server

Pada step yang terakhir ini anda tinggal memasukkan / menambahkan pada database setiap username dan password user baru pada mailserver anda.
Untuk setiap virtual-domain baru, Tambahkan nama virtual-domain tsb pada tabel ‘domains’
Untuk setiap user baru, Tambahkan username (email address) dan password (plain text) pada tabel ‘users’
Untuk setiap forwarding, Tambahkan source dan destination mail address pada tabel ‘forwardings’, jika anda punya banyak destination, pisahkan dengan koma. Tabel ini digunakan untuk me-redirect setiap email pada system anda, termasuk juga anda bisa me-redirect local mail-address.
Contoh :
source  destination  effect
test@my.domain  philip@my.domain  me-redirect emails untuk postmaster kepada philip.
@my.domain  @another.domain  Ini adalah re-direction thd seluruh domain. Setiap email yang dialamatkan kpd suatu user pada domain ‘my.domain’ akan di-forward kepada user yang sama pada domain ‘another.domain’. Jadi mail kpd lqman@my.domain akan di-redirect kepada lqman@another.domain.
jesper@my.domain  dilbert@my.domain,dilbert@gmail.com  mem-forward email yg dialamatkan untuk jesper@my.domain kepada dilbert@my.domain dan dilbert@gmail.com

Interface WebMail dg squirrelmail

Untuk mempermudah user anda dalam menggunakan mailserver yg sdh anda buat, maka tampilan web merupakan interface yang paling mudah. Oleh karena itu paket squirrelmail yang sudah kita install pada step pertama harus dikonfigurasi sesuai dg mailserver yg sdh kita buat.
Untuk menyesuaikan dg konfigurasi mailserver ini, cukup lakukan perintah squirrelmail-configure
root@bajoel:~#squirrelmail-configure
lalu lakukan sesuai dg langkah-langkah yang sudah tersedia. Langkah yang paling penting disini adalah saat menentukan “Server Settings” saja, selain itu tidak ada yang terlalu penting.
Pada saat menentukan “Server Settings”, lakukan perubahan spt dibawah ini
Secure IMAP (TLS) : false
Server software : courier
kemudian save opsi tersebut dg cara menekan tombol “s”, lalu keluar dari configurasi dg menekan tombol “q”.

Menjadikan webmail kita sebagai VirtualHost baru

Buatlah file baru pada konfigurasi webserver anda (pada tutorial ini dipakai webserver apache2)
root@bajoel:~#touch /etc/apache2/sites/available/squirrelmail
kemudian tambahkan baris-baris dibawah ini :
NameVirtualHost 10.122.1.22:80
ServerAdmin admin@lqman.org
ServerName mail.lqman.org
DocumentRoot /usr/share/squirrelmail
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
setelah itu, buatlah symbolic link ke direktori /etc/apache2/sites-enable/ dengan cara
root@bajoel:~#ln -s /etc/apache2/sites-available/squirrelmail.conf /etc/apache/sites-enable/001squirrelmail.conf
lalu cek konfigurasi apache2 dg syntax :
root@bajoel:~#apache2ctl configtest
dan jika muncul tulisan Syntax OK, maka restart-lah apache2 dg :
root@bajoel:~#apache2ctl restart
Dan silakan menikmati mail server anda melalui squirrelmail (wab based mail client).
READ MORE - Mail Server dengan Postfix