แค่เว็บๆหนึ่ง ! ที่อยากเก็บประสบการณ์
Home
 

ติดตั้ง 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

Off 

February 25, 2012 This post was written by Categories: เรื่องเล่ารายวัน No comments yet


Top