分享
 
 
 

ldap+qmail+postaci安装和用户管理

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

ldap+qmail+postaci安装,用户管理

参考文献:

1. 建一个大容量的webmail系统 (作者:谢顺华)。目前唯一能找到的中文qmail+ldap资料

2. Postaci Webmail

基于php的webmail系统, 支持pop3, imap, 使用数据库做缓存. 相对于imp和sqwebmail来说, 配置相当容易, 而且界面很好.

3. [url=http://www.pccode.net].net

/projects/alldap/"Simple ldap user admin tool

For Qmail的php版用户管理, 可以设置用户资料, 别名, maillist, 公司组织...

4. Softerra LDAP Browser

win32的ldap查看修改工具

5. Life With qmail-ldap

6. Life With qmail

说明:

考虑到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了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有