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 dovenull -u 5001 -s /sbin/nologin -M dovenull
[[email protected] dovecot-2.3.3]# groupadd -g 2000 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
[[email protected] dovecot-2.3.3]# make
[[email protected] dovecot-2.3.3]# make install
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
如圖
dovecot.conf 該檔案為dovecot服務的主配置檔案
dovecot-sql.conf.ext 該檔案為連線資料庫的配置檔案,其他三個檔案暫時沒有用到,這裡不做介紹
進入conf.d目錄
[[email protected] dovecot]# cd conf.d
[[email protected] conf.d]# ll
如圖所示:
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
如圖:
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驗證
e、修改 10-logging.conf 配置檔案
這個配置檔案主要定義日誌目錄和日誌級別的,可根據自己的需要進行修改。
f、修改 10-master.conf 配置檔案
[[email protected] conf.d]# vim 10-master.conf
如圖,對於1、2,按照自己的需求修改,需要哪些埠,開哪些埠,不需要的就無需開啟。對於3,則按照如圖所示的方式修改。
如上圖,修改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修改
h、修改 auth-sql.conf.ext 配置檔案
如圖,我們從資料庫獲取郵箱、密碼等,因此我們只需要修改途中所示的位置即可,其他地方無需修改。
到現在,Dovecot的配置檔案,修改完畢,下面啟動服務。
7、啟動 Dovecot
[[email protected] conf.d]# /wdata/dovecot/sbin/dovecot -c /etc/dovecot/dovecot.conf
檢視服務啟動情況
[[email protected] conf.d]# ps -ef | grep dovecot
檢視埠開啟情況
通過以上檢視結果,說明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");
新增完成後,在郵箱客戶端新增賬號
測試發郵件
檢視收郵件
能夠傳送、接收郵件,證明沒問題,接下來,我們檢視postfix和dovecot日誌
postfix日誌如下
如圖所示,如果 status=sent ,說明郵件傳送成功,否則郵件傳送會有問題,需要檢查各項配置。
dovecot日誌分為錯誤日誌和常用資訊日誌,如下圖,如果郵件傳送成功,而沒有接收到郵件,請檢查錯誤日誌
dovecot錯誤日誌如下圖
一般會明確告訴你,錯誤處在哪裡,這裡不多做闡述。
常用資訊日誌,一般記錄各種郵件傳送接收的情況,這裡就不進行贅述了。
到此,我們的 Dovecot 服務部署完成,經過測試,也可以正常收發郵件,郵件伺服器算是搭建完成,但是呢,這時候,我們就會想,我如何管理我的郵件伺服器呢,於是乎,我們關心的 Postfixadmin 管理端閃亮登場。
歡迎繼續檢視我們的下期內容,關於 Postfixadmin 的安裝。
未完待續。。。。。。