热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sendmail安装过程记录

sendmail.8.12.10.tar.gzhttp://www.sendmail.org/cyrus-sasl-2.1.18.tar.gzhttp://asg.web.cmu.edu/cyrus/安装步骤1、先安装cyrus-sasl-2.1.18.tar.gz,sendmail安装时要用到sasl(简单认证和安全

  sendmail.8.12.10.tar.gz http://www.sendmail.org/

  cyrus-sasl-2.1.18.tar.gz http://asg.web.cmu.edu/cyrus/

  安装步骤

  1、 先安装cyrus-sasl-2.1.18.tar.gz,sendmail安装时要用到sasl(简单认证和安全层协议)的

  2、 库文件的头文件。

  解压缩:

  # tar -zxvf cyrus-sasl-2.1.18.tar.gz

  编译:

  进入刚解压的源码目录,运行以下命令完成安装。

  #./configure --prefix=/usr/local/sasl2 --enable-login

  一定要加--enable-login,因为SASL2默认不支持login这种验证方式,而OUTLOOK是通过login来进行SMTP验证的。

  #make # 编译

  #make install # 安装

  完成以上linux程序安装三步曲之后,就可以开始配置和测试了。

  2、配置SASL

  为了把SASL应用于sendmail认证,还需进行一些配置工作。sendmail会到/usr/lib目录下去找SASL2库,而我们是把程序安装在/usr/local/sasl2中,为什么不把软件安装在/usr/lib目录呢?这主要是为了好管理自已安装的软件啦。所以我们要在/usr/lib目录下做一个链接:

  # cd /usr/lib

  # ln -s /usr/local/sasl2/lib/* .

  ok,接着要在/var/目录下建一个目录给saslauthd进程存在临时数据。

  # cd /var

  # mkdir state

  # cd state

  # mkdir saslauthd

  注:如果没有这些目录,运行saslauthd时,会提示出错。

  ok,接着为确保CYRUS-SASL2函数库知道怎样验证所收来的SASL认证请求,必须创建一个SASL的配置文件来把MTA程序定义成一个SASL应用。配置文件名为Sendmail.conf(注意是大写的S),位于/usr/lib/sasl2目录中,也就是/usr/local/sasl2/lib/sasl2这个目录,记得上面新建的链接了吗?在该文件中你定义你希望使用的认证数据库方法,以下这个例子使用saslauthd来验证认证请求。

  # cd /usr/lib/sasl2

  # echo 'pwcheck_method: saslauthd' > Sendmail.conf

  3、测试

  ok,现在可以运行saslauthd了,并进行测试。

  # cd /usr/local/sasl2/sbin

  # ./saslauthd -a shadow

  用shadow的用户和密码进行验证

  # ./testsaslauthd -u userid -p password

  0: OK "Success."

  如果出现以上信息,就说明saslauthd正常运行了。testsaslauthd程序默认是没有编译的,你需要在源码目录树的saslauthd子目录中运行 # make testsaslauthd命令生成。

  4、sasl2安装完成后,就要开始安装sendmail了。

  先解压sendmail源码。

  # tar -zxvf sendmail.8.12.10.tar.gz

  如果要sendmail支持SASL,需要修改源码的位置配置文件site.config.m4。site.config.m4位于源码目录树的devtools/Site。文件中应包含以下行:

  PREPENDDEF(`confMAPDEF', `-DMAP_REGEX')

  APPENDDEF(`confENVDEF', `-DTCPWRAPPERS -DSASL=2')

  APPENDDEF(`conf_sendmail_LIBS', `-lwrap -lsasl2')

  APPENDDEF(`confLIBDIRS', `-L/usr/local/sasl2/lib')

  APPENDDEF(`confINCDIRS', `-I/usr/local/sasl2/include')

  第一行配置正则表达式相关内容

  第二、三行配置表示在sendmail程序中支持sasl2和tcp_wrapper(可通过hosts.allow和hosts.deny控制访问)

  第四、五行配置指出sasl2的库文件和头文件的位置。

  ok,接着在编译前要建立一些用户和目录,并确保有正确的权限。

  sendmail必须有一个set-group-id(默认是smmsp组)的程序来在一个组可写的目录中查询排队邮件。所以我们要建立一个smmsp用户和组。并建立如下目录并设置相应的权限,具体设置要求可查询源码目录树下sendmail/SECURITY文档。

  # groupadd smmsp

  # useradd smmsp -d /var/spool/clientmqueue -s /dev/null

  # mkdir /var/spool/clientmqueue

  # chown -R smmsp:smmsp /var/spool/clientmqueue

  # chmod -R 770 /var/spool/clientmqueue

  # mkdir /etc/mail

  # mkdir /var/spool/mqueue

  # chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

  # chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

  ok,接下来就可以进入源码目录树开始编译了。

  # ./Build -c

  -c选项能删除上次编译产生的文件。

  # ./Build install

  编译完成后就可以进行安装。


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
author-avatar
peteryan
自我学习,提升,早日被动大于主动,实现自由
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有