&">nbsp; 首先,必须获取sendmail源代码并进行编译。接着,必须选择同用户的站点需求相接近的sendmail.cf文件并对它进行必要的修改。然后,测试sendmail和它的配置文件。最后,必须安装sendmail、sendmail.cf以及其他辅助文件。
上面所述的是基本步骤。但根据sendmail安装位置的不同,可能还需要修改系统登录脚本(/etc/init.d中的一个文件),从而使sendmail在系统引导下能够被正确地启动。此外,如果系统没有别名文件,还必须创建一个,别名文件通常被命名为/usr/lib/aliases或/etc/mail/aliases(别名文件的位置将在sendmail.cf中用到,因此可以把它放在用户想放的任何地方)。需要注意的是,可能还需要对系统的DNS数据库进行修改。
1.获取源代码
RedHat 6.1配备的是sendmail-8.9.3,从www.redhat.com站点上可以得到sendmail-8.9.3的RPM版本。sendmail的这一版本可以从http://www.sendmail.org站点得到,或者通过FTP从ftp://ftp.sendmail.org得到。
注意:下载文件的确切名字依据V8 sendmail当前版本的不同而不同,当前的最新是版本8.9.3。另外,由于文件是被打包压缩的,因此在传输它们之前必须为FTP提供binary命令,即以二进制方式传输。还注意,应该使用自己完整的E-mail地址作为口令,例如username@somedomain.gov。
2.解压源、解包并编译sendmail
在获得了源代码后,必须把它打开。由于它是一个被压缩的tar映像文件,因此必须对它进行解压,然后从tar档案中抽取各个文件。假定文件存放在目录/usr/local/src下面。
[root@lll src]# gzip -d sendmail-8.9.3.tar.gz
[root@lll src]# tar -xvf sendmail-8.9.3.tar
执行上述操作后,将产生子目录sendmail-8.9.3。接下来,运行cd和Is,查看这一源代码 目录中有哪些文件:
[root@lll src]# cd sendmail-8.9.3/stc。
[root@lll src]# ls
Makefile collect.c macro.c parseaddr.c srvrsmtp.c
Makefiles conf.c mailp.0 pathnames.h stab.c
READ_ME conf.h mailp.1 queue.c stats.c
TRACEFLAGS convtime.c mailstats.h redcf.c sysexits.c
alias.c daemon.c main.c recipient.c sysexits.h
aliases deliver.c makesendmail safefile.c trace.c
aliases.0 domain.c map.c savemail.c udb.c
aliases.5 envelope.c mci.c sendmail.0 useful.h
arpadate.c err.c mime.c sendmail.8 usersmtp.c
cdefs.h headers.c newaliases.0 sendmail.h util.c
clock.c ldap_map.h newaliases.1 sendmail.hf version.c
现在可以准备编译sendmail了,但首先要阅读下面的文件,这些文件包含关于用户所下载的sendmail版本的最新消息。
FAQ
RELEASE-NOTES
KNOWNBUGS
READ_ME
另外,还要注意doc/op子目录中的sendmail安装与操作指南(SIOG)。
sendmail的安装过程非常简单。要编译新的sendmail版本,运行下面的命令即可。
[root@lll src]# makesendmail
在RedHat 6.x的2.2内核上,sendmail在编译时不会出现任何警告或错误。如果使用光盘上的RPM软件包文件,安装更简单。仅需执行下面的命令:
[root@lll src]# rpm-ivh sendmail-8_9_3.rpm
在安装新的sendmail时,一定要为被替换的所有文件创建一个备份,特别是原来的sendmail守护程序。如果新的sendmail不能正常工作,在排除新版本的故障时,将需要恢复原来的版本。
要安装新版本的sendmail,首先利用下面的命令停止当前运行的守护进程:
[root@lll src]#/etc/rc.d/init.d/sendmail.init stop
然后把新的二进制文件拷贝到sendmail的正确位置:
[root@lll src]# cp obj.Linux*/sendmail/usr/sbin/sendmail
另外,还必须把新的手册页文件拷贝到正确位置:
[root@lll src]# cp aliases.1/usr/man/man5/aliases.5
[root@lll src]# cp mailq.0/usr/man/man1/mailq.1
[root@lll src]# cp newaliases.0/usr/man/man1/newaliases.1
[root@lll src]# cp sendmail.0/usr/man/man8/sendmail.8
现在可以利用下面的命令重新启动新的sendmail守护进程:
[root@lll src]# /etc/rc.d/init.d/sendmail/init start