Linux下基于web的邮件服务IMP的简介与安装[3]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

Cyrus 1.5.19 (注意: 不要用1.6版本)
postfix 19990627
pwcheck_ldap patch for cyrus 1.5
IMP (2.0.4, 2.0.10, 2.1.3-dev也测试过)
UW IMAP (提供c-client库)
注意: cyrys 1.6使用了一种新的认证方式,名为SASL.pwcheck_ldap这个补丁没有针对这种认证方式进行开发.有人说一个针对SASL的LDAP补丁程序已经在开发了,但那个补丁什么时候能够应用,现在讨论这个问题是没有意义的.


1.4 特别注意
这份文档中提出的解决方案中有一点还没有能够做到高可扩展性,那就是SQL server.IMP使用SQL server来保存session数据、邮箱配置和地址簿.IMP的作者现在在设计一种让SQL Server也能够做到容易扩展的方法.


2. 软件安装


2.1 Web服务
在web服务器上,你需要安装Apache, PHP, postfix, OpenLDAP, UW IMAP, 和 IMP.


安装Apache和PHP是很快的,安装的具体步骤在PHP的安装文档中有说明.你必须把LDAP和IMAP 的支持模块编译到PHP中.


按照postfix附带的文档来安装postfix,特别是LDAP_README这个说明文件


2.2 LDAP服务
在LDAP服务器上,你需要安装OpenLDAP,而且需要确定一个root dn(比如:cn=root,dc=rayesmail,dc=com)并且把它添加到LDAP的目录中.(译者注:在slapd.conf中指定)


2.3 IMAP服务
在IMAP服务器上,你需要安装LDAP, postfix, Cyrus, 和专为cyrus开发的pwcheck_ldap补丁程序. 按照postfix的文档安装支持LDAP的postfix. 按照Cyrus的文档来安装Cyrus和按照pwcheck_ldap的文档来添加pwdcheck_ldap.c.不要忘记了要更改pwcheck_ldap.c文件中的设置使得与你的LDAP目录服务器主机和base dn(译者注:目录的一部分,比如说是o=mailgroup,dc=rayesmail,dc=com)相符.最后,需要在pwcheck_ldap.c中添加下面的一行:


#include


如果你是使用Linux来作为IMAP服务器,你可能需要在pwcheck_ldap.c中做一些语法更正(我现在忘记了哪是正确的),以保证正常编译.使用下面的命令来配置cyrus:


./configure --with-login=unix_pwcheck --with-pwcheck=ldap


在pwcheck_ldap的文档中漏掉了--with-login这个配置参数.编译,然后按照cyrus的文档来安装.


3. 服务配置


3.1 LDAP服务
除了你用到的其他属性,每一个mail用户在LDAP目录中的目录项必须要有下面的属性(假设你的basedn是 o=someorg,c=US):


dn: uid=someuser, o=someorg, c=us
uid: someuser
userpassword: somepassword
maildrop: fulladdress@machine.dom.ain
mailacceptinggeneralid: someuser


(你也可以使用别名,如下所示)


mailacceptinggeneralid: somealias


同时,你需要为cyrus指定一个具有管理员权限的帐号.除非你在imap服务器上配置cyrus,否则你没有必要担心这个问题.但是你心里要清楚这一点.另外一点就是不要指定一个已经存在的帐号来作为管理员,问题可能会 出现安全漏洞或者造成该用户无法收邮件.


3.2 imap服务
配置imap服务器上的postfix,使得它使用LDAP目录来作为它的别名映射.配置的说明可以在 postfix文档中的LDAP_README文件中找到.Cyrus的安装说明已经包含在它的软件包里面.同时,不要忘了使pwcheck生效和在imap.conf中添加你的管理员帐号.


3.3 web服务
在这一步中,要把web服务器配置成收发邮件的终端.配置postfix,使得它使用LDAP目录来作为它的别名数据库.postfix所做的工作就是在LDAP目录中检索对应邮件用户目录项的maildrop属性值,并且把邮件转发到maildrop属性值所指定的邮件地址中,因此在maildrop属性中必须指定完整的邮件服务器名称.


你可能有700,000个用户分布到不同的服务器上.发送给user1@dom.ain的电子邮件将转发到maildrop地址user1@mail05@dom.ain,而发送给user657@dom.ain的电子邮件将转发到user657@mail34上.另外,maildrop属性也可以指定一个其他的转发地址.比如说user302的maildrop属性值为someuser@somewhereelse.com,那么发送给user302的电子邮件就会转发到someuser@somewhereelse.com这个邮件地址中.


按照IMP的文档把IMP配置好,然后做下面的更改工作:


在config/defaults.php3添加下面几行:


/* LDAP/IMAP Server Default */
$default->LDAP_server = ldap.dom.ain;

本文关键:Linux下基于web的邮件服务IMP的简介与安装
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top