邮件系统服务器搭建记录(五)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)

13.  配置dovecot访问mysql进行验证

dovecot本身是支持mysql认证方式的,其在/etc/dovecot/conf.d/下提供了名为auth-sql.conf.ext的配置文件:

[[email protected] ~]# cd /etc/dovecot/conf.d/
[[email protected] conf.d]# ls auth-master.conf.ext 
auth-master.conf.ext

但dovecot默认使用的收件认证方式是系统账号口令验证,因此auth-sql.conf.ext默认不被加载,所以要编辑/etc/dovecot/conf/10-auth.conf加载该文件:

[[email protected] conf.d]# vi 10-auth.conf 
#!include auth-system.conf.ext    #注释该行
!include auth-sql.conf.ext    #启用该行

上述修改表示将不再加载系统账号口令验证的配置文件,而加载mysql认证的配置文件。

配置auth-sql.conf.ext文件:

[[email protected] conf.d]# vi auth-sql.conf.ext
passdb {  
    driver = sql    #sql驱动  
    # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext  
    args = /etc/dovecot/dovecot-sql.conf    #详细配置文件
}

userdb {  
    driver = sql    #sql驱动  
    args = /etc/dovecot/dovecot-sql.conf    #详细配置文件 
}

在/etc/dovecot下创建dovecot-sql.conf文件,并添加如下内容:

[[email protected] dovecot]# vi dovecot-sql.conf
driver = mysql    #驱动
connect = host=localhost dbname=extmail user=extmail password=extmail    #连接数据库配置
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = ‘%u‘
user_query = SELECT maildir,uidnumber AS uid,gidnumber AS gid FROM mailbox WHERE username = ‘%u‘

注:auth-sql.conf.ext文件的passdb和userdb的driver配置的内容不同于dovecot-sql.conf的driver,一个为sql,一个为mysql(我也不知道为什么,是否为固定格式?)

如果重启dovecot后,在/var/log/maillog中发现如下错误提示:Unknown passdb driver ‘mysql‘,请安装dovecot-mysql包。

14. 配置ExtMail和ExtMan

ExtMail提供了名为webmail.cf的配置文件,可以对其程序内容和访问mysql方式进行修改,编辑/var/www/extsuite/extmail/webmail.cf:

[[email protected] ~]# cd /var/www/extsuite/extmail/
[[email protected] extmail]# cp webmail.cf webmail.cf.default
[[email protected] extmail]# vi webmail.cf
SYS_USER_LANG = zh_CN    #修改默认语言
SYS_MAILDIR_BASE = /mailbox    #修改maildir路径
SYS_MYSQL_USER = extmail    #访问mysql的用户,同extmail库一致
SYS_MYSQL_PASS = extmail

ExtMan提供的配置文件名称为webman.cf,编辑/var/www/extsuite/extman/webman.cf:

[[email protected] extmail]# cd ..
[[email protected] extsuite]# cd extman/
[[email protected] extman]# cp webman.cf webman.cf.default
[[email protected] extman]# vi webman.cf
SYS_MAILDIR_BASE = /mailbox
SYS_CAPTCHA_ON = 0    #不使用验证码验证登录
SYS_DEFAULT_UID = 2525    #运行该程序的用户UID,应为postfix的UID
SYS_DEFAULT_GID = 2525    #运行该程序的用户GID,应为postfix的GID
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail

创建/tmp/extman目录,并修改属主属组为postfix:

[[email protected] ~]# mkdir /tmp/extman
[[email protected] ~]# chown postfix.postfix /tmp/extman

15. 部署ExtMail和ExtMan

到现在为止,postfix已经配置支持虚拟用户,courier-authlib和cryus-sasl也配置支持访问mysql进行虚拟用户的发件验证,dovecot也可以访问mysql进行虚拟用户的收件验证了,webmail也完成了配置,那么现在只要将ExtMail和ExtMan部署,并通过ExtMan提供的Web管理接口创建虚拟用户和虚拟域,就可以对整个邮件系统进行测试了!

由于收发邮件的服务都是由postfix用户运行的,所以要将ExtMail和ExtMan的Web应用程序文件(见第9节)父目录/var/www/extsuite的属主和属组修改为postfix:

[[email protected] ~]# chown -R postfix.postfix /var/www/extsuite/

修改apache服务器配置文件/etc/httpd/conf/httpd.conf:

[[email protected] ~]# vi /etc/httpd/conf/httpd.conf 
<VirtualHost *:80>    #开启虚拟主机
    DocumentRoot /var/www/extsuite/extmail/html/
    ServerName mail.ahltnew.com    #与系统主机名一致
    ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
    Alias /extmail /var/www/extsuite/extmail/html
    ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
    Alias /extman /var/www/extsuite/extman/html
    SuexecUserGroup postfix postfix    #表示切换成postfix用户和postfix组来运行该Web程序
</VirtualHost>

16. 重启所有相关服务

至此,所有的配置都已完成,重启如下服务:

[[email protected] ~]# service postfix restart    #postfix
[[email protected] ~]# service saslauthd restart    #cyrus-sasl
[[email protected] ~]# service courier-authlib restart   #courier-authlib
[[email protected] ~]# service dovecot restart    #dovecot
[[email protected] ~]# service httpd restart    #apache server

至此,邮箱系统搭建基本结束。

注:postfix,courier-authlib,cyrus-sasl,dovecot运行过程中的日志可以通过/var/log/maillog进行查看,apache server的日志则通过/var/log/httpd/error_log进行查看。

访问http://主机IP/extmail来登录extmail,如果页面提示Unix::Syslog not found,请安装perl-Unix-Syslog软件包:

[[email protected] ~]# yum install perl-Unix-Syslog

可以只将select的权限赋予mysql的extmail用户,新建一个mysql用户用于修改extmail库记录内容,同时修改webman.cf的SYS_MYSQL_USER和SYS_MYSQL_PASS配置项内容为该用户名和口令,即可以实现WebMail的访问和管理的权限分离。

时间: 2024-08-11 22:11:51

邮件系统服务器搭建记录(五)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)的相关文章

邮件系统服务器搭建记录(四)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)

8. 安装Apache Http Server: [[email protected] ~]# yum install httpd 9. 下载ExtMail和ExtMan,并使用Extman提供的Mysql脚本初始化extmail数据库 访问Extmail官方网站(http://www.extmail.org/)下载ExtMail和ExtMan程序包,解压: [[email protected] ~]# tar -xf extmail-1.2.tar.gz [[email protected] 

邮件系统服务器搭建记录(一)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)

注:本文介绍的是有关软件的安装过程和配置方法,不涉及原理介绍.如要了解邮件系统的运行原理,请参考附件中的链接.文中涉及技术和资料来源于网络,非本人原创,本文仅供个人总结和学习参考. 首先介绍下搭建所需的软件和部署环境: MTA: Postfix 3.0.3 SASL: Cyrus-sasl 2.1.23 ; Courier-authlib 0.66.1(Cyrus-sasl使用Courier-authlib与MySQL建立关联) MDA: Dovecot 2.0.9 DataBase: MySQ

邮件系统服务器搭建记录(二)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)

5. 通过yum安装dovecot和配置dovecot 第4节中介绍了postfix的配置,并测试了postfix的发送邮件功能.你可以在服务器上使用mail命令来接受发送到本机域名用户邮箱中的邮件.但是你如果想使用MUA远程来接收邮件,那么则需要使用一个支持POP3/IMAP的服务来帮助MUA将邮箱中的邮件拉取到本地,比如dovecot. [[email protected] ~]# yum install dovecot 编辑/etc/dovecot/dovecot.conf文件,修改以下行

CentOS下javaweb服务器搭建记录(持续更新)

使用putty完成windows向linux发送文件 在windows cmd下 pscp <windows file> [email protected]<Host IP>:<linux dir> 比如: pscp jdk-8u161-linux-x64.tar.gz [email protected]:/root/java 将当前目录下的jdk安装包发给linux服务器的root/java文件夹 使用putty完成linux服务器向windows发送文件 同样是在w

TACACS+/RADIUS服务器搭建记录

1.TACACS+相关信息 TACACS+软件下载地址 TACACS+首页介绍 2.RADIUS软件下载地址 1)FreeRADIUS下载地址 2)安装RADIUS的经典文章 3)

编译安装postfix+sasl+mysql+dovecot+extmail构建完成的邮件系统(二)

十.安装Courier authentication library 1.courier简介 courier-authlib是Courier组件中的认证库,它是courier组件中一个独立的子项目,用于为Courier的其它组件提供认证服务.其认证功能通常包括验正登录时的帐号和密码.获取一个帐号相关的家目录或邮件目录等信息.改变帐号的密码等.而其认证的实现方式也包括基于PAM通过/etc/passwd和/etc/shadow进行认证,基于GDBM或DB进行认证,基于LDAP/MySQL/Post

烂泥:Postfix邮件服务器搭建之虚拟用户配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 在前一篇文章<烂泥:Postfix邮件服务器搭建之软件安装与配置>中,我们介绍了psotfix邮件服务器搭建所需要的软件,以及各个软件的基本配置. 目前已经达到了通过系统用户可以登录到postfix邮件服务器,但是为了管理的方便和系统安全,我们一般是通过postfix的虚拟用户来管理邮件用户的. Postfix虚拟用户的原理是,先在系统中创建一个用户,该用户不能登录到系统,然后把邮件

烂泥:Postfix邮件服务器搭建之准备工作

说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正式安装postfix之前,我们先来介绍在搭建之前所需要做的准备工作. 一.域名解析 因为邮件服务器牵涉到域名的问题比较多,所以在此我们先来介绍有关域名解析的相关配置. 我们需要在域名解析控制台添加MX.TXT和相关的A记录,在平时的域名解析过程中,使用最多的是DNSPod以及万网,下面分别一一介绍下

postfix-企业邮件服务器搭建完整版

声明:本文为个人原创,引用请申明出处.此文在百度文库等地方上传过.百度文库ID:denhuaibo!此文最早上传于2014年. 附件提供文档下载. postfix邮件服务器安装配置文档           目录 简介... 2 构建运行环境... 2 安装配置postfix. 5 在客户端发送邮件... 7 另一种认证更简单... 11 在客户端接收邮件... 12 邮件传输加密... 13 邮件病毒扫描... 14 广告邮件的抵挡... 19 邮件监控... 20 简介 这是一个集成项目,请仔