Membangun Mail server dengan mandriva
ok, sekarang kita coba bikin mail server menggunakan distro mandriva
persiapannyannya hanya sedikit ko, yang penting udah install mandriva dan ada koneksi internet (wajib bro…!! sori yang gak punya akses inet)
pasang repository cooker mandriva (wajib) lewat http://easyurpmi.zarb.org, disitu ntar ada pilihan buat menyesuaikan versi mandriva yang dipake. pilih main cooker ama contrib cooker aja. soalnya 2 cooker tsb udah bisa buat bikin mail server.
oh iya, yang kita mo pasang adalah:
postfix
cyrus-sasl
dovecot
squirrelmail
webserver (apache)
openssh-server
openssl
lainnya otomatis lewat urpmi akan terinstall
postfix sebagai MTA, yang akan kita gunakan menggunakan format Maildir, default postfix menggunakan format Mailbox biasa, dan anggapan kita user mail yang akan pake sering kirim attachment yang gede², misal 1Mb. untuk kelebihan dan kekurangan masing-masing format tsb silahkan merujuk ke http://www.reedmedia.net/misc/mail/mailbox-formats.html
cyrus-sasl kita pasang cuman buat nambahin fitur postfix biar bisa menggunakan TLS
dovecot kita gunakan sebagai imap server, soalnya mempunyai ukuran yang kecil dan cepet (mungkin pasangan yang cocok disandingkan dengan postfix), disamping imap server lainnya yang sudah terkenal (uw-imap, courier-imap, cyrus-imap, dll), disamping dovecot gampang mengkonfigurasinya (termasuk dukungan pop3)
squirrelmail, aplikasi webmail yang paling banyak digunakan buat webmail (denger² squirrelmail tu cikal bakalnya YahooMail ya ?)
openssh-server dan openssl biasanya udah includ, gak perlu dijelaskan udah pada tau kekna
mulai install…..
jalankan perintah ini:
urpmi postfix dovecot squirrelmail cyrus-sasl
ikuti saja perintah yang ada layar monitor anda keknya tinggal tekan 1 untuk pilihan default dan tekan Y untuk menyetujui instalasasi aplikasi yang akan digunakan.
ok sekarang anggap aja semua sudah terinstall (mudah kan ??), sekarang tinggal mengkonfigurasi masing-masing aplikasinya.
postfix : edit file /etc/postfix/main.cf
myhostname = mail.server.com
mydomain = server.com
mynetworks = 168.100.189.0/28, 127.0.0.0/8
home_mailbox = Maildir/
konfigurasi diatas cuman contoh aja, dan dengan hanya konfigurasi tersebut postfix sudah bisa dijalankan sebagai MTA atau smtp server , ok kita test
jalankan postfix
/etc/init.d/postfix start atau service postfix start
cek apakah sudah listen port 25 untuk smtp
netstat -pln | grep 25
lakukan pengetesan dengan telnet
telnet localhost 25
jika aplikasi telnet belum ada, silahkan install dengan urpmi (urpmi telnet)
cyrus-sasl : edit file /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
mengaktifkan postfix TLS
masuk ke direktori /etc/postfix/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
openssl req -new -key smtpd.key -out smtpd.csr
biarkan password challenge kosong
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
tambahkan baris ini ke /etc/postfix/main.cf
smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_cert_file = /etc/postfix/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
kemudian restart postfix (service postfix restart)
dovecot : edit file /etc/dovecot.conf
silahkan utak atik sendiri, soalnya nilai default udah bisa dipake
squirrelmail : edit file /etc/squirrelmail/config.php atau menggunakankan tool /var/www/html/squirrelmail/config/conf.pl
silahkan juga utak atik sendiri
Membuat mailserver menggunakan postfix dan dovecot serta smtp-auth dan TLS, seprti pada tulisan sebelumnya di sini
Untuk syarat umum, mandriva telah tersambung ke cooker, pilih cooker dari http://easyurpmi.zarb.org
Install Postfix dan Dovecot
#urpmi postfix dovecot cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain
Setelah selesai, sekarang giliran mengkonfigurasi SMTP-AUTH dan TLS
postconf -e ’smtpd_sasl_local_domain =’
postconf -e ’smtpd_sasl_auth_enable = yes’
postconf -e ’smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ’smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’
postconf -e ‘mynetworks = 127.0.0.0/8′
Kemudian edit file /usr/lib/sasl2/smtpd.conf
vim /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
Buat sertifikat untuk TLS
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Selanjutnya mengkonfigurasi Postfix agar menggunakan TLS
postconf -e ’smtpd_tls_auth_only = no’
postconf -e ’smtp_use_tls = yes’
postconf -e ’smtpd_use_tls = yes’
postconf -e ’smtp_tls_note_starttls_offer = yes’
postconf -e ’smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ’smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ’smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ’smtpd_tls_loglevel = 1′
postconf -e ’smtpd_tls_received_header = yes’
postconf -e ’smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
postconf -e ’smtpd_sasl_authenticated_header = yes’
Set hostname untuk mail server Postfix
postconf -e ‘myhostname = server1.example.com’
Coba cek konfigurasi Postfix di /etc/postfix/main.cfcat /etc/postfix/main.cf
akan terlihat seperti dibawah ini
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/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.6/samples
readme_directory = /usr/share/doc/postfix-2.3.6/README_FILES
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
mynetworks = 127.0.0.0/8
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_sasl_authenticated_header = yes
myhostname = server1.example.com
Kemudian start Postfix, saslauthd, dan Dovecot:
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot start
Sekarang kita coba tes hasil konfigurasi diatas
telnet localhost 25
setelah berhasil tersambung, ketikkan
ehlo localhost
jika udah ada baris
250-STARTTLS
dan
250-AUTH LOGIN PLAIN
brarti konfigurasi postfix tidak ada kesalahan
Lengkapnya seperti ini
[root@server1 ssl]# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#
Lanjut ke Maildir di Dovecot
edit langsung file /etc/dovecot.conf dan pastikan memberi nilai konfigurasi yang ada sesuai dengan yang diharapkan
misal :
protocols = pop3 pop3s imap imaps
untuk mendefinisikan protokol yang akan digunakan oleh dovecot
default_mail_env = maildir:~/Maildir (for maildir)
atau
default_mail_env = mbox:~/mail:INBOX=/var/mail/%u (for mbox)
untuk menentukan jenis tipe mailbox yang akan digunakan oleh dovecot
Untuk menseting format maildir
Postfix : edit file /etc/postfix/main.cf dan tambahkan nilai
home_mailbox = Maildir/
mailbox_command =
Trus di dovecotnya (file /etc/dovecot.conf)
default_mail_env = maildir:/home/%u/Maildir
Untuk testing dovecotnya
/etc/init.d/dovecot start
telnet localhost pop3
Trying localhost...
Connected to localhost.
Escape character is '^]'.
+OK dovecot ready.
Ok, sip… selesai
Source from here.
Tidak ada komentar:
Posting Komentar