接上期,我们部署完了Postfix服务,下面开始部署Dovecot服务。
七、部署Dovecot服务
1、下载dovecot安装包
[root@Mail ~]# wget -c
2、解压并进入目录
[root@Mail ~]# tar -zxvf dovecot-2.3.3.tar.gz
[root@Mail ~]# cd dovecot-2.3.3
3、创建dovecot工作的用户及用户组
[root@Mail dovecot-2.3.3]# groupadd -g 5000 dovecot
[root@Mail dovecot-2.3.3]# groupadd -g 5001 dovenull
[root@Mail dovecot-2.3.3]# useradd -g dovecot -u 5000 -s /sbin/nologin -M dovecot
[root@Mail dovecot-2.3.3]# useradd -g dovenull -u 5001 -s /sbin/nologin -M dovenull
[root@Mail dovecot-2.3.3]# groupadd -g 2000 vmail
[root@Mail dovecot-2.3.3]# useradd -g vmail -u 2000 -s /sbin/nologin -M vmail
4、开始编译Dovecot
[root@Mail 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
[root@Mail dovecot-2.3.3]# make
[root@Mail dovecot-2.3.3]# make install
5、配置文件介绍
[root@Mail dovecot-2.3.3]# cd /wdata/dovecot/share/doc/dovecot
[root@Mail dovecot]# cp -raf example-config /etc/dovecot
[root@Mail dovecot]# cd /etc/dovecot
[root@Mail dovecot]# ll
如图
dovecot.conf 该文件为dovecot服务的主配置文件
dovecot-sql.conf.ext 该文件为连接数据库的配置文件,其他三个文件暂时没有用到,这里不做介绍
进入conf.d目录
[root@Mail dovecot]# cd conf.d
[root@Mail conf.d]# ll
如图所示:
10-auth.conf 该文件为认证配置文件
10-logging.conf 该文件为日志配置文件
10-mail.conf 该文件为邮件配置文件
10-master.conf 该文件为主线程配置文件
auth-sql.conf.ext 该文件为数据库连接方式配置文件
其他文件暂时没有用到,不做介绍
6、配置文件修改
a、修改dovecot.conf
[root@Mail 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、创建数据库
[root@Mail dovecot]# mysql -uroot -p123456
mysql> grant all privileges on postfix.* to postfix@"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 配置文件
[root@Mail 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 配置文件
[root@Mail 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
[root@Mail conf.d]# /wdata/dovecot/sbin/dovecot -c /etc/dovecot/dovecot.conf
查看服务启动情况
[root@Mail 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","admin@xxxxxx.com","Y"), ("root","xxxxxx.com",MD5("123456"),"/wdata/vmail","2000","2000","root@xxxxxx.com","Y");添加完成后,在邮箱客户端添加账号
测试发邮件
查看收邮件
能够发送、接收邮件,证明没问题,接下来,我们查看postfix和dovecot日志
postfix日志如下
如图所示,如果 status=sent ,说明邮件发送成功,否则邮件发送会有问题,需要检查各项配置。
dovecot日志分为错误日志和常用信息日志,如下图,如果邮件发送成功,而没有接收到邮件,请检查错误日志
dovecot错误日志如下图
一般会明确告诉你,错误处在哪里,这里不多做阐述。
常用信息日志,一般记录各种邮件发送接收的情况,这里就不进行赘述了。
到此,我们的 Dovecot 服务部署完成,经过测试,也可以正常收发邮件,邮件服务器算是搭建完成,但是呢,这时候,我们就会想,我如何管理我的邮件服务器呢,于是乎,我们关心的 Postfixadmin 管理端闪亮登场。
欢迎继续查看我们的下期内容,关于 Postfixadmin 的安装。
未完待续。。。。。。