ChinaUnix首页 > 精华文章 > LDAP > 正文

[精华] qmail+LDAP安装配置实例


http://www.chinaunix.net 作者:netloafer  发表于:2007-11-21 21:24:58
发表评论】 【查看原文】 【LDAP讨论区】【关闭

目前网上关于qmail+LDAP的配置不是很多,而且大多数是英文的。而qmail和openldap的配置没有详细的配置文档。前一段时间因为工作关系配置了qmail+LDAP的服务器。现在将其整理处理,以供大家参考。希望对于大家有所帮助。 
Qmail 是基于类似UNIX操作系统的Internet Mail Transfer Agent (MTA) 。我的安装环境是linux7.1 内核是2.4.2,gcc version 2.96,组件全部安装。 
安装步骤 
1.操作系统: 
Red Hat Linux 7.1 kernel 2.4.2 gcc 2.96 
2.所需软件包: 
qmail-1.03.tar.gz (http://www.qmail.org) 
ucspi-tcp-0_88_tar.gz (http://cr.yp.to/ucspi-tcp.html) 
checkpassword-0_90_tar.gz (http://cr.yp.to/checkpwd.html) 
qmail-ldap-1_03-20010301_patch.gz (http://www.nrg4u.com/) 
openldap-2_0_7.tgz (http://www.openldap.org) 
daemontools, ftp://cr.yp.to/daemontools/daemontools-0.70.tar.gz 
3.主机IP地址和域名配置,在本例中为: 
IP:172.18.6.111 
域名:longshine.com 
4. System requirements 
5. 安装步骤 
将所有需要安装的包拷贝到/usr/local/src/qmail目录项目 
mkdir -p /usr/local/src/qmail 
mv *.tar.gz /usr/local/src/qmail 
然后解开安装下面步骤解开这些包 
su - 
umask 022 
cd /usr/local/src/qmail 
tar zxvf qmail-1.03.tar.gz 
tar xvf ucspi-tcp-0.88.tar.gz 
tar zxvf daemontools-0.70.tar.gz 
tar zxvf checkpassword-0.90.tar.gz 
解开的数据包应该处在qmail-1.03, ucspi-tcp-0.88, daemontools-0.70和checkpassword-0.90目录下,进入qmail目录。 
cd qmail-1.03 
建立相应的安装目录 
由于qmail安装程序会产生其需要的子目录,所以只要生成安装所需的"home" 目录: 
mkdir /var/qmail 
ln -s /usr/man /var/qmail/man 
mkdir /etc/qmail 
ln -s /etc/qmail /var/qmail/control 
ln -s /usr/sbin /var/qmail/bin 
生成qmail安装需要的用户以及组 
# groupadd nofiles 
# useradd -g nofiles -d /var/qmail/alias alias 
# useradd -g nofiles -d /var/qmail qmaild 
# useradd -g nofiles -d /var/qmail qmaill 
# useradd -g nofiles -d /var/qmail qmailp 
# groupadd qmail 
# useradd -g qmail -d /var/qmail qmailq 
# useradd -g qmail -d /var/qmail qmailr 
# useradd -g qmail -d /var/qmail qmails 
编译安装 
现在可以编译安装qmail: 
make setup check 
在编译安装完成,需要进行配置如果DNS配置正确,只需执行下面的命令: 
./config 
如果config在DNS中不能找到主机名,则需要执行config-fast 脚本: 
./config-fast longshine. com 
qmail 现在已经安装起来了,下面开始是启动和配置qmail。 
安装 ucspi-tcp 
进入 ucspi-tcp 目录: 
cd /usr/local/src/qmail/ucspi-tcp-0.88 
make 
make setup check 
这样ucspi-tcp 安装起来了。 
安装daemontools 
进入 daemontools 目录: 
cd /usr/local/src/qmail/daemontools-0.70 
make 
make setup check 
安装checkpassword 
进入 checkpassword 目录: 
cd /usr/local/src/qmail/checkpassword-0.90 
make 
make setup check 
注: 在某些LINUX版本中(我的安装环境redhat 7.1), 如Red Hat 7,可能在编译过程中会生成错误: 
./compile tai64nlocal.c 
tai64nlocal.c: In function `main': 
tai64nlocal.c:54: warning: assignment makes pointer from integer without a cast 
tai64nlocal.c:55: dereferencing pointer to incomplete type 
等等…. 
如果这样按照下面说明编辑tai64nlocal.c 
#include 
更改为: 
#include 
生成/service 目录: 
mkdir /service 
最后配置svscan 使得当系统启动时候自动允许。编辑 /etc/inittab 文件将下面一行加入文件最后(注意是在一行中): 
SV:123456:respawn:env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin svscan /service /dev/console 2>;/dev/console 
然后执行下面命令重新读人/etc/inittab: 
kill -HUP 1 
可以使用"ps -ef | grep svscan" 或者 "ps waux | grep svscan" 证实svscan 正在运行。 
启动qmail 
2.8.1. /var/qmail/rc 
编辑产生/var/qmail/rc文件将下面命令进入其中 
#!/bin/sh 
# Using stdout for logging 
# Using control/defaultdelivery from qmail-local to deliver messages by default 
exec env - PATH="/var/qmail/bin:$PATH" 
qmail-start "`cat /var/qmail/control/defaultdelivery`" 
chmod 755 /var/qmail/rc 
mkdir /var/log/qmail 
 在qmail中,支持三种邮件存储方式,分别是典型的/var/spool/mail方式、传统的Unix user/Mailbox方式和新的 user/Maildir方式,其中前两种方式为大多数的邮件客户端所支持,但是它们均存在安全上的隐患,所以在这里使用了第三种方式,下面分别叙述三种方式的建立方法: 
  /var/spool/mail 方式 
  #cp /var/qmail/boot/proc /var/qmail/rc 
  user/Mailbox 方式 
  #cp /var/qmail/boot/home /var/qmail/rc 
  user/Maildir 方式 
  1)#cp /var/qmail/boot/home /var/qmail/rc 
2)建立相应的邮件用户,例如: 
#useradd test 
  #passwd test 
  3)使用qmail提供的工具建立Maildir,命令如下: 
  $ /var/qmail/bin/maildirmake Maildir 
  $ echo ./Maildir/ >;.qmail 
  (注意这里必须以用户权限建立邮箱) 
  4) 为了使root用户也能收发邮件,使用如下命令: 
  # su alias 
  $ cd 
  $ /var/qmail/bin/maildirmake Maildir 
  $ echo ./Maildir/ >;.qmail 
# echo ./Mailbox/ >;/var/qmail/control/defaultdelivery 
系统start-up 文件 
生成qmailctl 脚本 
#!/bin/sh 
# For Red Hat chkconfig 
# chkconfig: - 30 80 
# description: the qmail MTA 
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin 
export PATH 
QMAILDUID=`id -u qmaild` 
NOFILESGID=`id -g qmaild` 
case "$1" in 
start) 
echo "Starting qmail" 
if svok /service/qmail-send ; then 
svc -u /service/qmail-send 
else 
echo qmail-send service not running 
fi 
if svok /service/qmail-smtpd ; then 
svc -u /service/qmail-smtpd 
else 
echo qmail-smtpd service not running 
fi 
if [ -d /var/lock/subsys ]; then 
touch /var/lock/subsys/qmail 
fi 
;; 
stop) 
echo "Stopping qmail..." 
echo " qmail-smtpd" 
svc -d /service/qmail-smtpd 
echo " qmail-send" 
svc -d /service/qmail-send 
if [ -f /var/lock/subsys/qmail ]; then 
rm /var/lock/subsys/qmail 
fi 
;; 
stat) 
svstat /service/qmail-send 
svstat /service/qmail-send/log 
svstat /service/qmail-smtpd 
svstat /service/qmail-smtpd/log 
qmail-qstat 
;; 
doqueue|alrm|flush) 
echo "Sending ALRM signal to qmail-send." 
svc -a /service/qmail-send 
;; 
queue) 
qmail-qstat 
qmail-qread 
;; 
reload|hup) 
echo "Sending HUP signal to qmail-send." 
svc -h /service/qmail-send 
;; 
pause) 
echo "Pausing qmail-send" 
svc -p /service/qmail-send 
echo "Pausing qmail-smtpd" 
svc -p /service/qmail-smtpd 
;; 
cont) 
echo "Continuing qmail-send" 
svc -c /service/qmail-send 
echo "Continuing qmail-smtpd" 
svc -c /service/qmail-smtpd 
;; 
restart) 
echo "Restarting qmail:" 
echo "* Stopping qmail-smtpd." 
svc -d /service/qmail-smtpd 
echo "* Sending qmail-send SIGTERM and restarting." 
svc -t /service/qmail-send 
echo "* Restarting qmail-smtpd." 
svc -u /service/qmail-smtpd 
;; 
cdb) 
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
chmod 644 /etc/tcp.smtp.cdb 
echo "Reloaded /etc/tcp.smtp." 
;; 
help) 
cat < stop -- stops mail service (smtp connections refused, nothing goes out) 
start -- starts mail service (smtp connection accepted, mail can go out) 
pause -- temporarily stops mail service (connections accepted, nothing leaves) 
cont -- continues paused mail service 
stat -- displays status of mail service 
cdb -- rebuild the tcpserver cdb file for smtp 
restart -- stops and restarts smtp, sends qmail-send a TERM &amp; restarts it 
doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery 
reload -- sends qmail-send HUP, rereading locals and virtualdomains 
queue -- shows status of queue 
alrm -- same as doqueue 
flush -- same as doqueue 
hup -- same as reload 
HELP 
;; 
*) 
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}" 
exit 1 
;; 
esac 

exit 0 

此脚本可以通过http://www.lifewithqmail.org/qmailctl-script-dt70获得 
使用vi 生成/var/qmail/bin/qmailctl基本将上面内容放入其中, 然后将其安装在 
/etc/init.d 
/etc/rc.d/init.d 
执行下面命令,产生链接: 
ln -s ../init.d/qmail /etc/rc0.d/K30qmail 
ln -s ../init.d/qmail /etc/rc1.d/K30qmail 
ln -s ../init.d/qmail /etc/rc2.d/S80qmail 
ln -s ../init.d/qmail /etc/rc3.d/S80qmail 
ln -s ../init.d/qmail /etc/rc4.d/S80qmail 
ln -s ../init.d/qmail /etc/rc5.d/S80qmail 
ln -s ../init.d/qmail /etc/rc6.d/K30qmail 
ln -s /var/qmail/bin/qmailctl /etc/init.d/qmail 
使得脚本可以执行 qmailctl且进入系统命令中 
chmod 755 /var/qmail/bin/qmailctl 
ln -s /var/qmail/bin/qmailctl /usr/bin 
supervise 基本 
现在产生qmail services目录: 
mkdir -p /var/qmail/supervise/qmail-send/log 
mkdir -p /var/qmail/supervise/qmail-smtpd/log 
chmod +t /var/qmail/supervise/qmail-send 
chmod +t /var/qmail/supervise/qmail-smtpd 
生成/var/qmail/supervise/qmail-send/run 文件: 
#!/bin/sh 
exec /var/qmail/rc 
生成/var/qmail/supervise/qmail-send/log/run 文件: 
#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail 
生成 /var/qmail/supervise/qmail-smtpd/run 文件: 
#!/bin/sh 
QMAILDUID=`id -u qmaild` 
NOFILESGID=`id -g qmaild` 
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` 
exec /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" 
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>;&amp;1 
生成concurrencyincoming 控制文件: 
echo 20 >; /var/qmail/control/concurrencyincoming 
chmod 644 /var/qmail/control/concurrencyincoming 
生成/var/qmail/supervise/qmail-smtpd/log/run 文件: 
#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd 
使得所生成的脚本可执行: 
chmod 755 /var/qmail/supervise/qmail-send/run 
chmod 755 /var/qmail/supervise/qmail-send/log/run 
chmod 755 /var/qmail/supervise/qmail-smtpd/run 
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run 
建立log 目录: 
mkdir -p /var/log/qmail/smtpd 
chown qmaill /var/log/qmail /var/log/qmail/smtpd 
将supervise 链接到/service: 
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 
注: qmail 系统应该自动起来。如果不想此时候启动,执行: 
qmailctl stop' 

SMTP 访问控制 
允许本地主机通过SMTP发信: 
echo '127.:allow,RELAYCLIENT=""' >;>;/etc/tcp.smtp 
qmailctl cdb 
停止已经安装的MTA 
如果MTA 是Sendmail,应该使用下面命令中的一个停止sendmail 工作: 
/etc/init.d/sendmail stop 
/sbin/init.d/sendmail stop 
/etc/rc.d/init.d/sendmail stop 
或者下面命令停止 
kill PID-of-sendmail 
通过下面命令卸装Sendmail : 
rpm -e --nodeps sendmail 
最后,使用qmail版本的sendmail代替系统/usr/lib/sendmail的sendmail: 
mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors 
mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors 
chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors 
ln -s /var/qmail/bin/sendmail /usr/lib 
ln -s /var/qmail/bin/sendmail /usr/sbin 
注: 生成'sendmail链接是重要的,因为有许多应用涉及发mail。 
最后一步产生系统别名(aliases) 
echo alias >; /var/qmail/alias/.qmail-root 
echo alias >; /var/qmail/alias/.qmail-postmaster 
ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon 
chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster 
启动qmail 
qmailctl start 
添加pop3服务 
生成 /var/qmail/supervise/qmail-pop3d/run 脚本包含下面内容: 
#!/bin/sh 
exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup 
longshine.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>;&amp;1 
生成/var/qmail/supervise/qmail-pop3d/log/run 脚本包含下面内容: 
#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t 
/var/log/qmail/pop3d 
建立log目录使得脚本可以执行且将此服务链接到/service: 
chmod +t /var/qmail/supervise/qmail-pop3d 
mkdir /var/log/qmail/pop3d 
chown qmaill /var/log/qmail/pop3d 
chmod 755 /var/qmail/supervise/qmail-pop3d/run 
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run 
ln -s /var/qmail/supervise/qmail-pop3d /service 
在qmailctl脚本中添加下面内容: 
在qmailctl'的 "start" 部分: 
if svok /service/qmail-pop3d ; then 
svc -u /service/qmail-pop3d 
else 
echo qmail-pop3d service not running 
fi 
在qmailctl'的 "stop" 部分: 
echo " qmail-pop3d" 
svc -d /service/qmail-pop3d 
在qmailctl'的 "stat" 部分: 
svstat /service/qmail-pop3d 
svstat /service/qmail-pop3d/log 
在qmailctl'的 "pause" 部分: 
echo "Pausing qmail-pop3d" 
svc -p /service/qmail-pop3d 
在qmailctl'的 "cont" 部分: 
echo "Continuing qmail-pop3d" 
svc -c /service/qmail-pop3d 
在qmailctl'的 "restart" 部分: 
echo "* Restarting qmail-pop3d." 
svc -t /service/qmail-pop3d 
在/etc/hosts脚本中添加 
172.18.6.111 longshine.com 
qmail的测试 
测试安装: 
可以参照TEST.deliver 和 TEST.receive 文档测试其工作是否正常。注意日志是由 multilog 而不是splogger生成的。 
测试Pop3和SMTP服务 
  首先启动qmail邮件服务器,然后测试,使用如下命令: 
  本地测试: 
  #run_mail 
  #netstat -na | grep 25 
  #netstat -na | grep 110 
  #telnet localhost 110 
  user test 
  pass test 
  list 
  retr 1 
  远程测试: 
  利用Windows下的图形邮件客户端(如 outlook、foxmail等)来测试邮件的收发。 
为qmail增加LDAP支持 
  qmail可以通过LDAP来代替传统的/etc/passwd方式的Pop3认证,以便提高认证效率和有效的支持大容量的邮件客户,为了使qmail获得LDAP支持,需要在qmail的基础上增加具备LDAP认证的Patch包,最好使用qmail新的压缩包,具体操作使用如下命令: 
  #rm -rf qmail-1.03 
  #zip -zxvf qmail-1.03.tar.gz 
  #gunzip qmail-ldap-1_03-20010301_patch.gz 
  #cd qmail-1.03 
  #patch -p1 < ../ qmail-ldap-1.03-20010501.patch 
  在patch包打好之后,需要修改qmail的Makefile文件来配置相应的LDAP信息,具体如下(这里只说明必须修改的,其余的可选项请参考QLDAPINSTALL.TXT文档): 
  1) -LDAPFLAGS = -DCLEARTEXTPASSWORD 
  配置是否在LDAP目录中使用明文密码。 
  2) -LDAPLIBS = 
  配置使用的LDAP接口库,在本例中为: 
 LDAPLIBS=-L/usr/local/lib -L/usr/X11R6/lib/modules -lldap -llber -lldap_r -lpthread -lresolv 
  4)-SHADOWLIBS = -lcrypt -lshadow 
  -SHADOWOPTS = -DPW_SHADOW 
  配置使用的密码认证方式。 
  在Makefile设置修改完毕后,重新编译qmail源文件,然后覆盖安装qmail,使用如下命令: 
  #make setup check 
安装openldap 
zip -zxvf openldap-2.07.tgz 
cd openldap-2.07 
./configure 
make depend 
make 
make test 
su root -c 'make install' 
这样openldap安装完成 
 在/var/qmail/control/下建立相应的LDAP支持文件: 
  #cat ldapserver 
  172.18.6.111 
  #cat ldapbasedn 
  dc=longshine , dc=com 
  #cat ldapobjectclass 
  qmailUser 
将qmail.schema拷贝到openldap的相应目录下面 
cp /usr/local/src/qmail/qmail-1.03/qmail.schema /usr/local/etc/openldap/schema/. 
编辑configuration 文件 /usr/local/etc/openldap/slapd.conf) 
database ldbm 
suffix "dc=longshine,dc=com" 
rootdn "cn=Manager,dc= longshine ,dc=" 
rootpw secret 
directory /usr/local/var/openldap-ldbm 
增加相应的shema文件 
include /usr/local/etc/openldap/schema/cosine.schema 
include /usr/local/etc/openldap/schema/nis.schema 
include /usr/local/etc/openldap/schema/inetorgperson.schema 
include /usr/local/etc/openldap/schema/qmail.schema 
启动 SLAPD. 
su root -c /usr/local/libexec/slapd 
为了检测openldap是否运行和配置正确。可以执行ldapsearch命令进行检测。缺省的,ldapsearch 安装在/usr/local/bin/ldapsearch: 
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts 
应该可以看见 
dn: 
namingContexts: dc=longshine,dc=com 
增加目录的初始人口。 
分为二步: 
生成一个LDIF 文件 
运行ldapadd 

是编辑器生成一个LDIF 文件,包含如下内容: 
dn: dc=,dc= 
objectclass: dcObject 
objectclass: organization 
o: 
dc: 
dn: cn=Manager,dc=,dc= 
objectclass: organizationalRole 
cn: Manager 
我的此文件Manager.ldif文件内容为dn: dc=longshine,dc=com,dc=cn 
objectclass: dcObject 
objectclass: organization 
o: longshine 
dc: longshine 
dn: cn=Manager,dc=longshine,dc=com 
objectclass: organizationalRole 
cn: Manager 
现在运行ldapadd程序 
ldapadd -x -D "cn=Manager,dc=longshine,dc=com" -W -f /root/manager.ldif 
如果要输入密码为secret。 
增加qmail用户信息,生成test.ldif文件 
dn: cn=testUser,dc=longshine,dc=com 
cn: testUser 
sn: testUser 
objectClass: top 
objectClass: person 
objectClass: inetOrgPerson 
objectClass: qmailUser 
mail: test@longshine.com 
mailHost: longshine.com 
mailMessageStore: /home/test/Maildir/ 
mailQuota: 1000000S,100C 
uid: test 
userPassword: test 
qmailUID: 508 
qmailGID: 508 
注qmailUID,qmailGID可以通过/etc/passwd文件查询到。使用下面命令进入 
ldapadd -x -D "cn=Manager,dc=longshine,dc=com" -W -f /root/test.ldif 
如果要输入密码为secret。 
将/var/qmail/supervise/qmail-pop3d/run 脚本包含下面内容: 
#!/bin/sh 
exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup 
longshine.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir 2>;&amp;1 
测试LDAP: 
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts 
使用什么命令查看添加的时间是否正确。如果不正确可以使用 
ldapdelete -x -D"cn=Manager,dc=longshine,dc=com" -w secret "cn=testUser,dc=longshine,dc=com" 
删除,然后重新添加。 
测试基于LDAP的Pop3认证 
  在上述步骤完成后,从新测试qmail邮件系统的运行状况,主要从以下三个方面测试,具体命令如下: 
本地测试 
  具体请参考TEST.deliver 和 TEST.receive 的方法。 
Pop3+SMTP测试 
  telnet localhost 25 和telnet localhost 110 
测试工具 
  #/var/qmail/bin/qmail-ldaplookup -u test 
  #/var/qmail/bin/qmail-ladplookup -m test@longshine.com 
也可用Windows下的图形邮件客户端(如 outlook、foxmail等)来测试邮件的收发。 
参考资料 
Life with qmail (http://www.lifewithqmail.org/lwq.html) 
QLDAPINSTALL (http://www.openldap.org/doc/admin/quickstart.html) qmail+LDAP安装与配置(http://www.chinabyte.com/builder/linux/linux_detail.shtm?id=1650&amp;parid=1&amp;dtype=1) X.D.Chen'



 lightning 回复于:2003-05-11 14:19:17

我安照你的方法,在操作到QMAIL安装的时候输入MAKE SETUP CHECK的时候他出错信息为:
[root@localhost qmail-1.03]# make setup check
./load auto-str substdio.a error.a str.a
substdio.a(substdo.o)(.text+0x43): In function `allwrite':
: undefined reference to `errno'
collect2: ld returned 1 exit status
make: *** [auto-str] Error 1
[root@localhost qmail-1.03]#
我用的是redhat 9.0 gcc 3.2 后来我换成gcc 2.95 还是出现同样的提示,请大家帮忙看一下什么问题!!谢谢!


 fhbemail 回复于:2003-07-18 13:50:21

ert


 wulm 回复于:2003-10-14 10:07:35

lightning,有没有打errno补丁


 g_tiesheng 回复于:2003-11-15 12:49:34

[root@localhost qmail-1.03]# make setup check 
-lcrypt -lshadow
/usr/bin/ld: cannot find -lshadow
collect2: ld returned 1 exit status
make: *** [digest] Error 1


 skid 回复于:2005-07-12 12:18:24

请问:我装的7。3用这个可以吗?


 leave 回复于:2005-07-12 13:59:26

搂主是linux7.1你用7.3肯定不会有什么问题。


 tramp568 回复于:2005-07-12 17:12:09

Linux9.0行不?


 it1981 回复于:2007-11-21 21:19:55

以上都可以正常使用,就是在安装密码认证时,起不了作用。请问楼主有没有好点的安装方法


 it1981 回复于:2007-11-21 21:24:58

:luya: :luya: :luya: 我搞定了,谢谢你楼主,就在安装补丁出错了




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=1119
转载请注明作者名及原文出处