职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1110|回复: 0

RedHat 完整邮件系统架设

[复制链接]
weisheng 发表于 2006-12-9 23:01 | 显示全部楼层 |阅读模式
人们在互联网上最常使用的就是电子邮件,很多企业用户也经常使用免费电子邮件系统。由于垃圾邮件的泛滥,许多免费邮件提供商之间互相拒收对方的电子邮件,这为我们正常使用电子邮件带来不便。此时,企业架设一台自己的邮件服务系统就十分必要了。

  我们以RedHat 7.0(默认Server方式安装)为例,说明RedHat完整邮件系统的全部架设过程。这里假设计算机已经安装好RedHat 7.0,并能正常启动,且这台计算机拥有一个合法的IP地址、拥有一个或多个域名,并作好了相应的DNS以及MX交换记录。

  架设RedHat完整邮件系统涉及的软件环境为:Redhat linux 7.0、Qpopper4.0.1、sendmail-8.12.0、cyrus-sasl-1.5.24、Outlook express 5(测试用)。

  免费获得软件

  首先,必须下载需要用到的所有文件。

  1. SASL函数库(cyrus-sasl-1.5.24.tar.gz),该函数库提供了我们所需要的安全认证函数。

  下载地址:ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-1.5.24.tar.gz

  2. Qpopper(qpopper4.0.1.tar.gz),这个软件可以让我们从主机上通过110端口来接收信件,目前最新版本是4.0.1。

  下载地址:ftp://ftp.qualcomm.com/eudora/se ... qpopper4.0.1.tar.gz

  3. sendmail,版本在8.10.0以上的sendmail才支持SMTP认证功能。虽然RadHat 7.0内含的sendmail是8.11.0,但是因为我们要重新编成包含新功能的sendmail,所以还是需要重新下载。目前最新的版本是8.12.0-Beta7。

  下载地址:ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.0.Beta7.tar.gz

  以root身份登录到主机,并把上面的软件复制到工作目录下。注意:我们后面的工作都需要root身份运行。

  备份必要文件,主要是/etc/mail/sendmail.cf以及sendmail的执行文件,以便出现错误后可以安全恢复。

  安装软件

  一、安装Qpopper

  1.进入工作目录,展开Qpopper源文件:#tar zxvf qpopper4.0.1.tar.gz。

  2. 进入qpopper4.0.1目录:#cd qpopper4.0.1。

  3.生成编译文件:#./configure -enable-specialauth。这里的参数表示,验证方式采用shadow口令来进行身份验证。也就是说,只有主机的系统用户才能由Qpopper来提供服务。当然,也可以使用“-disable-specialauth”来禁止使用系统用户。

  4. 编译并生成可执行文件:#make

  5. 如果没有意外,编译完成后会在当前目录的popper目录下生成一个popper的执行文件。将这个文件复制到/usr/local/lib目录下:

   #cd popper

   #cp popper /usr/local/lib/popper

  6.在/etc/xinetd.d目录下创建一个文件,文件名为pop3,文件属性改为644,把程序1(见文后注)的内容添加进去。

  7.修改/etc/services,找到定义110端口的那一行,改为:pop3 110/tcp # Post Office。

  二、安装SASL函数库

  1.回到工作目录,展开并进入cyrus-sasl-1.5.24.tar.gz目录:

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

  #cd cyrus-sasl-1.5.24

  2. 生成配置文件:

  #./configure-enable-login -with

   -pwcheck

  各种客户端软件的验证方法是不一样的。本文以Outlook Expresss为例,所以加入LOGIN的认证方法-enable-login。OE的口令验证方式也不是缺省的方式,所以也需要加入-with-pwcheck的选项。

  3. 配置默认安装路径:

  SASL库默认安装到/usr/local/lib下,但是sendmail默认使用的库文件是在/usr/lib目录下的,所以需要修改configure这个文件。找到其中的一行文字:ac_default_prefix=/usr/local,并把它修改为:ac_default_prefix=/usr,保存并退出。

  4. 编译和安装SASL库:

  #make

  #make install

  5. 建立目录/var/pwcheck,pwcheck命令需要使用这个目录。pwcheck是一个后台监视程序,负责检查用户的输入口令,以root权限件使用shadow口令文件。

  6. 在/usr/lib/sasl目录下建立文件sendmail.conf,加入:pwcheck_method:pwcheck。


  三、 安装含SMTP认证sendmail

  RedHat 7.0的默认安装是包含了sendmail-8.11.0的,但是只能通过这个sendmail在本机发送邮件。为了安全起见,在/etc/mail/access文件中,只默认设置了对应Localhost的RELAY(接收)。



  为了让这个服务器可以为其他用户提供发送邮件服务,简单的办法是配置/etc/mail/access文件,来设置可以RELAY或者REJECT(拒绝)的域或者IP段。这对工作地点在多个域内或不固定IP的拨号用户而言,有些不适用。我们得给SMTP服务加上认证功能,只转发那些通过身份认证的用户的信件。方法如下。

  1. 展开sendmail.8.12.0.Beta7.tar.gz,并进入所在的目录:

  #tar zxvf sendmail.8.12.0.Beta7.tar.gz

  #cd sendmail.8.12.0.Beta7

  在devtools/Site/目录下创建site.config.m4文件,加入两行文字:APPENDDEF(`confENVDEF’, `-DSASL’);APPENDDEF(`conf_sendmail_LIBS’, `-lsasl’),把SMTP认证功能编译到sendmail中。

  2. 回到sendmail.8.12.0.Beta7目录,再进入sendmail目录,开始编译sendmail。

  #cd -

  #cd sendmail

  #./Build -c

  -c参数表示编译时先删除原先编译的结果。

  3. 编译成功后,运行./Build install安装软件:

  #./Build install

  4. 生成sendmail的配置文件。回到上一级目录,再进入cf/cf目录,创建config.mc:

  #cd -

  #cd cf/cf

  config.mc文件内容略。

  5. 编译生成/etc/mail/sendmail.cf文件:

  #m4 ../m4/config.m4 config.mc 〉

  /etc/mail/sendmail.cf

  6. 启动sendmail:

  #sendmail -bd -q10m

  四、安装sendmail守护进程

  表面上看,到上一步,我们的安装工作应该完成了。但事实上,由于我们设置了SMTP的认证,sendmail不论是发信还是收信,都会要求对方提供身份验证的密码。而给我们发信的人应该是无需身份验证的,所以我们把刚刚安装的含认证功能的sendmail安装在26端口,然后我们再单独安装一份sendmail守护进程。它在25端口专门接收别人发送到这台服务器的信件。具体方法略。

  配置启动文件

  按照上面的过程安装完成之后,Qpopper和26端口的sendmail进程会在下次启动时自动启动,但是25端口的sendmail和用于检查口令的守护程序不会自动运行,所以需要把它们加入启动文件中。

  最直接的是修改/etc/rc.local,把下面的两行文字加入到这个文件的尾部适当位置。

  /usr/sbin/sendmail_daemon-bd -q10m

  -C/etc/mail/sendmail_daemon.cf

  nohup pwcheck &&

  测试

  重新启动计算机,上面我们所安装的进程都会自动启动。登录到主机,对Qpopper、含SMTP认证的sendmail、不含SMTP认证的sendmail、pwcheck分别测试。再进行整体测试:用另外一台安装有OutLook Express 5.0的计算机,配置好账户属性后,分别用不同主机的电子邮件地址做收发测试。注意:发送邮件选择“我的服务器需要身份验证”时,可以选择和POP3相同,也可以选择不同;另外,发送邮件服务器的端口号是26,而不是默认的25。

  如果拥有不止一个域名,你需要在/etc/ local-host-names这个文件里加上其他的域名名单。如果想做邮件转发,如发送给webmaster@sysok.com的邮件自动转发给look@sysok.com以及admin@sysok.com,就在/home/webmaster目录下创建一个.forward文件,加入文字:look@sysok.comadmin@sysok.com。这时,发送给webmaster@sysok.com的邮件就会自动转发给look@sysok.comadmin@sysok.com

  RedHat Linux是目前国内应用比较广泛的服务器操作系统之一,sendmail以及Qpopper等都是免费软件。这套RedHat完整邮件系统完全可以负担公司内部甚至更复杂的系统工作。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-18 04:46 , Processed in 0.123036 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表