因为sendmail自身的安全性不足,配置又复杂,因而不用好久了,既然这次需求,就记录一下安装过程吧
1 下载Berkeley DB -- 新的Berkeley DB包, Sendmail通过利用该数据库的功能, 才能有效的抵挡邮件攻击(于http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html?ssSourceSiteId=ocomen 可以下载各种版本)
下载db-4.8.30
2 下载sendmail-8.14.5
3 先安装db-4.8.30
# tar db-4.8.30.tar
#cd dist
# setenv CC gcc
#cd build_unix 然后运行 ../dist/configure (这个要注意)
# make
# make install
缺省安装在/usr/local/BerkeleyDB/ 下,这个目录要记得,安装sendmail的时候要配置
4.安装openssl
# ./config --prefix=/usr/local --openssldir=/usr/local/openssl
5 安装sendmail ,tar开包后
#cd ./sendmail-8.14.5/devtools/Site
# vi site.config.m4
dnl ### Changes for PH_MAP support.
APPENDDEF(`confMAPDEF',`-DNEWDB')
APPENDDEF(`confLIBS', `-ldb')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.8/include')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.8/lib')
这个配置是要sendmail编译的时候找最新你安装DB的头文件和库
# Build 编译通过,编译完成后会自动生成目录obj.SunOS.5.9.sun4(这个名字和你系统有关)
# mkdir /usr/share/man/cat1,cat5,cat8三个目录
# Build install
至此安装完sendmail
5 另外
1)vi /.cshrc 添加 /usr/local/BerkeleyDB.4.8/lib和 /usr/local/BerkeleyDB.4.8/bin
2)如出来找不到libdb-*.*.so的报错,可到/usr/local/BerkeleyDB.*.*/lib找到所对应的文件,把对应的文件拷至/usr/lib就可以解决
3)如果报错找不到libgcc,而你明明已经安装了libgcc
cp /usr/local/lib/libgcc_s.so.1 到/usr/lib 下就OK了
4)配置文件缺省在/etc/mail下,运行/usr/lib/sendmail -bd -q1h 启动进程
5)修改access后,需要makemap hash access.db<access;修改sendmail.mc后
m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf