返回列表 回复 发帖

Sendmail安装手册

安装配置SendmailV8  

一、获取Sendmail  

最新的Sendmail V8 可以从 Sendmail Consortium 主页获取。北京大学匿名FTP上也有。目前最新版本是Sendmail8.11.1  

二、解开Sendmail  

安装Sendmail必须有超级用户(root)权限。取来的Sendmail通常是 .tar.gz 格式的包,你需用下面命令进行解包:  
# gzip -cd sendmail.8.11.1.tar.gz | tar xvf - 解开的包放在sendmail-8.9.3下。  

三、 编译并生成sendmail  

你的系统上必须有C编译器或GNU的gcc编译器。你可以从北大FTP上获取Solaris2.5 /2.6上的编译好的GCC包 在编译Sendmail之前, 我们还需要新的Berkeley DB包, Sendmail通过利用该数据库的功能, 才能有效的抵挡邮件攻击。最新的Berkeley DB可从http://www.sleepycat.com/获取。在北大FTP上你可获得目前最新的2.7.3版本。安装Berkeley DB的步骤如下:  
a.解包:  
# gzip -cd db.2.7.3.tar.gz| tar xvf -  
# cd db-2.7.3  
b.编译并安装  
# cd dist  
如果你是用gcc, 做下一步:  
# vi configure  
在 configure中加入一行:  
CC=gcc  
# ./configure  
# make  
# make install (需要超级用户权限)  

缺省情况下, Berkeley DB被安装在 /usr/local/BerkeleyDB/ 目录下,你可以通过修改Makefile中的profix参数来重新定义这个目录。该目录要?亲? 下面编译Sendmail时要用到。现在我们回到Sendmail所在的目录:  
# cd sendmail-8.9.3  
再进到BuildTools/Site目录下,创建 site.config.m4  
# cd BuildTools/Site  
# vi site.config.m4  
在site.config.m4 输入下面两行:  
define(`confINCDIRS,`-I/usr/local/BerkeleyDB/include)  
define(`confLIBDIRS,`-L/usr/local/BerkeleyDB/lib)  
这是为了告诉Build到哪去找DB的头文件和库。再回到sendmail-8.9.3目录下,执?邢旅婷睿?
#cd ../../sendmail-8.9.3  
#make  
编译完后,你需要创建 /usr/share/man/cat1,cat5,cat8三个目录,再执行安装程序;否则会出错退出。  
#make install (需要超级用户权限)  
当你执行完以上命令后,系统将sendmail,mailq安装在目录/usr/lib/下, makemap 安装在 /usr/sbin/ 下,这是生成数据库映像的工具;smrsh安装在 /usr/lib下,这是sendmail专用的Shell。  
下面我们要来生成Sendmail的配置文件 sendmail.cf。  

   四、生成sendmail.cf  

Sendmail的配置文件是通过m4命令生成的。首先进入~/sendmail-8.9.3/cf/目录:   
1.#cd ~/sendmail-8.9.3/cf  
2.#cd cf  
3.#cp generic-solaris2.mc sendmail.mc  
4.编辑 sendmail.mc 如下:  
diver(0)dnl  
VERSIONID(`@(#)sendmail.mc 8.30)  
OSTYPE(solaris2)dnl  
DOMAIN(generic)dnl  
define(`confCOPY_ERRORS_TO,`Postmaster’)dnl  
define(`confPRIVACY_FLAGS’,``authwarnings,noexpn,novrfy)dnl  
FEATURE(relay_entire_domain)  
FEATURE(virtusertable)dnl  
FEATURE(access_db)dnl  
FEATURE(blacklist_recipients)  
FEATURE(rbl)  
FEATURE(smrsh)  
MAILER(local)dnl  
MAILER(smtp)dnl  

五. 生成 sendmail.cf:  

# m4 ../m4/cf.m4 sendmail.mc > sendmail.cf  
将 sendmail.cf拷贝到 /etc目录下。  
Sendmail的配置文件就生成好了。  

六、生成其他相关文件  

在 /etc/mail下主要生成下面几个文件:sendmail.cw,aliases, access, relay-domains, 和 /etc/virtusertable(你可通过改sendmail.cf文件将virtusertalbe放到/etc/mai l下。  

1. Sendmail.cw中放置所有你希望该服务器接收的主机名。如果你希望域名做主机名?部杉尤肫渲小1热纾阍诟梦募蟹?pku.edu.cn, 那么,该服务器接收地址为 user@pku.edu.cn邮件。  

2.Aliases 别名文件是系统安装sendmail时生成的。第一次运行sendmail之前,必须先运行 /usr/lib/newaliases 命令来生成 aliases数据库文件。以后每次修改aliases文件后,都要运行该命令薷牟庞行А?  

3.Relay-domains中放置允许邮件中继的域名,如 pku.edu.cn。 4.Access文件是用来控制邮件中继和邮件轰炸(Spamming)的。具体如何设置,参 看文章《如何防止邮件攻击》。  

5.Virtusertable 是用来支持所谓的虚拟用户别名的。它和aliases文件主要不同是:aliases中别名 指向的用户必须是本地用户,virtusertable中的别名指向的用户可以是其他服务?魃系挠没Щ虮鹈庋蟠笤黾恿吮鹈柚玫牧榛钚裕乇鹗悄阆M馓⊿MTP服?衿髯鰉ail hub 或 smart host,专们处理非本地的邮件中转时。 /etc/mail/virtusertable 文件的内容格式和/etc/mail/aliases基本一样,举例如下:  
Kai.Wang@pku.edu.cn  
kaiw@mailserver  
Jianw@pku.edu.cn  
jianw@csmailsvr  
……  
Virtusertable 也需要用makemap来生成它的数据库文件。命令如下:  
# makemap hash virtusertable.db < virtusertable  

八、测试sendmail  

首先,启动sendmail后台进程:  
# /usr/lib/sendmail -bd -q1h  
# ps -ef|grep sendmail /* 查看进程是否运行。  
然后,分别从本地和远地给服务器上的某一用户发邮件,看是否能收到。在 /var/log/syslog 文件中你可以看到Sendmail的日志信息。 你也可以通过下面命令对sendmail发送邮件进行跟踪:  
#/usr/lib/sendmail -d -v user@host.domain  
总之, Sendmail是一个较复杂的软件,这篇文章只是一些最基本的介绍。你可以从sendma il正式站点找到更多的信息。

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表