站長部落格 - lutuni 的日誌 |
![]() ![]() |
2014/10/19
使用 Ubuntu 安裝郵件伺服器 (Mail Server):Postfix + Dovecot + Openwebmail
作者: lutuni (7:23 pm)
|
使用 Ubuntu 安裝郵件伺服器 (Mail Server):Postfix + Dovecot + Openwebmail Posted by ken on September 12th, 2010 在 DNS Server 的文章提到二個域名 (domain name): www.example.com.tw mail.example.com.tw 這篇文章的內容與 mail.example.com.tw 有關;至於 www.example.com.tw 上一篇已經說明。 架設郵件伺服器 (mail server) 需要 Postfix 和 Dovecot 二個套件。 Postfix 負責 SMTP Dovecot 負責 POP3 和 IMAP 選擇 Dovecot 的理由是 Dovecot 同時支援 Maildir 和 mbox;而 Openwebmail 只支援 mbox。 Ubuntu Server 從 9.10 版開始提供一支套件 Dovecot-postfix,這支套件整合了 Postfix 與 Dovecot 的設定環境,使設定更簡單。 環境 我們希望郵件伺服器 Outlook Express 可以收發郵件,同時也提供網頁郵件服務。以下是我們的假設環境: 郵件伺服器:Postfix POP3 伺服器:Dovecot-pop3d IMAP 伺服器:Dovecot-imapd 信箱格式:mbox 認證:使用 Ubuntu Server 的帳號及密碼 網頁郵件服務:Openwebmail Postfix Ubuntu Server 常用的郵件伺服器是 Postfix。 安裝 安裝 Postfix 的指令如下: sudo apt-get install postfix 安裝過程中,畫面會要求你設定你的環境。 Internet Site example.com.tw 啟動停止 Postfix 的指令如下: sudo /etc/init.d/postfix start #啟動 Postfix sudo /etc/init.d/postfix stop #停止 Postfix sudo /etc/init.d/postfix restart #重新啟動 Postfix 組態 後面我們要安裝 dovecot-postfix 套件,安裝 dovecot-postfix 會修改 Postfix 的 main.cf 檔案,這裡的 main.cf 檔案是被 dovecot-postfix 更改後的檔案。 Postfix 主要的組態設定檔是 /etc/postfix/main.cf。vi 編輯 main.cf 的指令如下: sudo vi /etc/postfix/main.cf main.cf 的內容如下: 第 9行 將 (Ubuntu) 拿掉 第21行到第25行 #註記 第34行 新增 mail.example.com.tw 第41行 #註記,因為這裡使用 mbox 第54行 #註記 第56行到第61行 #註記 # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters #smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem #smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key #smtpd_use_tls = yes #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = dns.example.com.tw alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.example.com.tw, example.com.tw, dns.example.com.tw, localhost.example.com.tw, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all #home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/dovecot-auth smtpd_sasl_authenticated_header = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sender_restrictions = reject_unknown_sender_domain #mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-dovecot-postfix.conf -n -m "${EXTENSION}" #smtp_use_tls = yes #smtpd_tls_received_header = yes #smtpd_tls_mandatory_protocols = SSLv3, TLSv1 #smtpd_tls_mandatory_ciphers = medium #smtpd_tls_auth_only = yes #tls_random_source = dev:/dev/urandom 重新啟動 Postfix。 Dovecot Ubuntu Server 常用的 POP3 Server, IMAP Server 是 dovecot。 安裝 安裝 Dovecot POP3, IMAP Server 的指令如下: sudo apt-get install dovecot-pop3d dovecot-imapd 安裝 dovecot-postfix 的指令如下: sudo apt-get install dovecot-postfix 啟動停止 Dovecot 的指令如下: sudo /etc/init.d/dovecot start #啟動 Dovecot sudo /etc/init.d/dovecot stop #停止 Dovecot sudo /etc/init.d/dovecot restart #重新啟動 Dovecot 組態 安裝 dovecot-postfix 後,/etc/dovecot 目錄的 dovecot.conf 被 # 註記了。新的組態檔的位置在: Ubuntu Server 9.10 在 /etc/dovecot 目錄裡,多了 dovecot-postfix.conf 檔案。 Ubuntu server 10.04 LTS 在 /etc/dovecot/conf.d 目錄裡,多了 01-dovecot-postfix.conf 檔案。 編輯組態檔案的指令如下: sudo vi /etc/dovecot/dovecot-postfix.conf # Ubuntu Server 9.10 # or sudo vi /etc/dovecot/conf.d/01-dovecot-postfix.conf # Ubuntu Server 10.04 LTS dovecot-postfix.conf 或 01-dovecot-postfix.conf 檔案內容如下: 第 2行 將 imaps pop3s managesieve 用 # 註記 第 3行 disable_plaintext_auth = no,使用 Ubuntu 帳號、密碼 第 4行 ssl = no,不使用 SSL 認證 第 5行到第 7行 #註記,不使用 SSL 認證 第 8行 mail_location = maildir:~/Maildir #註記,不使用 Maildir 第 9行 新增 mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox),使用 mbox # Some general options protocols = imap pop3 # imaps pop3s managesieve disable_plaintext_auth = no ssl = no #ssl_cert_file = /etc/ssl/certs/ssl-mail.pem #ssl_key_file = /etc/ssl/private/ssl-mail.key #ssl_cipher_list = ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM #mail_location = maildir:~/Maildir mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox) auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ # IMAP configuration protocol imap { mail_max_userip_connections = 10 imap_client_workarounds = outlook-idle delay-newmail } # POP3 configuration protocol pop3 { mail_max_userip_connections = 10 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } # LDA configuration protocol lda { postmaster_address = postmaster mail_plugins = sieve quota_full_tempfail = yes deliver_log_format = msgid=%m: %$ rejection_reason = Your message to <%t> was automatically rejected:%n%r } # Plugins configuration plugin { sieve=~/.dovecot.sieve sieve_dir=~/sieve } 重新啟動 Dovecot。 測試 測試 SMTP port 25,輸入下列指令 sudo telnet mail.example.com.tw 25 Postfix 回應顯示如下: Trying 192.168.0.10... Connected to dns.example.com.tw. Escape character is '^]'. 220 dns.example.com.tw ESMTP Postfix 接著輸入下列指令 ehlo mail.example.com.tw Postfix 回應顯示如下: 第 5行 250-AUTH PLAIN LOGIN 第 6行 250-AUTH=PLAIN LOGIN 250-dns.example.com.tw 250-PIPELINING 250-SIZE 10240000 250-ETRN 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN 完成收發信的認證設定。 Openwebmail 網頁郵件套件我們選擇 Openwebmail。 Ubuntu 沒有提供 Openwebmail 套件,B2D 中文 Linux 計劃1有提供。 修改 /etc/apt/sources.list sudo vi /etc/apt/sources.list 在 sources.list 檔案最後面加入以下這行 deb ftp://debian.tnc.edu.tw/pub1 b2d/ Ubuntu Server 10.04 LTS 比較麻煩,套件庫裡的 libmd5-perl 有問題,無法直接安裝。手動安裝 libmd5-perl 的指令如下: 第 1行 下載 libmd5-perl_2.03-1_all.deb 套件。 第 2行 安裝 libmd5-perl_2.03-1_all.deb 套件。 sudo wget http://mirrors.kernel.org/ubuntu/pool/universe/libm/libmd5-perl/libmd5-perl_2.03-1_all.deb sudo dpkg -i libmd5-perl_2.03-1_all.deb 安裝 安裝 Openwebmail 的指令如下: sudo apt-get update sudo apt-get install openwebmail 安裝後不要忘記將 /etc/apt/sources.list 檔案裡新增的 deb ftp://debian.tnc.edu.tw/pub1 b2d/ 註記起來。 # deb ftp://debian.tnc.edu.tw/pub1 b2d/ 更新 auth_unix.pl B2D 版本已經是很舊的版本 (2006/10/20 以前的版本,但不包括 1020 版),因為當時尚未改成支援 blowfish,所以必須下載 auth_unix.pl,把它拷貝到 /usr/lib/cgi-bin/openwebmail/auth,覆蓋掉原有的 auth_unix.pl,否則將無法正常登入 Openwebmail。會出現下面的錯誤訊息。 -------------------------------------------------------------------------------------------------------------- Can't locate Crypt/Eksblowfish/Bcrypt.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl /usr/lib/cgi-bin/openwebmail) at /usr/lib/cgi-bin/openwebmail/auth/auth_unix.pl line 15. BEGIN failed--compilation aborted at /usr/lib/cgi-bin/openwebmail/auth/auth_unix.pl line 15. -------------------------------------------------------------------------------------------------------------- 下載 auth_unix.pl 指令如下: sudo wget ftp://ftp3.tnc.edu.tw/b2d/openwebmail/auth_unix.pl 覆蓋掉原有的 auth_unix.pl 指令如下: sudo cp auth_unix.pl /usr/lib/cgi-bin/openwebmail/auth/ 組態 登入 Openwebmail 前,先修改 openwebmail.conf 檔案,編輯 openwebmail.conf 指令如下: sudo vi /usr/lib/cgi-bin/openwebmail/etc/openwebmail.conf openwebmail.conf 檔案內容如下: 第13行 設定域名,這裡是 example.com.tw 第15行 病毒檢查 第16行 垃圾郵件檢查 第17行 垃圾郵件學習 第18行 網頁硬碟服務 第19行 終端機功能 第21行 郵件語系 第22行 ICON 設定 第25行到第29行 郵件簽名 # # Open WebMail configuration file # # This file contains just the overrides from defaults/openwebmail.conf, # please make all changes to this file. # # This file sets options for all domains and all users. # To set options on per domain basis, please put them in sites.conf/domainname # To set options on per user basis, please put them in users.conf/username # # Please refer to openwebmail.conf.help for the description of each option # domainnames example.com.tw enable_viruscheck yes enable_spamcheck yes enable_learnspam yes enable_webdisk yes enable_sshterm no default_locale zh_TW.Big5 default_iconset Cool3D.Chinese.Traditional default_fscharset none <default_signature> -- Open WebMail Project (http://openwebmail.org) </default_signature> 記得在修改 openwebmail.conf 之後,別忘了執行 sudo /usr/lib/cgi-bin/openwebmail/openwebmail-tool.pl --init 登入 Openwebmail 開啟瀏覽器,網址列輸入 http://192.168.0.10/openwebmail 使用者第一次登入帳戶要設定基本資料。 1. http://b2d.tnc.edu.tw/ |
本篇文章引用網址
http://123.204.89.156/etype/modules/weblog/weblog-tb.php/95