[原创]架设Redhat9.0下web管理的sendmail

[原创]架设Redhat9.0下web管理的sendmail

经过一段时间的对linux的摸索,结合我的工作,还有观看了论坛的一些相关的帖子,整理出一台Linux rh9邮件系统安装的详细步骤,希望以此抛砖引玉,请各位提出对此配置的意见国,还有就是对自己经验的书面保存。
最终效果:使用linux自带的sendmail,为用户提供前台的web页面(openwebmail)进行登陆操作,后台可以进行web管理(webmin);也可以使用outlook/foxmail等邮件收发软件进行邮件管理。

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

目录:

硬件第一阶段 硬件配置
硬件第二阶段 Raid卡安装

网络第一阶段 申请Internet域名
网络第二阶段 配置ISP自带的DNS服务

软件第零阶段 操作系统配置
软件第一阶段 安装系统
软件第二阶段 配置DNS
软件第三阶段 配置Sendmail
软件第四阶段 配置Openwebmail/Apache
软件第五阶段 配置IPTABLES防火墙
软件第六阶段 配置Outlook/Foxmail

*硬件和网络配置很多是新手问题可以略过不看,如果想直接看软件配置,请跳到软件第一阶段。

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

硬件第一阶段 硬件配置

硬件系统:
CPU:C4D 2.4G
主板:ASUS 865PE
内存:原装HY DDR400 256 X2
硬盘:Seagate Scsi 73G X2
Raid卡:Adaptec 39320A
Raid阵列:Raid1 Mirror
网卡:TPlink 8139 100M
工控机箱+长城300w电源
大约8000RMB左右

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

硬件第二阶段 Raid卡安装

以我的Raid卡(adaptec scsi card 39320A)为例子
主板配置:
RaidBios: Hostraid:Enabled
RaidMode: Raid1
BoardBios: Boot for (pci)scsi device

在rh9中安装raid卡驱动:
1.下载或在光盘上找到驱动包: a320raid-3.00.057-rh90.i686.tar.gz
2.解压出img文件
3.使用rawwrite软件将驱动*.img程式写道到软盘
4.放入Redhat 9.0 光碟然后启动操作系统安装
5.当显示boot: 时,输入 “linux dd”
6.出现“Do you have a driver disk?”时,请选“Yes”
7.在选项“fd0” 和 “hd0” 当中,请选“fd0”然后选“Yes”
7.按装了驱动过后,就可以正常的安装操作系统。

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

网络第一阶段:申请Internet域名

你必须到一个合法的ISP处注册一个公网域名,如果你没有固定IP,使用DDNS(动态域名解析)也可以解决这个问题。动态域名解析我个人比较喜欢花生壳,如果你用的是Tplink系统的高阶路由器(如460),里面有整合DDNS功能,就省去在操作系统上拨号的麻烦了。
公网域名的ISP有很多,这点大家看看到处都有的域名广告就可以了。详细的情况自行向ISP查询。

我现在的状态:已经有一个固定的公网IP地址和一个合法的域名。
下文中假设为:10.1.1.1 / domain.com

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

网络第二阶段:配置ISP自带的DNS服务

如果你找到的ISP提供DNS服务,你就可以去到ISP给你网页上配置你的DNS。主要是配置NS和A记录及邮件记录MX就可以了。详情请咨询ISP~(购买前问清楚如何配置),如果你要使用自己的服务器设置DNS,请参考<<软件第二阶段 配置DNS>>

我的状态:公司配置了DNS服务器,家里的就用DDNS

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第零阶段 操作系统配置

安装一个redhat9.0,怎么安装看精华区吧~(如果连linux都未安装怎么开始配置呢?所以这个阶段叫零阶段…)
需要做Raid的请看:<<硬件第二阶段 Raid卡安装>>

我的系统状态:
操作系统:Linux Redhat 9.0
安装组件:服务器组件/邮件服务器
分区:根分区,/home分区,/boot分区,swap分区
网卡设置:eth0 10.1.1.1/24

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第一阶段 安装linux的web管理软件webmin

需要下载安装的安装包:
linux web管理软件:webmin-1.220.tar.gz
最新版本下载地址: http://www.webmin.com/download.html
*****这个软件非常重要,这文章下面几乎都会使用这个软件来实现web管理linux,请一定要先下载*****

复制安装包到/usr/src
[root@localhost src]# tar zxvf webmin-1.220.tar.gz
[root@localhost src]# cd webmin-1.220
[root@localhost webmin-1.220]# ./setup.sh
开始配置webmin:
Config file directory [/etc/webmin]:                 &&默认即可
Log file directory [/var/webmin]:                         &&默认即可
Full path to perl (default /usr/bin/perl):         &&默认即可
Web server port (default 10000):                       &&默认10000的端口
Login name (default admin): admin                   &&默认用户名:admin
Login password:******                                                 &&输入管理员密码
配置完成后在Mozilla本地浏览器输入:
http://localhost:10000
局域网其它机器访问:(设服务器的IP地址是:10.1.1.1)
http://10.1.1.1:10000  即可访问webmin ,注意如果变更了http默认的80端口就一定要输入http头
输入用户名和密码登陆后在Webmin -> WebminConfig -> language ->设置成simple chinese 就变成中文环境了
如何在webmin中配置sendmail稍后将讲到。

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第二阶段 配置DNS

需要配置DNS才能正确地从互联网上找到服务器位置
使用文本模式配置在精华区已经有很多了,这是就不再叙述了。

这里只介绍使用webmin来配置 DNS (图形界面配置直观)
进入webmin->服务器->bind 8 dns服务器->创建新的主区域->输入你申请的域名及ISP提供的ns服务器地址(你的外网地址)
例子:区域名: domain.com ,命名服务器: ns1 (使用这个后必须告诉ISP现在由ns1.domain.com这台服务器来解析domain.com这个域名的记录)
主配置文件     /etc/named.conf
域名配置文件   /var/named/huaxin-group.com.cn.zone

在相同的位置添加A记录和MX记录
A记录例子:名称:www ,地址:10.1.1.1
MX记录例子:记录名称留空,邮件服务器:mail.domain.com ,优先级别设为5

配置完后把机子的DNS设为10.1.1.1
然后使用ping和nslookup, 有记录显示就ok了

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第三阶段 配置Sendmail

现在建立三个用户:webmaster , miao , tester
使用添加用户命令:useradd $userid
用户密码更改命令:passwd $userid

这里只介绍使用webmin来配置sendmail (图形界面配置直观)
邮件别名配置:
进入webmin->服务器->Sendmail服务器->邮件别名aliases ->地址:输入webmaster ,别名为:邮件地址 / miao
这样子发到webmaster的邮件就会转发一份到miao的帐号了,如果需要转发多一份给tester可以直接编辑/etc/aliases文件,在webmaster后面直接添加tester就可以了。

配置smtp端口选项:
进入webmin->服务器->Sendmail服务器->Sendmail选项:SMTP端口选项变为 Port=smtp, Name=MTA
配置最大邮件尺寸:
进入webmin->服务器->Sendmail服务器->最大邮件大小:200000字节 (即20M左右)

垃圾邮件控制:
进入webmin->服务器->Sendmail服务器->垃圾邮件控制:邮件来源:域 / domain.com;动作:允许转发
进入webmin->服务器->Sendmail服务器->垃圾邮件控制:邮件来源:域 / unclean.com;动作:拒绝
进入webmin->服务器->Sendmail服务器->垃圾邮件控制:邮件来源:邮件地址 / badman@abc.com;动作:拒绝
起动makemap更新access.db文件:
[root@localhost mail]# cd /etc/mail
[root@localhost mail]# makemap hash access.db < access

本地信任的域
进入webmin->服务器->Sendmail服务器->本服务器处理的域:mail.domain.org
本地可信用户
进入webmin->服务器->Sendmail服务器->可信任用户->添加yourid->保存

开机时启动sendmail
进入webmin->系统->引导和关机->sendmail->在启动时启动?是

配置POP/IMAP服务器
查看是否已经安装IMAP
[root@localhost mail]# rpm -qa imap
imap-2001a-18
如果已经安装则会给出文件信息,没安装拿个光盘装一下或找一个imap的安装包
起动POP/IMAP
进入webmin->服务器->网络->Xinetd服务配置->起动POP2/POP3/IMAP进程

做完这步就已经完成了sendmail的配置了,可以用邮件收发软件来处理邮件了
要查看outlook/foxmail的配置,可以参考<<软件第六阶段 配置Outlook/Foxmail>>

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第四阶段 配置Openwebmail/Apache

精华区里有文章,这里我只列出redhat9里必要的步骤

需要安装的软件包:(7个)
openwebmail-2.51-20050627.i386.rpm
CGI.pm-2.74.tar.gz
MIME-Base64-2.12.tar.gz
libnet-1.0901.tar.gz  
perl-Text-Iconv-1.2-RH73.i386.rpm
perl-suidperl-5.8.0-55.i386.rpm  
perl-Compress-Zlib-1.21-RH80.i386.rpm

安裝 CGI.pm 套件
[root@localhost src]# cd /usr/src
[root@localhost src]# tar -zxvf CGI.pm-2.74.tar.gz
[root@localhost src]# cd CGI.pm-2.74
[root@localhost src]# perl Makefile.PL
[root@localhost src]# make
[root@localhost src]# make install

安裝 MIME-Base64 套件
[root@localhost src]# cd /usr/src
[root@localhost src]# tar -zxvf MIME-Base64-2.12.tar.gz
[root@localhost src]# cd MIME-Base64-2.12
[root@localhost src]# perl Makefile.PL
[root@localhost src]# make
[root@localhost src]# make install

安裝 libnet 套件
[root@localhost src]# cd /usr/src
[root@localhost src]# tar -zxvf libnet-1.0901.tar.gz
[root@localhost src]# cd libnet-1.0901
[root@localhost src]# perl Makefile.PL   这里出现的配置选项按no
[root@localhost src]# make
[root@localhost src]# make install

安装Text-Iconv套件
[root@localhost src]# cd /usr/src
[root@localhost src]# tar -zxvf Text-Iconv-1.2.tar.gz
[root@localhost src]# cd Text-Iconv-1.2
[root@localhost src]# perl Makefile.PL
[root@localhost src]# make
[root@localhost src]# make install

安装三个perl套件
[root@localhost mail]# rpm -ivh perl-suidperl-5.8.0-55.i386.rpm
[root@localhost mail]# rpm -ivh perl-Compress-Zlib-1.21-RH80.i386.rpm
[root@localhost mail]# rpm -ivh perl-Text-Iconv-1.2-RH73.i386.rpm

安装openwebmail包
[root@localhost src]# rpm -ivh openwebmail-2.51-20050627.i386.rpm
配置openwebmail
[root@localhost src]# cd /var/www/cgi-bin/openwebmail/
[root@localhost openwebmail]# ./openwebmail-tool.pl –init
[root@localhost openwebmail]# cp ./etc/defaults/dbm.conf ./etc
[root@localhost openwebmail]# vi ./etc/dbm.conf
编辑dbm.conf最后三行变为:
dbm_ext                 .db
dbmopen_ext             .db
dbmopen_haslock         yes
[root@localhost openwebmail]# vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
domainnames                       domain.com
smtpserver                          10.1.1.1
default_language             zh_CN.GB2312
default_iconset              Cool3D.Chinese.Simplified
[root@localhost openwebmail]# ./openwebmail-tool.pl --init &&起启openwebmail

配置apache
[root@localhost openwebmail]# vi /etc/httpd/conf/httpd.conf
查找到ServerName
将其去除注释后改为
ServerName 10.1.1.1:80
更改:ScriptAlias / "/var/www/cgi-bin/openwebmail/openwebmail.pl"
添加:Alias /data "/var/www/data"
[root@localhost openwebmail]# apachectl start   &&起动apache
或重启
[root@localhost conf]# service httpd restart &&重启apache

做完这里在浏览器中输入地址:
http://10.1.1.1/cgi-bin/openwebmail/openwebmail-main.pl
输入用户名和密码进入后就可以测试收发了,在conf选项可以配置成中文界面

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第五阶段 配置IPTABLES防火墙

最简单的配置就是在原来的防火墙基础上打开pop3/imap/http/smtp/webmin的端口 110/143/80/25/53/10000
iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 143 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 10000 -j ACCEPT
最后打开端口转发
[root@localhost etc]#vi /etc/sysctl.conf
修改net.ipv4.ip_forward = 1

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

软件第六阶段 配置Outlook/Foxmail

主要有四个地方要输入正确:(其它都是本机的标识而已)
smtp: mail1.domain.com (outlook要选择imap认证)
pop3: mail1.domain.com
用户名:webmaster
密码:*******

163官方攻略配置:http://mail.163.com/help/help_client_04.htm

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------

终于写完了,希望各位前辈能给出意见(尤其是sendmail管理和安全方面的问题),我会不断修改完善这个攻略的。尤其卡在找那几个安装包的时候~经常下载了同名的安装包来试一下那个可以~那叫一个累呀。如果大家想要全部的安装包(15.6M),可以站内发信息给我,或加我QQ: 327801595,大家交流一下心得。
引用某教授的说话:使用Linux没配置过邮件服务器的就不叫会用Linux,但配置二次的绝对就是个疯子。
我全配了四次,我想我已经傻了…

                                                                                        ----写于05年12月6日 寒风凛冽冰冻刺骨的广州城

*************本猫专为linuxfans撰写此文,转载请保留此行*************Author@吴刚猫

----------------------------------  /\~/\ 猫耳分割线  ---------------------------------------
还没有开始细看,先谢谢一下楼主,辛苦了
sendmail  配起来巨复杂 -_-!
先顶
并感谢楼主!!
高手用SENDMAIL
我用QMAIL的,呵呵
LZ的文章帮助我完成了毕业论文阿,顶!!!
搞得我有重装sendmail+openwebmail的冲动!
我老师说过把SENDMAIL配的很熟的人,才是真的懂了LINUX,是那种文本配置
sendmail 好难啊..............搞得我晕头转向 ...郁闷.....配了N久就是不通...唉...烦躁呢.老师也不知道.问的人都没有....