1.2 要求
该文档提到了三种服务器:web服务器,imap服务器和LDAP服务器。这些服务器可以位于独立的主机上,或若干个独立的机 器上(例如:23个web服务器,5个LDAP服务器和10个IMAP服务器),或单台服务器上。同时需要具有在 Linux环境下从源代码安装软件的基本知识
1.3 使用的软件
1.4 特别注释
2. 安装软件 2.1 Web服务器的安装
2.2 LDAP服务器的安装
2.3 IMAP服务器的安装
3. 如何配置服务器协同工作 3.1 LDAP服务器 的配置
同样,需要选择一个用户拥有cyrus管理权限。只有需要在imap服务器上配置cyrus时,才会需要考虑管理问题。另外,最好不要给一个已经 存在的用户添加管理权限,这样做可能导致安全问题或者导致该用户不能查看自己的信件的问题。
3.2 imap服务器的配置
3.3 web服务器
例如,你可以将700,000个用户分配到各个服务器上,平均每台服务 器10000个用户。邮件目的地址是user1@dom.ain的邮件将接入到某台WEB服务器,而该邮件将根据maildrop属性 被转发到地址,而发网user657的邮件将被转发给user657@mail34。而且,maildrop属性同时可以被用作转发地 址,如给user302的信件被转发给someuser@somewhereelse.com。
对IMP的培配置一般将根据软件文档,配置结束以后,需要做如下修 改: 在config/defaults.php教程3增添如下内容:
- /* LDAP/IMAP Server Default */ $default->LDAP_server = 'ldap.dom.ain'; $default->LDAP_dn = 'o=someorg,c=US'; $default->LDAP_search_field = 'uid'; $default->ldap_choose_server = true;
- to mailbox.php3 apply the following patch:
- Index: mailbox.php3 =================================================================== RCS file: /home/cvs/imp/mailbox.php3,v retrieving revision 2.29 diff -c -r2.29 mailbox.php3 *** mailbox.php3 1999/07/29 07:20:00 2.29 --- mailbox.php3 1999/08/04 18:04:10 *************** *** 29,34 **** --- 29,51 ---- require './lib/mimetypes.lib'; require './config/defaults.php3'; + /************LDAP**************/ + + if ($default->ldap_choose_server) { + $ldapconnect = ldap_connect($default->LDAP_server); + if ($ldapconnect) { + print("YES! "); + $ldapbind = ldap_bind($ldapconnect); + $ldaps教程earch = ldap_search($ldapconnect, $default->LDAP_dn, $default->LDAP_search_field."=".$imapuser, array("maildrop")); + $ldapget = ldap_get_entries($ldapconnect, $ldapsearch); + $ldapspl = explode("@", $ldapget[0]["maildrop"][0]); + $server = $ldapspl[1]; + $port = $default->port; + } + }
- + /**********end ldap************/ + + /* Html styles configuration */ require './config/html.php3'; /* Mailbox configuration */
全部配置结束以后,将具有一个高可扩展性的web邮件系统。
注:1999年8月,IMP的新版本已经包含了这些补丁的内容,所以如果使 用新版本的话,就不需添加这些内容。
4. Miscellaneous 4.1 Adding Users
这里是一小段向LDAP服务器中增添用户的代码,并且同时向cyrus增添一个邮件用户。这是针对 IMAP服务器设计的,但是你可以修改其适应别的环境。
- <?php
- $ldapconn = ldap_connect("ldap.dom.ain");
- $machine = "mail01";
- if ($ldapconn)
- {
- $ldhb = ldap_bind($ldapconn, "cn=cyrusadmin, o=someorg,c=US","password");
- $dn = "uid=". $username .", o=someorg, c=US";
- $info["uid"]=$username;
- $info["userpassword"] = $password;
- $info["objectclass"] = "account";
- $info["maildrop"] = $username ."@" .$machine .".dom.ain";
- $info["mailacceptinggeneralid"] = $username;
- $ldhb = ldap_add($ldapconn, $dn, $info);
- ldap_close($ldapconn);
- }
- $imapconn = imap_open("{" .$machine .".dom.ain:143}", "cyrusadmin","password");
- if ($imapopen)
- {
- imap_createmailbox($imapconn, "{" .$machine ."dom.ain:143}user.".$username );
- imap_close($imapconn);
- }
- ?>
新闻热点
疑难解答