linux 跟我一起学14 架设邮件服务器
zy66289214
|
1#
zy66289214 发表于 2007-08-04 01:23
linux 跟我一起学14 架设邮件服务器
邮件服务器的架设《上》
难道我写的不够详细吗,看的同志给点意见啊 1.首先我们要清楚一些概念,邮件服务器是在一个域内的,比如我建的邮件服务器是在zhaoyong.com这个域内的,邮件服务器分为发邮件和接受邮件,发邮件的工具是smtp ,接受邮件的是pop3和imap,由于pop3逐渐会被淘汰,这里我们只学习imap 当我们在寄信时,所使用的是 SMTP (Simple Mail Transfer Protocol) 通讯协议,而收信时,使用的是 POP3 (Post Office Protocol) 或是 IMAP (Internet Message Access Protocol) 协定。 一般常用的 SMTP 软件为 FreeBSD 内附的 Sendmail、Qmail、或 Postfix。而收信时所使用的 POP3 及 IMAP 软件 2.首先我们去sendmail的官网上去下载最新的版本,www.sendmail.org,http://www.sendmail.org/releases/8.14.1.php,最新的版本是 8.14.1大家可以去这里下载 3.[root@zy jishu]# rpm -q sendmail 确保你没有安装sendmail 和 postfix 如果你安装了请卸载它 [root@zy jishu]# rpm -q postfix [root@zy jishu]# rpm -e --nodeps sendmail ,--nodeps 忽略依赖信息检查 传统上,SMTP 在接受使用者寄信时,并不须经过身份认证,任何人都可以使用你的主机来制造垃圾信 而且sendmail没有自己的认证库,我们需要检测是否装了如下的认证库 [root@zy jishu]# rpm -qa |grep sasl cyrus-sasl-2.1.15-6 cyrus-sasl-plain-2.1.15-6 cyrus-sasl-md5-2.1.15-6 cyrus-sasl-devel-2.1.15-6 如果没有安装的话大家去这里下载ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ 需要注意sendmail需要dns服务安装好的情况下进行,如果你dns没安装好 ,请参考我的第12课和第13课 4. 大家需要注意的是邮件服务器一定要在本地区域内 [root@zy jishu]# more /var/named/zhaoyong.com.zone @ 1D IN SOA zhaoyong.com. root ( 2007080312 1H 15M 1W 1D ) IN NS @ IN A 192.168.1.144 IN MX 10 mail www IN A 192.168.1.101 mail IN A 192.168.1.102 news IN CNAME www ftp IN CNAME mail 我这里的邮件服务器的地址为192.168.1.102 确保dns可以解析的, MX是邮件服务器 10代表优先级,数字越小优先级越高, 5.然后我们来编译sendmial主文件 [root@zy jishu]# tar zxvf sendmail.8.14.1.tar.gz 解压该目录 [root@zy jishu]# cd sendmail-8.14.1/ 进入该目录 sendmail默认情况下是没有用户认证库的 我们需要编辑如下文件 [root@zy sendmail-8.14.1]# vi devtools/Site/site.config.m4 然后在里面加上如下两句话,把SMTP认证功能编译到sendmail中 APPENDDEF(`confENVDEF',`-DSASL=2') APPENDDEF(`conf_sendmail_LIBS',`-lsasl2') 大家一定要看清楚不要写错 6.然后我们来编译此工具 [root@zy sendmail-8.14.1]# sh Build -c Build是一个脚本 大家可以./Build 直接执行 也可以用sh 执行 编译好之后将自动产生一个sendmail的守护程序 [root@zy sendmail-8.14.1]# sh Build INSTALL 它就会把sendmail的可执行文章安在相应的位置 sendmail配置的是后需要宏解释器M4 我们确定一下它安装了没有 [root@zy sendmail-8.14.1]# rpm -q m4 m4-1.4.1-14 由于sendmail配置非常的复杂,而且语法非常难懂,所以我们需要宏解释器。所以sendmail配置的时候可以使用m4 宏配置来使用 在sendmail下包含了一套宏定义,在该目录的cf目录下,我们需要把这个目录cp到系统中去 [root@zy sendmail-8.14.1]# mkdir /usr/share/sendmail 创建一个目录 [root@zy sendmail-8.14.1]# cp -a cf /usr/share/sendmail , -a是将整个目录cp的意思 [root@zy sendmail-8.14.1]# cd cf/cf/ 我们进入cf的cf目录下 sendmail需要sendmail.mc文件 在cf这个目录下,有适用于不同类型的sendmail.mc配置文件,我们选择linux的配置文件 [root@zy cf]# cp generic-linux.mc sendmail.mc 复制这个文件 [root@zy cf]# more sendmail.mc 查看这个配置文件 其中这个文件是没有空格的大家注意,每行结尾都有dnl,dnl的意思也就是注释的意思 也就是就算有空格也注释掉的意思 divert(0)dnl VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $') OSTYPE(linux)dnl DOMAIN(generic)dnl MAILER(local)dnl MAILER(smtp)dnl [root@zy cf]# make install-cf 安装sendmail的配置文件 然后它会在里面提示你要建立一个目录 [root@zy cf]# mkdir /etc/mail [root@zy cf]# make install-cf 从新运行一次 [root@zy cf]# cp sendmail.mc /etc/mail 将这个文件cp到mail目录下 以后我们想改变配置文件 只需要改变mail目录下的sendmail.mc [root@zy mail]# cd /etc/mail/ 进入该目录 [root@zy mail]# touch aliases access 我们先建立两个初始化的文件 aliases 保存用户的别名文件 access 是允许访问用户的地址 [root@zy mail]# echo "zhaoyong.com" > local-host-names 这句话的意思是告诉本机是为了zhaoyongcom这个域服务的 [root@zy mail]# echo "zhaoyong.com" >> local-host-names 用重定向追加进去 它不光是为zhaoyong.com这个域服务,他还为mail.zhaoyong.com服务所以也要写进去 [root@zy mail]# makemap hash access < access 由于access是一个空文件所以我们用makemap命令来把文件建立成一个数据库 -bash: makemap: command not found 我们发现命令是失败的 [root@zy mail]# which makemap /usr/bin/which: no makemap in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin) 所以我们要退回去 [root@zy sendmail-8.14.1]# sh Build INSTALL 将sendmail从新安装下 哥们们我是苦了,我的linux内核不支持makemap我发疯了,新版本的支持不够啊,我要从新卸载用光盘的安装了 郁闷死了 [root@zy mail]# makemap hash aliases < aliases 生成一个aliases [root@zy mail]# mkdir /var/spool/mqueue 建立这样一个文件的目的是发往服务器的用户可能有很多,需要有一个先后顺序 [root@zy mail]#/usr/sbin/sendmail -db -q1h ,-db在后台运行-q1h 1小时处理一次队列,启动服务器 [root@zy mail]#ps -aux |grep sendmail 查看下是否运行 7.测试 [root@zy root]# netstat -tnl |grep :25 监听下本机的25端口是否在运行 建立用户来收信和发信 [root@zy root]# useradd redhat [root@zy root]#passwd redhat 注意root用户是不能利用smtp协议来收信和发信 未完待续,哥们们支持我,raid5把我折腾坏了,烂惠普服务器明天又要去从装。 |