热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

RedHat系统下安装配置openwebmail+sendmail

一、为ec.com配置DNS服务器(限于局域网内部)1、安装DNS套件:BIND这个套件是配置DNS服务器所必需的。使用RPM来检验一下:[root@appserveretc]#rpm-qagrepbindbind-utils-9.2.2-21这个是用来作为Client端搜寻domainname的指令redhat-co
一、为ec.com配置DNS 服务器(限于局域网内部)
  
  1、安装DNS 套件 :BIND
  
  这个套件是配置DNS 服务器所必需的。使用RPM 来检验一下:
  [root@appserver etc]# rpm -qa grep bind
  bind-utils-9.2.2-21      <=这个是用来作为 Client 端搜寻domain name 的指令
  redhat-config-bind-2.0.0-14
  ypbind-1.12-5
  bind-9.2.2-21       <=这个是用来安装 Server 的
  
  基本上,BIND的主要设定档为/etc/named.conf,各种针对主机的设定值都在这个档案中设定!但是具体的hostname<——>IP 的对应关系,则是由zone 来设定的!但是注重的是:这个zone 的档案名称则是需要在/etc/named.conf 里面命名好。zone 的档案一般放置在/var/named 里面。
  
  2、设定部分
  DNS server 的类型分为三类:Master\Slave\Cache-only
  由于我们只有一部主机提供DNS 服务,所以采用的是Master
  
  A.手动规划hostname 与IP 的对应表
  这里我们的domain name(域名)是ec.com,网域为192.168.0.0/256,只是设定一部电脑,为:
  电脑系统        电脑IP     电脑名称       说明
  Red Hat 9      192.168.0.10  mail.ec.com  这台电脑即我们DNS 主机,名称为mail.ec.com
  
  B.设定/etc/named.conf 档案
  在档案里加入下面代码,即定义出我们自己的的一组正反解设定,就是所谓的 zone
  zone "ec.com" IN {    //这个 zone表示domain name 为ec.com ,正解
  type master;
  file "named.ec.com";  //zone 对应的档案名,可以随便取,档案位于/var/named
  };
  
  zone "0.168.192.in-addr.arpa" IN { //反解的IP 网段!那个in-addr.arpa是固定的IP 段写法!
  type master;      //注重,它是192.168.0 反过来写的 0.168.192,最后一定加上in-addr.arpa
  file "named.192.168.0";
  };
  
  C.创建/var/named/named.ec.com 档案 (即与上面/etc/named.conf 档案里的zone 对应)
  
  $TTL  86400  //这个和清除 cache的时间有关系,单位是秒,一般设为一天
  @    IN   SOA   mail.ec.com. root.mail.ec.com. (
  1997022700 ; Serial
  28800   ; Refresh
  14400   ; Retry
  3600000  ; EXPire
  86400 )  ; Minimum
  @       IN   NS   mail.ec.com.   //指明治理域名ec.com 的主机为mail.ec.com
  @       IN   MX 10  mail.ec.com. //指明user@ec.com 的邮件服务器为mail.ec.com
  mail      IN   A    192.168.0.10   //指明mail.ec.com主机的IP 地址
  一些相关说明:
  @   这个即代表 zone里定义的东西。以这个档案为例,因为我们在/etc/named.conf里定义出ec.com 这个
  domain name 为一个zone 的,所以,在这里,@代表的就是 ec.com
  SOA  ¥即Start of Authority 的缩写。这个东西在每个zone 的设定档里都会出现
  ¥SOA后面会接两个名称,第一个为主机名称,注重的是在mail.ec.com后面有个小数点(。)它代表一个完整的hostname + domain name !假如没有加上(。)的话,那么就表示仅为 hostname ,还需要加上 domain name !例如这里我们不加的话,系统就会认为主机名为mail.ec.com.ec.com!第二个为治理员的email!因为不能使用@,所以这里同样用(。)来代替!
  
  D.创建/var/named/named.192.168.0 档案 (同样与上面/etc/named.conf 档案里的zone 对应)
  
  $TTL  86400
  @    IN   SOA   mail.ec.com. root.mail.ec.com. (
  1997022700 ; Serial
  28800   ; Refresh
  14400   ; Retry
  3600000  ; Expire
  86400 )  ; Minimum
  @       IN   NS   mail.ec.com.
  10       IN   PTR   mail.ec.com. //指明192.168.0.10反解为mail.ec.com
  
  F.启动 named与port  (DNS 服务在53 端口)
  [root@appserver root]# /etc/rc.d/init.d/named start
  named 已经在运行
  [root@appserver root]# netstat -tuln grep 53
  tcp    0   0 192.168.0.10:53     0.0.0.0:        LISTEN
  tcp    0   0 127.0.0.1:53      0.0.0.0:        LISTEN
  tcp    0   0 127.0.0.1:953      0.0.0.0:        LISTEN
  udp    0   0 192.168.0.10:53     0.0.0.0:
  udp    0   0 127.0.0.1:53      0.0.0.0:
  
  3、Client 端的设定
  这里我们测试是在同一台Linux 机器上,所以要修改/etc/resolv.conf .这个档案指定DNS 主机的IP ,Client端正是用这里面设定的IP 去追踪名称解析的。
  [root@appserver root]# vi /etc/resolv.conf
  加入(不是覆盖为!!)下面这一行代码:
  nameserver 192.168.0.10
  在windows 下面即将DNS 主机地址设为 192.168.0.10
  最后我们来测试一下:
  [root@appserver root]# host mail.ec.com
  mail.ec.com has address 192.168.0.10
  
  [root@appserver root]# host 192.168.0.10
  10.0.168.192.in-addr.arpa domain name pointer mail.ec.com.
  
  [root@appserver root]# nslookup mail.ec.com
  Note: nslookup is deprecated and may be removed from future releases.
  Consider using the `dig or `host programs instead. Run nslookup with
  the `-sil[ent] option to prevent this message from appearing.
  Server:     192.168.0.10
  Address:    192.168.0.10#53
  
  Name:  mail.ec.com
  Address: 192.168.0.10
  一切正常!!
  
  二、配置sendmail
  
  1、安装sendmail、IMAP套件
  Red Hat 9 已经默认安装,检查一下先:
  [root@appserver root]# rpm -qa grep sendmail
  sendmail-cf-8.12.10-1
  sendmail-8.12.10-1
  [root@appserver root]# rpm -qa grep m4
  m4-1.4.1-13
  [root@appserver root]# rpm -qa grep imap
  PHP-imap-4.3.2-8.ent
  imap-2002d-2
  [root@appserver root]# rpm -q mailx
  mailx-8.1.1-31
  
  2、修改主要配置档案
  
  A.寻找档案的?容
  [root@appserver root]# cd /etc/mail
  [root@appserver mail]# vi sendmail.mc
  找到下面这一段:
  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA)
  将他删除
  
  B.重新制作档案:
  [root@appserver mail]# m4 sendmail.mc > sendmail.cf
  
  3、启动 Mail Server
  
  A、启动sendmail
  # /etc/rc.d/init.d/sendmail start
  
  B、启动 POP3 服务
  [root@appserver root]# cd /etc/xinetd.d
  [root@appserver xinetd.d]# vi ipop3
  修改见下:
  service pop3
  {
  socket_type       = stream
  wait          = no
  user          = root
  server         = /usr/sbin/ipop3d
  log_on_sUCcess += HOST DURATION
  log_on_failure += HOST
  disable         = no  <--默认为yes,改为no!!
  }
  修改完毕后需要重新启动xinetd 使修改起作用
  # /etc/rc.d/init.d/xinetd restart
  
  C、启动imap 服务
  同上,只是档案是imap
  D、[root@appserver xinetd.d]# netstat -tl
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address      Foreign Address     State
  tcp    0   0 :pop3         :           LISTEN
  tcp    0   0 :imap         :           LISTEN
  tcp    0   0 :smtp         :           LISTEN
  
  4、设定主机名称
  [root@appserver xinetd.d]# cd /etc/mail
  [root@appserver mail]# vi local-host-names //在里面增加主机名称
  mail.ec.com
  
  5、设定邮件服务器使用权限/etc/mail/Access
  由于只是局域网内部使用,并不寄信到外部,所以不涉及到relay 的功能,所以这里不做改动。当然也可以reject/discard 内部的一部分IP 的发信,用不着。
  
  6、设定使用者别名/etc/aliases
  
  A、群发功能  (当帐号过多不好维护时,可以用include 的功能导入相关连的档案)
  /etc/aliases 的语法如下:
  在邮件上面的收件者帐号:   真实帐号1,真实帐号2,真实帐号3......
  pm:            pm1, pm2, pm3......
  这样发给pm@ec.com的邮件就会复制成三份,分别发给pm1@ec.com,pm2@ec.com,pm3@ec.com
  命令如下:
  # vi /etc/aliases  //在里面加入下面行
  pm: pm1,pm2,pm3
  #newaliases       //这行命令很重要!更新作用!!
  
  B、别名设定
  命令

推荐阅读
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • HTML5 表单新增属性详解
    本文深入探讨了HTML5中表单的新增属性,帮助读者全面掌握这些新特性。内容涵盖autocomplete、autofocus、list等常用属性,并详细解释了form、novalidate、enctype和accept-charset等高级属性的功能与应用场景。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 智能医疗,即通过先进的物联网技术和信息平台,实现患者、医护人员和医疗机构之间的高效互动。它不仅提升了医疗服务的便捷性和质量,还推动了整个医疗行业的现代化进程。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • Python技巧:利用Cookie实现自动登录绕过验证码
    本文详细介绍了如何通过Python和Selenium库利用浏览器Cookie实现自动登录,从而绕过验证码验证。文章提供了具体的操作步骤,并附有代码示例,帮助读者理解和实践。 ... [详细]
  • ThinkPHP 数据库配置详解
    本文详细介绍了如何在 ThinkPHP 框架中正确配置数据库连接参数,包括数据库类型、服务器地址、数据库名称等关键配置项。 ... [详细]
  • 苹果系统频繁弹窗提示无法验证服务器身份?竟是网易邮箱证书过期所致
    近日,众多苹果用户发现iOS、iPadOS和macOS系统频繁弹出无法验证服务器身份的警告。问题根源在于网易邮箱未能及时更新其数字证书,导致原证书过期后无法被信任。 ... [详细]
author-avatar
虎爷在江湖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有