CentOS 5.1下 postfix + extmail + dovecot + maildrop

来源:岁月联盟 编辑:zhuzhu 时间:2008-10-23
CentOS 5.1下 postfix + extmail + dovecot + maildrop内容简介:CentOS 5.1下 postfix + extmail + dovecot + maildrop 最新版安装笔记 安装环境是 CentOS 5.1,分区的时候 对 /var/spool/postfix 和 /var/vmail 进行了单独分区。 /var/spool/postfix 是post CentOS 5.1下 postfix + extmail + dovecot + maildrop 最新版安装笔记
 
安装环境是 CentOS 5.1,分区的时候 对 /var/spool/postfix 和 /var/vmail 进行了单独分区。
/var/spool/postfix 是postfix存储队列的地方, /var/vmail 是用来存储虚拟账号邮件的。
CentOS提供了很方便的yum在线安装,我的基本原则是非重要、对版本不敏感的模块尽量用yum安装,邮件系统主要模块则用源码编译安装。
首先用yum安装的模块有: mysql mysql-server mysql-devel db4-devel openssl gcc libxml2 libxml2-devel gcc-c++
几个模块都需要用到PCRE, 前面说的 gcc-c++ 是安装PCRE必须的。下载安装 RCRE:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz

先说明一下几个模块的搭配。
MTA 用的是 postfix的最新版本 postfix-2.5.5。
web模块是最先需要确定的,因为它决定了mysql表结构,这里选用国产的extmail,其他的根据extmail的需要倒推来确定。
webmail 使用 extmail-1.0.5 ,web管理模块用 extman-0.2.5
最新版本的extmail对maildrop的自动回复、转发等提供了很好的支持,所以MDA采用最流行的maildrop(2.0.4 )
这里面简单说一下为什么要用maildrop。
对虚拟用户投递的支持,postfix自带了一个投递代理(MDA):virtual
virtual投递代理在 master.cf 里描述为:virtual unix - n n - - virtual
如果我们在main.cf 里 设置 virtual_transport = virtual ,就表示对于包含在 virtual_mailbox_domains 域名里的邮件,都使用virtual进行投递。
postfix自带的virtual只提供了最基本的QUOTA功能,如果想使用更复杂的功能,如自动转发,自动回复,邮件自定义过滤等,就需要换成更高级的MDA。
当然可选择的MDA有很多种,比如 procmail, maildrop 等。我这里选用maildrop,为啥?大家都用这个。。。
用户信息存储方式也有很多可选的,比如mysql,ldap等。这里选mysql,原因是各个模块,包括extmail等对这个支持最好最方便最简单。
maildrop 在投递邮件的时候,需要确定一些数据,比如收件用户的Maildir的路径,保存邮件用的uid,gid,邮箱容量等,这些数据需要maildrop的同门师兄 courier-authlib 来提供,所以要先吧courier-authlib装好。
下面要说的是SMTP 的 SASL认证(这个说来话长,有空补上)。postfix的模块化设计在这里也体现出比qmail高明的地方。
postfix 2.3 以后sasl支持三种模块:Cyrus SASL version 1 Cyrus SASL version 2 Dovecot protocol version 1
网上大部分的文章都是讲用 Cyrus SASL 2(并用Cyrus IMAP 提供POP3/IMAP服务),本文采用后起新秀 Dovecot 做为 sasl模块,Dovecot同时提供 POP3/IMAP 服务。
Dovecot使用最新的dovecot-1.1.4 。
开始安装!
下载 postfix-2.5.5.tar.gz
postfix安装的是需要指定几个专门的用户和组,先创建
#groupadd -g 2001 postfix#useradd -g postfix -u 1001 -s /sbin/nologin -M postfix#groupadd -g 2002 postdrop#useradd -g postdrop -u 2002 -s /bin/false -M postdrop
编译#make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=/"dovecot/" /-DHAS_PCRE -DHAS_MYSQL /-I/usr/include/ -I/usr/local/include -I/usr/include/mysql/' /AUXLIBS='-L/usr/local/lib -L/usr/lib/mysql -lmysqlclient -lpcre'#make#make install
make install的提问全部回车默认。注意参数 -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=/"dovecot/" 表示启用SASL身份认证,并默认使用dovecot。mysql的几个路径可以根据实际情况做修改,我这里的目录都是yum默认安装的。
先导入mysql表结构和数据。
下载extman-0.2.5.tar.gz解开后进入 docs目录
建库建表:#mysql -u root -p
上一篇:apt工具