分类: LINUX
2009-09-04 13:37:15
最近做了这个邮件服务器的实验,这个部署属于小型邮件服务器的搭建,并没有涉及到过滤检测等高级功能,网络上有许多网友的安装配置步骤已经说的很详细拉,自己总结一些相关要点,给自己缕缕思路,备用。
一、准备工作:
1. Sendmail是smtp,qpopper是pop3,saslauth是密码验证机制,openwebmail是webmail.
2. 相关软件包信息:
Sendmail,saslauth(cyrus-sasl),以及支持openwebmail的apache组件,都可以使用系统自带的rpm包进行安装。Openwebmail.qpopper需下载后安装。
1) Os: Redhat AS4
Sendmail: sendmail-
Apache: httpd-
Cyrus-sasl:cyrus-sasl-md5-
cyrus-sasl-plain-
cyrus-sasl-ntlm-
Qpopper: qpopper
Openwebmail: openwebmail-2.53-3,openwebmail-data-2.53-3
perl-Compress-Zlib-1.42-1,perl-Text-Iconv-1.4-1.2.el4
perl-suidperl-
2)软件下载路径:
Qpopper: ftp://ftp.qualcomm.com/eudora/servers/unix/popper/
Openwebmail:
3.测试环境下没有DNS服务器,并且我们没有合法的域名与公网IP,所以mail无法被服务器提供A记录与mx记录。本机也就没有再设置A记录,这个实验的mail域名(或叫主机名)是随意定义的,所以在后面启动pop3服务器后,无法通过mail客户端正常收信。但是只要你的测试环境连接着互联网,无论是在mail服务器上还是局域网中的任意mail客户端,通过smtp服务可以发送到合法的mail地址,即便mail客户端通过mail服务器SMTP的转发的功能。
4.SMTP与POP3都是MTA(邮件传递代理)机制下的具体化,一般都运行在邮件服务器上。而客户端使用的如foxmail等是MUA(邮件用户代理),我们发送的邮件实际是在两个MTA直接进行的,也就是是说在mail服务器之间进行,而MUA,只是负责把邮件交给MTA来处理。MDA(邮件投递代理)机制,通过MTA收到的信件,由MDA放置到各个邮件的mailbox中进行管理,比如过滤不良信息,自动收发邮件什么的。
5.Saslauthd守护程序进行密码验证工作,默认是shadow验证方式,mail客户端需要支持密码验证,(一般现在的都支持),当把saslauthd停掉后,mail客户端收发邮件就总会提示你输入密码,无法正常收发邮件,这就是saslauthd的作用。
6.Qpopper安装后的执行程序是popper,并且也是支持的shadow密码验证。
7.Openwebmail是通过PERL程序实现的cgi-bin,所以需要安装一些perl组件。
二、各组件配置与命令概要:
1. Sendmail: (修改前先备份旧的)
/etc/mail/sendmail.cf #sendmail主配置文件,主要修改监听参数,配合cyrus-sasl修改SMTP验证。
/etc/mail/sendmail.mc #sendmail.cf比较复杂,为了避免错误,修改sendmail.mc文件,
执行m4 sendmail.mc > sendmail.cf,这样就修改了主配置文件。
没有m4的话,需先安装。
/etc/mail/local-host-names #邮件服务器主机名信息,也就是你的邮件地址或者邮件域
#名,也可以在sendmail.cf中修改。
/etc/mail/access #访问限制配置文件,也可以makemap hash access.db
2. Cyrus-sasl:
/usr/lib/sasl2/Sendmail.conf #SMTP验证方式,pwcheck_method:saslauthd
3. Qpopper:
编译参数: # --enable-standalone
使用standalone模式
--enable-specialauth 使得支持RHEL5的用户密码shadow
--enable-log-login Qpopper记录成功登陆的认证。
启动方法与参数: # popper -c -C -R -s -T180
-c
将用户名大写变为小写,因此用户名可以大小写混合使用,结果都为小写
-C 如果用户名带有域名,-C选项将“@域名”去掉。
-R 禁用对客户端IP反向DNS查询
-s 在日志中记录统计数据
-T 设置客户端的读取超时时间,默认120秒
关闭方法: #killall
4. Apache:
/etc/httpd/conf/httpd.conf #主配置文件,主要修改监听主机和端口。
5. Openwebmail:
/var/www/cgi-bin/openwebmail/etc/dbm.conf #这个文件要存在。可能跟数据库有点关系,不太确定。
/usr/share/doc/openwebmail-2.53/ openwebmail-post.txt #安装方法介绍。
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl –init #初始化命令,在WEB页面执行
也可以 #WEB访问地址
var/www/cgi-bin/openwebmail/etc/openwebmail.conf #主配置文件。
三、一些测试命令:
1.Netstat –tulnp #查看端口,确认25与110端口是否存在。
2.telnet localhost 25 #远程登陆SMTP服务器