




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
qmail+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 () 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 () daemontools, ftp:/cr.yp.to/daemontools/daemontools-0.70.tar.gz 3.主机IP地址和域名配置,在本例中为: IP:11 域名: 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 &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 /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2&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脚本中添加 11 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认
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年计算机技术与软件专业技术资格(中级)《软件设计师》智慧海洋监测算法设计模拟考核试卷
- 旅游平台短视频内容创意策划考核试卷
- 媒体融合中的媒体融合人才培养计划策略考核试卷
- 模具激光表面处理技术与应用考核试卷
- 解析卷-人教版八年级上册物理物态变化《汽化和液化》专题攻克试题(含答案解析)
- 学生自主学习导学资源的建设及其应用研究
- 基于“计数单位”视角:苏教版教材中数与运算的整体化与一致性探究
- 重难点解析人教版八年级物理上册第5章透镜及其应用-生活中的透镜专项训练试题(详解版)
- 难点解析-人教版八年级物理上册第6章质量与密度-质量综合练习练习题(解析版)
- 2025年建筑节能政策咨询合同协议
- 海上风电基础知识培训课件
- 阅读理解真题汇编(30篇)Ⅴ-江苏地区2022-2023八年级英语上学期期末备考(含答案解析)
- 煤矿职业卫生岗位操作规程
- 新生儿吸入综合征护理查房
- 《歌手大赛-小数加减混合运算》教学设计
- 监控机房搬迁实施方案
- 有趣得让人睡不着的植物
- 统计用产品分类目录
- 《历史的温度 套装共6册 》读书笔记PPT模板思维导图下载
- 附着式升降脚手架安全检查要点
- YY/T 1791-2021乙型肝炎病毒e抗体检测试剂盒(发光免疫分析法)
评论
0/150
提交评论