邮件系统服务器搭建记录(四)(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] ~]# tar -xf extman-1.1.tar.gz

新建/var/www/extsuite目录,并将解压得到的extmail和extman目录移到该目录下:

[[email protected] ~]# mkdir -pv /var/www/extsuite
[[email protected] ~]# mv extmail-1.2 /var/www/extsuite/extmail
[[email protected] ~]# mv extman-1.1 /var/www/extsuite/extman

进入/var/www/extsuite/extman/docs目录,可以发现2个命名以sql结尾的文件:

[[email protected] ~]# cd /var/www/extsuite/extman/docs/
[[email protected] docs]# ls *.sql
extmail.sql  init.sql

两个均为mysql脚本,extmail.sql用于建立extmail数据库和相关表结构;init.sql用于插入一些初始化数据,使用mysql命令以root身份运行:

[[email protected] ~]# mysql -uroot <extmail.sql
[[email protected] ~]# mysql -uroot <init.sql

此时mysql中已经建立了extmail数据库,并且与虚拟用户、虚拟域相关的表结构都已经建立。

注:如果mysql是5.1以上的版本,那么上述脚本运行时可能会有错误,需要将脚本中的"TYPE=MyISAM"修改为"ENGINE=InnoDB"。

10. 配置cyrus-authlib的authmysqlrc文件

此时mysql中已生成了extmail数据库,并建立了extmail用户用于访问extmail数据库,于是可以依此对cyrus-authlib的mysql配置文件/etc/authmysqlrc进行配置:

[[email protected] ~]# vi /etc/authmysqlrc
MYSQL_SERVER            localhost    #mysql服务器所在地址
MYSQL_USERNAME          extmail    #访问mysql的用户名
MYSQL_PASSWORD          extmai    #访问mysql的用户口令
MYSQL_SOCKET    /var/lib/mysql/mysql.sock    #mysql套接字文件所在地址
MYSQL_PORT              3306    #mysql服务监听端口
MYSQL_OPT               0    #可选项
MYSQL_DATABASE          extmail    #库名,extman提供的脚本建立的是extmail库
MYSQL_USER_TABLE        mailbox    #要访问的虚拟用户信息所在的表名
MYSQL_CRYPT_PWFIELD     password    #验证虚拟用户所用到的口令,使用extmail库中mailbox表的password字段表示
MYSQL_UID_FIELD         2525    #启动mysql服务的系统用户的UID,因为是postfix用户调用postfix和courier-authlib,所以应该是postfix用户的UID
MYSQL_GID_FIELD         2525    #启动mysql服务的系统用户的GID
MYSQL_LOGIN_FIELD       username    #虚拟用户名,使用extmail库中mailbox表的username字段表示
MYSQL_HOME_FIELD        concat(‘/mailbox/‘,homedir)    #虚拟用户家目录的地址,具体用户的家目录地址使用/mailbox/+存放在extmail库mailbox表的homedir字段值拼接而成
MYSQL_NAME_FIELD        name    #虚拟用户姓名
MYSQL_MAILDIR_FIELD     concat(‘/mailbox/‘,maildir)    #虚拟用户存放邮件的地址,具体用户的家目录地址使用/mailbox/+存放在extmail库mailbox表的maildir字段值拼接而成

11. 配置postfix支持虚拟用户

编辑postfix的配置文件/etc/postfix/main.cf,加入如下配置参数:

#virtual
virtual_mailbox_base = /mailbox    #配置虚拟用户邮箱所在基本目录
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf    #配置虚拟用户邮箱地址
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf    #配置虚拟域
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf    #配置虚拟用户别名
virtual_uid_maps = static:2525    #访问所有虚拟邮件用户时,需要使用操作系统用户进行代理访问,代理访问的系统用户UID
virtual_gid_maps = static:2525    #访问所有虚拟邮件用户时,需要使用操作系统用户进行代理访问,代理访问的系统用户GID
virtual_transport = virtual    #支持虚拟用户所使用的postfix驱动为virtual

注:如果对虚拟用户的邮箱启用配额控制,可以补充加入如下配置参数:

message_size_limit = 14336000    #单条邮件大小的最大值,以字节为单位
virtual_mailbox_limit = 52428800    #单用户邮箱容量的最大值,以字节为单位

上述配置中,virtual_mailbox_maps,virtual_mailbox_domains,virtual_alias_maps参数值格式都为mysql:配置文件地址,表示postfix将查找mysql中表记录的方式来获取对应的参数值,postfix的查找表类型是支持mysql的:

[[email protected] ~]# postconf -m | grep mysql
mysql

对应的虚拟用户邮箱地址、虚拟域、虚拟用户别名的配置文件,extman已经提供,位置在/var/www/extsuite/extman/docs/下,将其复制到/etc/postfix/目录下即可:

[[email protected] ~]# cd /var/www/extsuite/extman/docs/
[[email protected] docs]# ls  -l mysql_virtual_*
-rw-r--r--. 1 postfix postfix 166 Dec 15  2005 mysql_virtual_alias_maps.cf
-rw-r--r--. 1 postfix postfix 168 Feb 25  2007 mysql_virtual_domains_maps.cf
-rw-r--r--. 1 postfix postfix 170 Dec 15  2005 mysql_virtual_limit_maps.cf
-rw-r--r--. 1 postfix postfix 172 Dec 15  2005 mysql_virtual_mailbox_maps.cf
-rw-r--r--. 1 postfix postfix 173 Mar  7  2007 mysql_virtual_sender_maps.cf
[[email protected] docs]#cp mysql_virtual_* /etc/postfix/

12. 修改cyrus-sasl关于smtpd的配置文件/usr/lib64/sasl2/smtpd.conf,由authdaemond进程(courier-authlib服务提供)接管认证工作:

[[email protected] ~]# vi /usr/lib64/sasl2/smtpd.conf
pwcheck_method: authdaemond
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket    #authdaemond使用套接字通信的套接字文件所在路径

下一篇文章将介绍配置dovecot来支持访问mysql完成收件认证工作,以及部署extmail和后台管理程序extman

时间: 2024-10-21 08:51:52

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

邮件系统服务器搭建记录(五)(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默认使用的收件认证方式是系统账号口令验证

邮件系统服务器搭建记录(一)(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以及万网,下面分别一一介绍下

Linux服务器集群架构部署搭建(四)WEB服务器LNMP/LAMP搭建部署及站点产品安装(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 集群WEB服务器LNMP生产应用 1.1 Nginx的应用场合:根据功能来进行应用 ①静态服务器(图片,视频服务)国内使用的只有两款,另一个是lighttpd.百度贴吧.豆瓣.html.js.css.flv等. ②动态服务:nginx+fastcgi的方式运行php.jsp.动态的并发很少(根据优化达到500-1500),