1. 程式人生 > >LAMP+Postfix+Dovecot+Postfixadmin搭建郵件管理系統(六)

LAMP+Postfix+Dovecot+Postfixadmin搭建郵件管理系統(六)

接上期,我們部署完了Postfix服務,下面開始部署Dovecot服務。

七、部署Dovecot服務

    1、下載dovecot安裝包

    [[email protected] ~]# wget -c https://dovecot.org/releases/2.3/dovecot-2.3.3.tar.gz

    2、解壓並進入目錄

    [[email protected] ~]# tar -zxvf dovecot-2.3.3.tar.gz

    [[email protected] ~]# cd dovecot-2.3.3

    3、建立dovecot工作的使用者及使用者組

    [[email protected] dovecot-2.3.3]# groupadd -g 5000 dovecot

    [[email protected] dovecot-2.3.3]# groupadd -g 5001 dovenull

    [

[email protected] dovecot-2.3.3]# useradd -g dovecot -u 5000 -s /sbin/nologin -M dovecot

    [[email protected] dovecot-2.3.3]# useradd -g dovenull -u 5001 -s /sbin/nologin -M dovenull

    [[email protected] dovecot-2.3.3]# groupadd -g 2000 vmail

    [

[email protected] dovecot-2.3.3]# useradd -g vmail -u 2000 -s /sbin/nologin -M vmail

    4、開始編譯Dovecot

    [[email protected] dovecot-2.3.3]# ./configure --prefix=/wdata/dovecot --with-sql --with-mysql --with-ssl=openssl --with-pam --with-zlib LDFLAGS=-L/usr/local/mysql/lib

    圖片.png

    [[email protected] dovecot-2.3.3]# make

    圖片.png

    [[email protected] dovecot-2.3.3]# make install

    圖片.png

    5、配置檔案介紹

    [[email protected] dovecot-2.3.3]# cd /wdata/dovecot/share/doc/dovecot

    [[email protected] dovecot]# cp -raf example-config /etc/dovecot

    [[email protected] dovecot]# cd /etc/dovecot

    [[email protected] dovecot]# ll

    圖片.png

    如圖

    dovecot.conf 該檔案為dovecot服務的主配置檔案

    dovecot-sql.conf.ext 該檔案為連線資料庫的配置檔案,其他三個檔案暫時沒有用到,這裡不做介紹

    進入conf.d目錄

    [[email protected] dovecot]# cd conf.d

    [[email protected] conf.d]# ll

    圖片.png

    如圖所示:

    10-auth.conf 該檔案為認證配置檔案

    10-logging.conf 該檔案為日誌配置檔案

    10-mail.conf 該檔案為郵件配置檔案

    10-master.conf 該檔案為主執行緒配置檔案

    auth-sql.conf.ext 該檔案為資料庫連線方式配置檔案

    其他檔案暫時沒有用到,不做介紹

    6、配置檔案修改

        a、修改dovecot.conf

            [[email protected] dovecot]# vim dovecot.conf

            取消 #protocols = imap pop3 lmtp submission 的註釋,改為 protocols = imap pop3 lmtp,由於 postfix 服務已開啟 smtps 協議,所以刪除submission

            取消 #listen = *, :: 的註釋,改為 listen = * ,IPV6沒用到,所以刪除  ::

            取消 #base_dir = /var/run/dovecot/ 的註釋,改為 base_dir = /var/run/dovecot/ ,為執行資料存放目錄

            在最後新增以下三行:

            ssl = no
            disable_plaintext_auth = no
            mail_location = Maildir:/wdata/vmail

            如圖:

            圖片.png

            圖片.png

        b、修改 dovecot-sql.conf.ext 配置檔案

            取消 #driver = 的註釋,將其修改為 driver = mysql ,定義資料庫型別

            取消 #connect = 的註釋,將其修改為 connect = connect = host=127.0.0.1 dbname=postfix user=postfix password=postfix ,定義資料庫連線資訊

            取消 #default_pass_scheme = MD5 的註釋,將其修改為 default_pass_scheme = MD5 ,定義資料欄位加密方式

            在改檔案中加入以下三行:

            password_query = \
              SELECT email as username,  password \
              FROM mailusers WHERE email = '%u'

            這句SQL是差資料庫所用的SQL,其中欄位名需要根據自己的資料庫來定義,其中,%u 表示 Email 等於輸入的整個郵箱全寫。

        c、建立資料庫

            [[email protected] dovecot]# mysql -uroot -p123456

            mysql> grant all privileges on postfix.* to [email protected]"127.0.0.1" identified by "postfix";

            mysql> create database postfix character set utf8 collate utf8_bin;

            mysql> CREATE TABLE postfix.mailusers (
                    ->      username VARCHAR(128) NOT NULL,
                    ->      domain VARCHAR(128) NOT NULL,
                    ->      password VARCHAR(64) NOT NULL,
                    ->      home VARCHAR(255) NOT NULL,
                    ->      uid INTEGER NOT NULL,
                    ->      gid INTEGER NOT NULL,
                    ->      active CHAR(1) DEFAULT 'Y' NOT NULL
                    -> );

            mysql> quit

            說明,建表的sql語句在 dovecot-sql.conf.ext 檔案中又,我們可以稍作修改加以運用。

        d、修改 10-auth.conf 配置檔案

            修改 auth_mechanisms = plain 為 auth_mechanisms = plain login

            註釋 !include auth-system.conf.ext 行,修改為 #!include auth-system.conf.ext

            取消 #!include auth-sql.conf.ext 的註釋,修改為 !include auth-sql.conf.ext   ,表示開啟MySQL驗證

            圖片.png

        e、修改 10-logging.conf 配置檔案

            這個配置檔案主要定義日誌目錄和日誌級別的,可根據自己的需要進行修改。

        f、修改 10-master.conf 配置檔案

            [[email protected] conf.d]# vim 10-master.conf

            圖片.png

            如圖,對於1、2,按照自己的需求修改,需要哪些埠,開哪些埠,不需要的就無需開啟。對於3,則按照如圖所示的方式修改。

            圖片.png

            如上圖,修改service auth區域

            設定 unix_listener auth-userdb {
                    mode = 0666
                    user = vmail

            }

            其中,mode根據說明去改,user 是我們系統中、以及之前的配置檔案中設定的賬號,我這裡vmail

            設定 unix_listener /var/spool/postfix/private/auth {
                    mode = 0666

            }

            /var/spool/postfix/private/auth  這個路徑需要根據我們各自的系統來寫,一般都是這個。

        g、修改 10-mail.conf 配置檔案

            [[email protected] conf.d]# vim 10-mail.conf

            取消 #mail_location = 的註釋,修改為 mail_location = maildir:/wdata/vmail                           根據自己的郵件目錄修改

            取消 #mail_uid = 和 #mail_gid = 的註釋,修改為 mail_uid = 2000 和 mail_gid = 2000                       根據我們之前建立的使用者 ID  和組 ID 修改

            取消 #mail_privileged_group = 的註釋,修改為 mail_privileged_group = mail                         根據說明修改

            取消 #first_valid_uid = 500 的註釋,修改為 first_valid_uid = 2000                                             根據我們之前建立的使用者ID修改

            取消 #first_valid_gid = 1 的註釋,修改為 first_valid_gid = 2000                                                 根據我們之前建立的組ID修改

            圖片.png

            圖片.png

            圖片.png

        h、修改 auth-sql.conf.ext 配置檔案

            圖片.png

            如圖,我們從資料庫獲取郵箱、密碼等,因此我們只需要修改途中所示的位置即可,其他地方無需修改。       

    到現在,Dovecot的配置檔案,修改完畢,下面啟動服務。

    7、啟動 Dovecot

    [[email protected] conf.d]# /wdata/dovecot/sbin/dovecot -c /etc/dovecot/dovecot.conf

    檢視服務啟動情況

    [[email protected] conf.d]# ps -ef | grep dovecot

    圖片.png

    檢視埠開啟情況

    圖片.png

    通過以上檢視結果,說明Dovecot服務已經啟動成功。

接下來測試郵件傳送接收情況。

    8、建立郵箱,並測試郵件傳送接收情況

    建立郵箱再資料庫中新增

    INSERT INTO `postfix`.`mailusers` (username,domain,PASSWORD,home,uid,gid,email,active) VALUE
    ("admin","xxxxxx.com",MD5("123456"),"/wdata/vmail","2000","2000","[email protected]","Y"),
    ("root","xxxxxx.com",MD5("123456"),"/wdata/vmail","2000","2000","[email protected]","Y");

    新增完成後,在郵箱客戶端新增賬號

    圖片.png

    測試發郵件

    圖片.png

    檢視收郵件

    圖片.png

    能夠傳送、接收郵件,證明沒問題,接下來,我們檢視postfix和dovecot日誌

    postfix日誌如下

    圖片.png

    如圖所示,如果 status=sent ,說明郵件傳送成功,否則郵件傳送會有問題,需要檢查各項配置。

    dovecot日誌分為錯誤日誌和常用資訊日誌,如下圖,如果郵件傳送成功,而沒有接收到郵件,請檢查錯誤日誌

    圖片.png

    dovecot錯誤日誌如下圖

    圖片.png

    一般會明確告訴你,錯誤處在哪裡,這裡不多做闡述。

    常用資訊日誌,一般記錄各種郵件傳送接收的情況,這裡就不進行贅述了。


到此,我們的 Dovecot 服務部署完成,經過測試,也可以正常收發郵件,郵件伺服器算是搭建完成,但是呢,這時候,我們就會想,我如何管理我的郵件伺服器呢,於是乎,我們關心的 Postfixadmin 管理端閃亮登場。

歡迎繼續檢視我們的下期內容,關於 Postfixadmin 的安裝。


未完待續。。。。。。