qmail+LDAP安装配置实例.docx

上传人:b****6 文档编号:7288815 上传时间:2023-01-22 格式:DOCX 页数:17 大小:21.98KB
下载 相关 举报
qmail+LDAP安装配置实例.docx_第1页
第1页 / 共17页
qmail+LDAP安装配置实例.docx_第2页
第2页 / 共17页
qmail+LDAP安装配置实例.docx_第3页
第3页 / 共17页
qmail+LDAP安装配置实例.docx_第4页
第4页 / 共17页
qmail+LDAP安装配置实例.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

qmail+LDAP安装配置实例.docx

《qmail+LDAP安装配置实例.docx》由会员分享,可在线阅读,更多相关《qmail+LDAP安装配置实例.docx(17页珍藏版)》请在冰豆网上搜索。

qmail+LDAP安装配置实例.docx

qmail+LDAP安装配置实例

qmail+LDAP安装配置实例

 

目前网上关于qmail+LDAP的配置不是很多,而且大多数是英文的。

而qmail和openldap的配置没有详细的配置文档。

前一段时间因为工作关系配置了qmail+LDAP的服务器。

现在将其整理处理,以供大家参考。

希望对于大家有所帮助。

Qmail是基于类似UNIX操作系统的InternetMailTransferAgent(MTA)。

我的安装环境是linux7.1内核是2.4.2,gccversion2.96,组件全部安装。

安装步骤

1.操作系统:

RedHatLinux7.1kernel2.4.2gcc2.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(

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

域名:

4.Systemrequirements

5.安装步骤

将所有需要安装的包拷贝到/usr/local/src/qmail目录项目

mkdir-p/usr/local/src/qmail

mv*.tar.gz/usr/local/src/qmail

然后解开安装下面步骤解开这些包

su-

umask022

cd/usr/local/src/qmail

tarzxvfqmail-1.03.tar.gz

tarxvfucspi-tcp-0.88.tar.gz

tarzxvfdaemontools-0.70.tar.gz

tarzxvfcheckpassword-0.90.tar.gz

解开的数据包应该处在qmail-1.03,ucspi-tcp-0.88,daemontools-0.70和checkpassword-0.90目录下,进入qmail目录。

cdqmail-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安装需要的用户以及组

#groupaddnofiles

#useradd-gnofiles-d/var/qmail/aliasalias

#useradd-gnofiles-d/var/qmailqmaild

#useradd-gnofiles-d/var/qmailqmaill

#useradd-gnofiles-d/var/qmailqmailp

#groupaddqmail

#useradd-gqmail-d/var/qmailqmailq

#useradd-gqmail-d/var/qmailqmailr

#useradd-gqmail-d/var/qmailqmails

编译安装

现在可以编译安装qmail:

makesetupcheck

在编译安装完成,需要进行配置如果DNS配置正确,只需执行下面的命令:

./config

如果config在DNS中不能找到主机名,则需要执行config-fast脚本:

./config-fastlongshine.com

qmail现在已经安装起来了,下面开始是启动和配置qmail。

安装ucspi-tcp

进入ucspi-tcp目录:

cd/usr/local/src/qmail/ucspi-tcp-0.88

make

makesetupcheck

这样ucspi-tcp安装起来了。

安装daemontools

进入daemontools目录:

cd/usr/local/src/qmail/daemontools-0.70

make

makesetupcheck

安装checkpassword

进入checkpassword目录:

cd/usr/local/src/qmail/checkpassword-0.90

make

makesetupcheck

注:

在某些LINUX版本中(我的安装环境redhat7.1),如RedHat7,可能在编译过程中会生成错误:

./compiletai64nlocal.c

tai64nlocal.c:

Infunction`main':

tai64nlocal.c:

54:

warning:

assignmentmakespointerfromintegerwithoutacast

tai64nlocal.c:

55:

dereferencingpointertoincompletetype

等等….

如果这样按照下面说明编辑tai64nlocal.c

#include

更改为:

#include

生成/service目录:

mkdir/service

最后配置svscan使得当系统启动时候自动允许。

编辑/etc/inittab文件将下面一行加入文件最后(注意是在一行中):

SV:

123456:

respawn:

env-PATH=/usr/local/bin:

/usr/sbin:

/usr/bin:

/binsvscan/service/dev/console2>/dev/console

然后执行下面命令重新读人/etc/inittab:

kill-HUP1

可以使用"ps-ef|grepsvscan"或者"pswaux|grepsvscan"证实svscan正在运行。

启动qmail

2.8.1./var/qmail/rc

编辑产生/var/qmail/rc文件将下面命令进入其中

#!

/bin/sh

#Usingstdoutforlogging

#Usingcontrol/defaultdeliveryfromqmail-localtodelivermessagesbydefault

execenv-PATH="/var/qmail/bin:

$PATH"

qmail-start"`cat/var/qmail/control/defaultdelivery`"

chmod755/var/qmail/rc

mkdir/var/log/qmail

 在qmail中,支持三种邮件存储方式,分别是典型的/var/spool/mail方式、传统的Unixuser/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)建立相应的邮件用户,例如:

#useraddtest

  #passwdtest

  3)使用qmail提供的工具建立Maildir,命令如下:

  $/var/qmail/bin/maildirmakeMaildir

  $echo./Maildir/>.qmail

  (注意这里必须以用户权限建立邮箱)

  4)为了使root用户也能收发邮件,使用如下命令:

  #sualias

  $cd

  $/var/qmail/bin/maildirmakeMaildir

  $echo./Maildir/>.qmail

#echo./Mailbox/>/var/qmail/control/defaultdelivery

系统start-up文件

生成qmailctl脚本

#!

/bin/sh

#ForRedHatchkconfig

#chkconfig:

-3080

#description:

theqmailMTA

PATH=/var/qmail/bin:

/bin:

/usr/bin:

/usr/local/bin:

/usr/local/sbin

exportPATH

QMAILDUID=`id-uqmaild`

NOFILESGID=`id-gqmaild`

case"$1"in

start)

echo"Startingqmail"

ifsvok/service/qmail-send;then

svc-u/service/qmail-send

else

echoqmail-sendservicenotrunning

fi

ifsvok/service/qmail-smtpd;then

svc-u/service/qmail-smtpd

else

echoqmail-smtpdservicenotrunning

fi

if[-d/var/lock/subsys];then

touch/var/lock/subsys/qmail

fi

;;

stop)

echo"Stoppingqmail..."

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"SendingALRMsignaltoqmail-send."

svc-a/service/qmail-send

;;

queue)

qmail-qstat

qmail-qread

;;

reload|hup)

echo"SendingHUPsignaltoqmail-send."

svc-h/service/qmail-send

;;

pause)

echo"Pausingqmail-send"

svc-p/service/qmail-send

echo"Pausingqmail-smtpd"

svc-p/service/qmail-smtpd

;;

cont)

echo"Continuingqmail-send"

svc-c/service/qmail-send

echo"Continuingqmail-smtpd"

svc-c/service/qmail-smtpd

;;

restart)

echo"Restartingqmail:

"

echo"*Stoppingqmail-smtpd."

svc-d/service/qmail-smtpd

echo"*Sendingqmail-sendSIGTERMandrestarting."

svc-t/service/qmail-send

echo"*Restartingqmail-smtpd."

svc-u/service/qmail-smtpd

;;

cdb)

tcprules/etc/tcp.smtp.cdb/etc/tcp.smtp.tmp

chmod644/etc/tcp.smtp.cdb

echo"Reloaded/etc/tcp.smtp."

;;

help)

cat

start--startsmailservice(smtpconnectionaccepted,mailcangoout)

pause--temporarilystopsmailservice(connectionsaccepted,nothingleaves)

cont--continuespausedmailservice

stat--displaysstatusofmailservice

cdb--rebuildthetcpservercdbfileforsmtp

restart--stopsandrestartssmtp,sendsqmail-sendaTERM&restartsit

doqueue--sendsqmail-sendALRM,schedulingqueuedmessagesfordelivery

reload--sendsqmail-sendHUP,rereadinglocalsandvirtualdomains

queue--showsstatusofqueue

alrm--sameasdoqueue

flush--sameasdoqueue

hup--sameasreload

HELP

;;

*)

echo"Usage:

$0{start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"

exit1

;;

esac

exit0

此脚本可以通过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且进入系统命令中

chmod755/var/qmail/bin/qmailctl

ln-s/var/qmail/bin/qmailctl/usr/bin

supervise基本

现在产生qmailservices目录:

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/setuidgidqmaill/usr/local/bin/multilogt/var/log/qmail

生成/var/qmail/supervise/qmail-smtpd/run文件:

#!

/bin/sh

QMAILDUID=`id-uqmaild`

NOFILESGID=`id-gqmaild`

MAXSMTPD=`cat/var/qmail/control/concurrencyincoming`

exec/usr/local/bin/tcpserver-v-R-l0-x/etc/tcp.smtp.cdb-c"$MAXSMTPD"

-u"$QMAILDUID"-g"$NOFILESGID"0smtp/var/qmail/bin/qmail-smtpd2>&1

生成concurrencyincoming控制文件:

echo20>/var/qmail/control/concurrencyincoming

chmod644/var/qmail/control/concurrencyincoming

生成/var/qmail/supervise/qmail-smtpd/log/run文件:

#!

/bin/sh

exec/usr/local/bin/setuidgidqmaill/usr/local/bin/multilogt/var/log/qmail/smtpd

使得所生成的脚本可执行:

chmod755/var/qmail/supervise/qmail-send/run

chmod755/var/qmail/supervise/qmail-send/log/run

chmod755/var/qmail/supervise/qmail-smtpd/run

chmod755/var/qmail/supervise/qmail-smtpd/log/run

建立log目录:

mkdir-p/var/log/qmail/smtpd

chownqmaill/var/log/qmail/var/log/qmail/smtpd

将supervise链接到/service:

ln-s/var/qmail/supervise/qmail-send/var/qmail/supervise/qmail-smtpd/service

注:

qmail系统应该自动起来。

如果不想此时候启动,执行:

qmailctlstop'

SMTP访问控制

允许本地主机通过SMTP发信:

echo'127.:

allow,RELAYCLIENT=""'>>/etc/tcp.smtp

qmailctlcdb

停止已经安装的MTA

如果MTA是Sendmail,应该使用下面命令中的一个停止sendmail工作:

/etc/init.d/sendmailstop

/sbin/init.d/sendmailstop

/etc/rc.d/init.d/sendmailstop

或者下面命令停止

killPID-of-sendmail

通过下面命令卸装Sendmail:

rpm-e--nodepssendmail

最后,使用qmail版本的sendmail代替系统/usr/lib/sendmail的sendmail:

mv/usr/lib/sendmail/usr/lib/sendmail.old#ignoreerrors

mv/usr/sbin/sendmail/usr/sbin/sendmail.old#ignoreerrors

chmod0/usr/lib/sendmail.old/usr/sbin/sendmail.old#ignoreerrors

ln-s/var/qmail/bin/sendmail/usr/lib

ln-s/var/qmail/bin/sendmail/usr/sbin

注:

生成'sendmail链接是重要的,因为有许多应用涉及发mail。

最后一步产生系统别名(aliases)

echoalias>/var/qmail/alias/.qmail-root

echoalias>/var/qmail/alias/.qmail-postmaster

ln-s.qmail-postmaster/var/qmail/alias/.qmail-mailer-daemon

chmod644/var/qmail/alias/.qmail-root/var/qmail/alias/.qmail-postmaster

启动qmail

qmailctlstart

添加pop3服务

生成/var/qmail/supervise/qmail-pop3d/run脚本包含下面内容:

#!

/bin/sh

exec/usr/local/bin/tcpserver-v-R-H-l00110/var/qmail/bin/qmail-popup

/bin/check

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1