一. 概述
本指南用于说明如何使用 LDAP 服务器保存邮件系统用户信息。金笛邮件服务器用户验证结构如下:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

验证服务器用于跨数据库, LDAP 服务器的验证中心。邮件服务器把验证请求发送到验证服务器,验证服务器再根据具体的后台用户信息保存类型进行相应的用户信息读取,验证。

 

二. LDAP 服务器设置
本指南以 OpenLDAP 做为例子 LDAP 服务器。配置步骤如下:
1)  把以下 schema 文件 (turbomail.schema) 加入 openldap/etc/schema.
   attributetype ( <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5.1.1.1 NAME  'domain'
       DESC 'domain name'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.2 NAME  'enable'
       DESC 'enable'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )
      
attributetype ( 5.1.1.3 NAME  'enablesmtp'
       DESC 'enable_smtp'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )

 

attributetype ( 5.1.1.4 NAME  'enableimap4'
       DESC 'enable_imap4'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )
      
attributetype ( 5.1.1.5 NAME  'enablepop3'
       DESC 'enable_pop3'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )    
      
attributetype ( 5.1.1.6 NAME  'enablewebaccess'
       DESC 'enable_webaccess'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )    

 

attributetype ( 5.1.1.7 NAME  'enablelocaldomain'
       DESC 'enable_webaccess'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )    

 

attributetype ( 5.1.1.8 NAME  'enablesms'
       DESC 'enable_sms'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )

 

attributetype ( 5.1.1.9 NAME  'maxmailboxsize'
       DESC 'max_mailbox_size'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )  

 

attributetype ( 5.1.1.10 NAME  'maxmailboxmsgs'
       DESC 'max_mailbox_msgs'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )  
      
attributetype ( 5.1.1.11 NAME  'usertype'
       DESC 'usertype'    
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )    
      
      
attributetype ( 5.1.1.12 NAME  'tpassword'
       DESC 'tpassword'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.13 NAME  'modifytime'
       DESC 'modifytime'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.14 NAME  'firstname'
       DESC 'firstname'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.15 NAME  'organiztion'
       DESC 'organiztion'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.16 NAME  'department'
       DESC 'department'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.17 NAME  'address'
       DESC 'address'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.18 NAME  'city'
       DESC 'city'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.19 NAME  'tpostalcode'
       DESC 'tpostalcode'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.20 NAME  'telephone'
       DESC 'telephone'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.21 NAME  'stateprovince'
       DESC 'stateprovince'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.22 NAME  'country'
       DESC 'country'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

 

attributetype ( 5.1.1.23 NAME  'items'
       DESC 'items'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )  
      
attributetype ( 5.1.1.24 NAME  'mobile'
       DESC 'mobile'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

 

attributetype ( 5.1.1.25 NAME  'realname'
       DESC 'realname'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )     
      
attributetype ( 5.1.1.26 NAME  'receivecond'
       DESC 'receivecond'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.27 NAME  'remaincopy'
       DESC 'remaincopy'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.28 NAME  'replacercpt'
       DESC 'replacercpt'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )

 

attributetype ( 5.1.1.29 NAME  'users'
       DESC 'users'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{2046} )
      
attributetype ( 5.1.1.30 NAME  'helodomain'
       DESC 'helodomain'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{2046} )
      
attributetype ( 5.1.1.31 NAME  'bdefault'
       DESC 'bdefault'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{6} )
      
attributetype ( 5.1.1.32 NAME  'enablereg'
       DESC 'enablereg'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{6} )
      
attributetype ( 5.1.1.33 NAME  'domainusers'
       DESC 'domainusers'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )  
      
attributetype ( 5.1.1.34 NAME  'license'
       DESC 'license'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.35 NAME  'totalmailboxsize'
       DESC 'totalmailboxsize'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )  
      
attributetype ( 5.1.1.36 NAME  'notetime'
       DESC 'notetime'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
      
attributetype ( 5.1.1.37 NAME  'state'
       DESC 'state'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )         
      
attributetype ( 5.1.1.38 NAME  'notesetdisable'
       DESC 'notesetdisable'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{5} )
      
attributetype ( 5.1.1.39 NAME  'lastname'
       DESC 'lastname'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

 

attributetype ( 5.1.1.40 NAME  'noteaddress'
       DESC 'noteaddress'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
      
attributetype ( 5.1.1.41 NAME  'username'
       DESC 'username'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

 

objectclass ( 5.1.1.99 NAME 'mailuser'
       DESC 'mailuser'
       SUP top STRUCTURAL
       MUST ( username )
       MAY ( domain $ enable $ enablesmtp $ enableimap4 $
            enablepop3 $ enablewebaccess $ enablelocaldomain $ enablesms $
            maxmailboxsize $ maxmailboxmsgs $ usertype $ tpassword $
            modifytime $ firstname $ lastname $ organiztion $ department $ address $
            city $ tpostalcode $ telephone $ stateprovince $ country $ items $ mobile $
            realname $ receivecond $ remaincopy $ replacercpt $ users ) )
           
objectclass ( 5.1.1.98 NAME 'maildomain'
       DESC 'maildomain'
       SUP top STRUCTURAL
       MUST ( domain )
       MAY ( helodomain $ bdefault $ enablereg $ domainusers $ license $ enable $ enablesmtp $ enableimap4 $
            enablepop3 $ enablewebaccess $ enablelocaldomain $ enablesms $
            maxmailboxsize $ maxmailboxmsgs $ totalmailboxsize $ notetime $
            noteaddress $ state $ notesetdisable $ modifytime ) )

 

2)  配置 ldapd.conf ,加入以下指定 turbomail.schema 的配置。
    include           C:/openldap/etc/schema/turbomail.schema
   
3)  启动 ldap 服务器,加入以下管理员 DN
   dn: cn=Manager,dc=my-domain,dc=com
objectclass: organizationalRole
cn: Manager

 

三. AuthCenter Server 设置
打开 authcenter/conf/sys.conf 配置文件,加入以下指定 ldap 服务器信息:
auth_type=ldap

 

ldap_server=127.0.0.1
ldap_port=389
ldap_base_dn=dc=my-domain,dc=com
ldap_admin_dn=cn=Manager,dc=my-domain,dc=com
ldap_password=12345678
一. 邮件服务器设置
1)  进入邮件系统管理界面,系统设置――》 ldap 参数,如图:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

2)  配置认证中心,进入 系统设置――》认证中心。
3)  指定系统验证类型为“认证中心( LDAP )” 认证方式,进入系统设置――》一般参数。
   

 

二. 启动步骤
设置完毕,系统启动步骤如下:
1)    启动 ldap 服务器
2)    启动 authcenter 服务器 (用 startserver.bat startserver.sh 启动脚本)。
3)    启动 webmail 服务器。
4)    启动 邮件服务器。
 
一切顺利的话,应该就启动成功了 gool luck!