ติดตั้ง Mail Server บน FreeBSD 7.0
# cd /usr/ports/mail/postfix-current/
# make config
จะมีหน้าจอมาให้เราเลือก options ของ postfix ผมเลือก PCRE, DOVECOT และ TLS
แล้วเลือก OK จากนั้นสั่ง make install clean
# make install clean
แล้วก็รอ ?
Added group ?postfix?.y
Added group ?maildrop?.y
Added user ?postfix?.yYou need user ?postfix? added to group ?mail?.
Would you like me to add it [y]? y
install -d -o root -g wheel -m 555 /usr/local/share/doc/postfix
Installed HTML documentation in /usr/local/share/doc/postfix
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y2.) เปิดไฟล์ /etc/rc.conf
# pico /etc/rc.conf
เพิ่มบรรทัดเหล่านี้เข้าไป
postfix_enable=YES
sendmail_enable=NO
sendmail_submit_enable=NO
sendmail_outbound_enable=NO
sendmail_msp_queue_enable=NO
save และออกจาก pico
3.) Generate Cert ให้ Postfix
# mkdir /usr/local/etc/postfix/ssl
# cd /usr/local/etc/postfix/ssl/
# openssl genrsa -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
4.) สร้างไฟล์ mime_header_checks เพื่อป้องกันไฟล์แนบที่เป็น .bat .exe .com .vbs
# echo ?/name=[^>]*\.(bat|com|exe|dll|vbs)/ REJECT? > /usr/local/etc/postfix/mime_header_checks
5.) แก้ไขไฟล์ /usr/local/etc/postfix/main.cf
# cd /usr/local/etc/postfix
# cp main.cf main.cf.original
# pico main.cf
โดยค่าที่สำคัญๆ มีดังนี้
myhostname = www.hagarici.biz
mydomain = .hagarici.biz
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, $mydomain, localhost
mynetworks = 200.100.10.1/24, 127.0.0.0/8
และเพิ่มบรรทัดเหล่านี้ไปต่อท้ายไฟล์
mime_header_checks = regexp:/usr/local/etc/postfix/mime_header_checks
smtpd_tls_auth_only = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /usr/local/etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /usr/local/etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
mailbox_size_limit = 0
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_sender_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554
smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client multi.uribl.com,
reject_rbl_client dsn.rfc-ignorant.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client combined.rbl.msrbl.net,
reject_rbl_client rabl.nuclearelephant.com,
permit
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20
save และออกจาก pico
6.) ติดตั้ง Dovecot โดยเข้าไปที่ /usr/ports/mail/dovecot/
# cd /usr/ports/mail/dovecot/
# make install clean
จะมีหน้าจอให้เราเลือก Options for dovecot 1.0.r7_2
ในขั้นตอนนี้ผมไม่ได้เลือกอะไรเพิ่มเติมเข้าไป
ตอบ OK แล้วก็รอสักครู่ ? ระบบจะถามให้เรา add user กับ group ของ dovecot เข้าไปในระบบเหมือนกับ postfix ก็ตอบ y ไปน่ะครับ
7.) แก้ไขไฟล์ dovecot.conf
# cp /usr/local/etc/dovecot-example.conf dovecot.conf
#cd /usr/local/etc
# pico dovecot.conf
โดยกำหนดค่า ดังนี้
protocols = imap pop3 imaps pop3s
disable_plaintext_auth = no
ssl_cert_file = /usr/local/etc/postfix/ssl/cacert.pem
ssl_key_file = /usr/local/etc/postfix/ssl/cakey.pem
ssl_key_password = 111111 # password ที่เราใส่ตอน Generate Cert ของ Postfix
***สาเหตุที่ ใช้ Cert ร่วมกับ Postfix เนื่องจากไม่อยาก Generate ใหม่
8.) เมื่อติดตั้งและคอนฟิก Dovecot เสร็จแล้ว เปิดไฟล์ /etc/rc.conf
#vi /etc/rc.conf
จากนั้นเพิ่มบรรทัดต่อไปนี้เข้าไป
dovecot_enable=?YES?
จากนั้น SAVE
9.) สั่งสร้าง aliases ใหม่
# newaliases
10.) # reboot
ที่มา :: http://kirtsana.info