免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

RHEL5使用Dovecot做POP3(S)/IMAP(S)

 mrjbydd 2011-03-03

RHEL5使用Dovecot做POP3(S)/IMAP(S)服務器

我在另一篇文章里說到用Qpopper做POP3服務器,這里介紹使用功能更強大、更安全、更優(yōu)秀的同時支持IMAP4、POP3協(xié)議的Dovecot。

    RHEL5光碟自帶的Dovecot是一個測試版本,我們可以下載一個穩(wěn)定版本RPM包,但我推薦使用源碼包編譯的方式安裝配置Dovecot。

    (最新)源碼包下載、解壓、配置、編譯、安裝:
    [root@pps ~]# [url]http://www./releases/1.1/dovecot-1.1.13.tar.gz[/url]
    [root@pps ~]# tar zxf dovecot-1.1.13.tar.gz
    [root@pps ~]# cd dovecot-1.1.13
    [root@pps dovecot-1.1.13]# ./configure --prefix=/usr/local/dovecot
    [root@pps dovecot-1.1.13]# make
    [root@pps dovecot-1.1.13]# make install

    【注意】在配置階段(configure)使用"--prefix"指定安裝的路徑,如果不指定的話,默認安裝到/usr/local后Doevecot相關文件“一盤散沙”,像我這樣就全都放在/usr/local/dovecot目錄下了,易于查找管理,也讓人對Dovecot更明了。

    ============================================================
    下面是configure的最后輸出信息:

    Install prefix ...................... : /usr/local/dovecot
    File offsets ........................ : 64bit
    I/O loop method ..................... : epoll
    File change notification method ..... : inotify
    Building with SSL support ........... : yes (OpenSSL)
    Building with IPv6 support .......... : yes
    Building with pop3 server ........... : yes
    Building with mail delivery agent  .. : yes
    Building with GSSAPI support ........ : no
    Building with user database modules . : static prefetch passwd passwd-file sql nss
    Building with password lookup modules : passwd passwd-file shadow pam checkpassword sql
    Building with SQL drivers ............:

    如果顯示password查詢不支持pam,應該是沒有安裝pam-dev包所致。

    我的RHEL5沒有安裝RPM包形式的mysql,configure沒能檢測出我安裝在/usr/local目錄下的mysql。如果日后有可能需要用到mysql數(shù)據(jù)庫驗證,我可以指定"--with-mysql=/usr/local/mysql/lib"來讓Dovecot支持mysql。
    ============================================================

    Dovecot安裝在/usr/local/dovecot,配置文件是/usr/local/dovecot/etc/dovecot.conf,但安裝后只有一些示例配置文件在dovecot/etc目錄下,如下所示:
    [root@pps ~]# cd /usr/local/dovecot/etc
    [root@pps etc]# ls
    dovecot-db-example.conf  dovecot-ldap-example.conf
    dovecot-example.conf     dovecot-sql-example.conf

    我選擇dovecot-example.conf作為藍本進行修改配置:
    [root@pps etc]# cp dovecot-example.conf dovecot.conf

    +++++++++++++++++++++++++++++
          我所啟用、修改的選項如下:
    +++++++++++++++++++++++++++++
    #
    # /usr/local/dovecot/etc/dovecot.conf
    #

    # 支持imap imaps pop3 pop3s協(xié)議
    protocols = imap imaps pop3 pop3s

    # 允許不啟用TLS情況下使用普通文本方式驗證
    disable_plaintext_auth = no

    # 啟用ssl支持
    ssl_disable = no

    # 指定證書和私鑰的位置
    ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
    ssl_key_file = /etc/pki/tls/certs/dovecot.pem

    ============================================================
    【注意】在源碼包doc目錄下,可以使用mkcert.sh腳本,根據(jù)dovecot-openssl.cnf文件里的信息生成自己簽署認證的dovecot.pem文件,證書dovecot.pem生成在/etc/ssl/certs目錄下,私鑰dovecot.pem生成在/etc/ssl/private目錄下。為了使得和我配置的sendmail.pem在同一位置,我將dovecot.pem(包括證書和私鑰)放在/etc/pki/tls/certs/dovecot.pem文件里。我沒有使用mkcert.sh生成,而是來到/etc/pki/tls/certs目錄下執(zhí)行make dovecot.pem。
    ============================================================

    # 這是登錄進程使用的用戶,不是訪問用戶郵件的用戶,不一定非得用下面的"mail"用戶。
    login_user = mail

    ============================================================
    【注意】示例配置文件里有相關的建議,最好使用一個“沒其它用途”的用戶,默認是dovecot用戶。這個用戶是用來控制認證進程的訪問權限的。當客戶端驗證成功后,產(chǎn)生新的具有相應用戶權限的進程來對郵件進行訪問操作。
    ============================================================

    # 根據(jù)手冊,最好還是“顯式”指示郵件位置
    # mbox郵件存儲格式,如果想支持IMAP4的話,沒個系統(tǒng)用戶需要有home目錄
    mail_location = mbox:~/mail:INBOX=/var/mail/%u

    ============================================================
    【注意】如果是采用maildir格式的話,配置文件里默認的例子是mail_location = maildir:~/Maildir,如果是這樣就不需要設置什么訪問權限了,客戶端POP3/IMAP登錄成功后,就具備相應的用戶權限來訪問自家目錄下的郵件,如果Maildir不存在的話還會自動建立起來。

    如果你指定別的郵件目錄,像我以下這樣:
    mail_location = maildir:/home/Mail/%n/Maildir
    除了得事先建立好用戶目錄,還需要從Mail目錄到用戶目錄具備相應用戶的執(zhí)行權限。
    ============================================================

    # 這里需要給Dovecot指定"mail"組權限去讀寫INBOX(/etc/mail/%u或別的位置)
    mail_privileged_group = mail

    ============================================================
    【注意】如果客戶端登錄后有足夠的權限讀寫INBOX就不需要mail組用戶權限了。
    ============================================================

    # 支持IMAP和POP3,默認即可,當然可以在其中加入很多參數(shù)以及優(yōu)化,
    protocol imap {
    }
    protocol pop3 {
    }
    # 本地投遞代理設置
    protocol lda {
      # 發(fā)送拒絕信時使用的郵件地址(我目前也沒清楚這里啥時候用)
      postmaster_address = [email]postmaster@hoho.com[/email]
    }

    # 如果想使用系統(tǒng)用戶密碼驗證的話,只能把郵件賬號"@"以及其后的域名去掉。
    # 如果你使用支持不同域用戶([email]snail@a.com[/email]不同于[email]snail@b.com[/email])的其它密碼數(shù)據(jù)庫,
    # 則可不必修改這里,默認是以%u也即類似"[email]snail@hoho.com[/email]"的全名來當作用戶名驗證的。
    auth_username_format = %n

    ============================================================
    【注意】這里有一個弊端,如果使用"%n"來處理需要驗證的用戶名,則用戶名后面的域名信息將會被拋棄,也就是說后面就無法再使用"%d"來獲取用戶域名信息了!
    ============================================================

    # 默認的認證配置
    auth default {
      # 支持plain和login認證機制
      mechanisms = plain login
      # 為了和sendmail一致,這里使用pam密碼驗證方式(也可以使用shadow方式)
      passdb pam {
      }

      ============================================================
      【注意】如果使用pam密碼驗證方式,需要在/etc/pam.d/目錄下建立dovecot文件,
      其內(nèi)容和smtp文件一樣即可?;蛘呤褂霉俜骄W(wǎng)站建議的:
      # /etc/pam.d/dovecot
      auth    required        pam_unix.so nullok
      account required        pam_unix.so
      ============================================================

      # 系統(tǒng)用戶始終用passwd作為用戶數(shù)據(jù)庫
      userdb passwd {
      }
      # 需要用root用戶來訪問用戶和密碼數(shù)據(jù)庫
      user = root
    }

    好了,到此Dovecot的基本配置算完畢了,注意事項已經(jīng)在上述配置的后面分別說清楚了。下面我們啟動Dovecot,然后使用客戶端Foxmail,Outlook測試是否OK。

    【注意】防火墻需要開放110(POP3),143(IMAP),995(POP3S),993(IMAPS)端口。

    啟動dovecot:
    [root@pps ~]# dovecot

    如果Dovecot配置文件錯誤,這里會立刻提示出來。如果是客戶端驗證、接收(同步)等錯誤,則需要查看日志文件/var/log/maillog。

    如果在日志中記錄的錯誤不夠詳細,可以在配置文件里開啟相關過程的“冗余”記錄,比如:
    # 顯示協(xié)議層的SSL錯誤
    verbose_ssl = yes
    # 詳細的認證過程信息記錄
    auth_verbose = yes
    # 更詳細的認證調試(debug)信息
    auth_debug = no

    更多的冗余、Debug選項可以參考示例配置文件或者官網(wǎng)相關資料。

    停止dovecot:
    [root@pps ~]# killdovecot.sh

    這里的killdovecot.sh腳本是官網(wǎng)的腳本:
    [root@pps etc]# cat /usr/local/dovecot/sbin/killdovecot.sh
    #!/bin/sh
    # master.pid is written to directory pointed by base_dir setting.
    # /var/run/dovecot/ is a common location for it.
    base_dir=`dovecot -a | grep ^base_dir: | sed 's/^[^:]*: //'`
    kill `cat $base_dir/master.pid`

    ============================================================
    非SLL/TLS的POP3/IMAP測試都OK。

    ~SSL/TLS測試~

    IMAPS:發(fā)現(xiàn)Outlook Express能正常同步,而Foxmail(6.5 Beta3)出錯。
           如果沒有啟用SSL/TLS,F(xiàn)oxmail使用IMAP同步正常。
           經(jīng)過多次測試并參考互聯(lián)網(wǎng)資料,我個人暫時認為是Foxmail Bug引起的。
    POP3S:Foxmail、Outlook都正常。

    Foxmail使用IMAPS同步郵件出錯:
    Apr  8 20:57:48 pps dovecot: imap-login: Disconnected (no auth attempts): rip=192.168.32.1, lip=192.168.32.50, TLS handshaking: SSL_accept() failed: error:1406B0CB:SSL routines:GET_CLIENT_MASTER_KEY:peer error no cipher

    Outlook使用IMAP4同步郵件正常:
    Apr  8 21:00:34 pps dovecot: imap-login: Login: user=<snail>, method=PLAIN, rip=192.168.32.1, lip=192.168.32.50, TLS
    Apr  8 21:00:34 pps dovecot: IMAP(snail): Disconnected in IDLE bytes=258/443

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多