|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
ldap+qmail+postaci 安装, 用户治理 参考文献: 1. 建一个大容量的webmail系统(作者:谢顺华) 目前唯一能找到的中文qmail+ldap资料 http://www.linuxforum.net/doc/webmail.html 2. Postaci Webmail 基于php的webmail系统, 支持pop3, imap, 使用数据库做缓存. 相对于imp和sqwebmail来说, 配置相称轻易, 而且界面很好. (http://www.trlinux.com/) 3. Simple ldap user admin tool For Qmail的php版用户治理, 可以设置用户资料, 别名, maillist, 公司组织... http://sourceforge.net/projects/alldap/ 4. Softerra LDAP Browser win32的ldap查看修改工具 http://www.ldapbrowser.com 5. Life With qmail-ldap http://www.lifewithqmail.org/ldap/ 6. Life With qmail http://www.lifewithqmail.org/ 说明: 考虑到qmail使用系统用户在治理上不大方便. 而使用mysql作为用户又会和mysql用户冲突, 而且mysql的局限性很大, 没有ldap的open和自由扩展特性. 使用ldap后, 利用php的ldap函数就可以实现用户治理, 用户可方便的自行编程解决用户治理. 因为不是虚拟主机, 所以选用了配置简朴, 好用的Postaci和Simple ldap user admin tool. 适合单一团体/公司使用. 安装: 1. openldap请参考文献1的步骤1.在/etc/openldap目录下是openldap的设置, 除了要按参考1中增加qmail的qmailUser类型外, 还要注重修改slapd.conf文件, 要害内容如下: #你的公司名, 最好用站点名 suffix "dc=test, dc=com" #治理员名称, 类似于系统治理员. 很长, 但是很重要. rootdn "cn=Manager, dc=test, dc=com" #治理员密码(这里用的是明文密码) rootpw secret 加入基本数据: ldapadd -D "cn=Manager,dc=test, dc=com" -W dn: dc=test, dc=com objectclass: dcObject objectclass: organization o: test Company dc: test dn: cn=Manager, dc=test, dc=com objectclass: organizationalRole cn: Manager 2. qmail需要加for ldap的补丁, 并且配置pop3, imap, sendmail.请参考文献1中的步骤2. 其中注重以下事项: ldap要求qmail使用Maildir格式, 所以, 要修改/var/qmail/rc如下: exec env - PATH="/var/qmail/bin:$PATH" / qmail-start "`cat /var/qmail/control/defaultdelivery`" splogger qmail 在/var/qmail/control/defaultdelivery中内容如下: ./Maildir/ /var/qmail/control/ldapuid和ldapgid是ldap用户资料中的qmailUid/qmailGid的缺省值, 设置后ldap中可不必设置. 注重此处uid和gid必是存放mail目录的uid/gid, 一般是/mail, 属性是750, 不可对其它人可写, 否则出错. 考虑到要在php中执行治理用户的操作, 所以这个uid/gid和apache的一样, 可以在apache/conf/httpd.conf中修改. 注重虚拟主机时可能会有安全问题. 用tail -n 30 /var/log/maillog可以查看发送mail的过程记录, 错误会被记录在内, qmail出错时会自动回信给发件人, 不加-n 30只会看到自动回信的准确信息! RedHat7中使用xinetd, 不同于老版的inetd, 配置文件放在/etc/xinetd.d/下, 修改如下: pop3文件: #default: off # description: The POP3 service allows remote users to access their mail / # using an POP3 client such as Netscape Communicator, mutt, / # or fetchmail. service pop3 { socket_type = stream protocol = tcp wait = no user = root server = /var/qmail/bin/qmail-popup server_args = test.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir only_from = 0.0.0.0 log_type = FILE /var/log/maillog disable = no log_type = FILE /var/log/xinetd.log log_on_success = HOST log_on_failure = HOST RECORD } smtp文件: # default: off # description: The POP3 service allows remote users to access their mail / # using an POP3 client such as Netscape Communicator, mutt, / # or fetchmail. service smtp { socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = -R /var/qmail/bin/qmail-smtpd log_type = FILE /var/log/maillog env = NODNSCHECK="" log_on_success = HOST log_on_failure = HOST RECORD only_from = 0.0.0.0 disable = no } 假如有其它pop3, smtp的服务应该设定其disable项为yes, 以免冲突. /var/qmail/control/下的控制文件可以参考文献1的步骤5,一般需要以下文件: ldapbasedn,ldaplogin,ldappassword,ldapuid,ldapgid,ldapserver 3. 安装php版ldap用户治理工具.(参考文献3) 主要配置都在common.inc文件里面, 假如你的php系统没有对.inc文件处理, 会暴露出系统配置, 建议修改成 common.inc.php, 然后分别修改index.php和format.php的第二行. common.inc.php主要修改如下: 也可以参考postaci的安装文件: //刚开始的时候可能问题很多, 建议设置成1, 以便观察错误在哪里. $debug = 0; //这里有些地方可能适合虚拟主机情况, 这里没用到, 待研究 $root_dn = "dc=test, dc=com"; $exchanges_dn = "".$root_dn; $people_dn = "".$root_dn; $lists_dn = "".$root_dn; //这里要注重和步骤1中设置一致 $ldap_host = "localhost"; $bind_dn = "cn=Manager, dc=test, dc=com"; $pw = "secret"; $mainTitle = "LDAP user admin"; //这里要和步骤2中设置一致 $qmailuid = 501; $qmailgid = 501; $messageStoreDir = "/mail"; $mailQuota = "10000000000S,100000C"; $generalUser = "steeven"; /* not sure on the relevance of this... */ $mailHost = "test.com"; //你的公司部门, 可增减, 自己汉化吧 :) $org_units = array( "Routed", "Switched", "Colocation", "Networks", "Metro", "Recruitment", "Commercial", "Finance", "IT", "Marketing" ); $acc_status = array( "active", "nopop", "disabled" ); $default_email = "test.com"; $logoImg = "../poweredby.png"; $ver = "0.03"; 这个老外写的治理工具很好用, 可以设置转发mail, 无限mail别名; 按地域划分公司组织, 下面又分部门, 每个部门又可以指定邮件, 发给部门的邮件可以指定哪些人来接受. 也可以自定义一些maillist, 治理参加人员. 充分体现了ldap的灵活性. 难怪notes, windows都向ldap靠拢 :) 假如qmail没有设置成自动创建用户目录, 可以在add.php第188行增加如下代码: if (!is_dir($messageStoreDir."/".$uid[0])){ mkdir($messageStoreDir."/".$uid[0],0770); } if (!is_dir($messageStoreDir."/".$uid[0]."/".$uid)){ mkdir($messageStoreDir."/".$uid[0]."/".$uid,0770); } 在add.php中增加用户时的LoginId好像也有点问题, 可直接采用firstName: function create_username() { var first_str = document.user_details.elements[2].value; document.user_details.elements[11].value = first_str.toLowerCase(); } 利用参考文献4中的LdapBrowser可以看到对LDAP的相关修改, 或者手动修改. 4. 安装Postaci, webmail(参考文献2). 这是一个基于php的webmail, 具有比较完善的功能, 而且支持imap, pop3. 需要mysql支持. 用户可以自行汉化, 文件在lang目录下. 解压后修改includes目录下global.inc文件(有安全顾虑, 参考步骤3), 里面有配置说明. Following doc/INSTALL to install 安装完成后添加适当用户, 然后就可以通过becky, outlook, foxmail....等收发邮件. 用浏览器打开postaci的安装目录就可以通过web收发mail了. 返回类别: 教程 上一教程: Pattern Modifiers - 规则表达式的修饰符 下一教程: 利用static实现表格的颜色隔行显示 您可以阅读与"ldap+qmail+postaci 安装, 用户治理"相关的教程: · LDAP安装 · Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安装(转二) · Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安装(转一) · Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安装(转四) · Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安装(转三) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |