|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,皮皮你有没?用户办理 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了.
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。 |
|