现在 e-mail 已经成为一个很普遍的人与人之间的沟通管道了,电子邮件可以很快速的帮你将文件或讯息传送到地球上的任何一个有网络存在的角落,当然,你也可以在任何有网络的地方,连上 Internet 去收取你的信件。下面来搭建postfix邮件服务器
服务器环境:
操作系统:
Red Hat Enterprise Linux Server 5.4 内核版本: 2.6.18-164.el5
需要的软件:
postfix-2.3.3-2.1.el5_2.i386.rpm
cyrus-sasl-2.1.22-5.el5.i386.rpm
squirrelmail-1.4.8-5.el5_3.7.noarch.rpm
dovecot-1.0.7-7.el5.i386.rpm
网络参数:
IP: 192.168.1.181/28 netmask:255.255.255.240 Gateway:192.168.1.190
配置步骤:
配置yum工具,编辑/etc/yum.repos.d/rhel-debuginfo.repo文件
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server]
name=Red Hat Enterprise Linux server 仓库的描述
baseurl=file:///mnt/cdrom/Server 仓库对应的物理目录
enabled=1 开启该仓库
gpgcheck=1 进行签名检测
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 密钥位置
新建挂载点,挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom/
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
安装postfix软件包
[root@localhost ~]# yum install postfix -y (-y 安装过程中不在提示确认安装)
关闭或者卸载sendmail服务,否则将会和postfix冲突
[root@localhost ~]# service sendmail stop
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
启动postfix服务,查看监听状态
[root@localhost ~]# service postfix start
Starting postfix: [ OK ]
[root@localhost ~]# chkconfig postfix on
[root@localhost ~]# netstat -tupln |grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4616/master
修改/etc/sysconfig/network文件,修改主机名
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=mail.bht.com
为使新修改的主机名马上生效,可以手动设置主机名,并重新登录
[root@localhost ~]# hostname mail.bht.com
修改postfix的主配置文件main.cf
[root@mail ~]# cd /etc/postfix/
[root@mail postfix]# vim main.cf
myhostname = mail.bht.com 定义主机名
mydomain = bht.com 域名
myorigin = $myhostname 发信时,信件来源为$myhostname的值,可做地址伪装
inet_interfaces = all 监听所有的请求,默认为localhost表示只能在邮件主机上才能寄信
mydestination = $myhostnam e, localhost.$mydomain, localhost, $mydomain 定义哪些属于本地信件。当信件的目的地址为本地时,它才会接收邮件
mynetworks = 192.168.1.0/24, 192.168.10.0/24 表示只有192.168.1.0/24, 192.168.10.0/24 网段的主机邮件客户端发来的信件才会接收并转发,其他网段拒绝
修改完上述配置后,邮件服务器容易成为垃圾中转站。所以要设置基于身份验证的发送。只有验证通过的账户才能发送邮件
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
#smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination 验证接收者
重启postfix服务器,并启动验证服务
[root@mail ~]# service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
[root@mail ~]# service saslauthd start 启动验证服务
Starting saslauthd: [ OK ]
为了方便发送接收邮件,可以安装squirrelmail使用网页来发送,接收邮件
[root@mail ~]# yum install squirrelmail -y
依赖的软件包:httpd php php-cli php-common php-mbstring
切换到/usr/share/squirrelmail/config/ 下,执行conf.pl 脚本,配置squirrelmail
[root@mail ~]# cd /usr/share/squirrelmail/config/
[root@mail config]# ./conf.pl
修改语言,选择语言修改,如图4-51所示
图 4-51选择修改语言
修改默认语言,将语言修改为zh_CN。如图4-52 所示
图 4-52 修改默认语言
修改字符集为GB2312 。如图 所示
图4-53 修改字符集
保存修改的配置结果 。如图 4-53所示
图 4-53 保存配置
进入主菜单 如图 4-54所示。
图 4-54 进入主菜单
修改服务器配置,选择2 进入修改。如图4-55 所示
图4-55 修改服务器配置
修改域名为bht.com,如图 4-56所示。
图4-56 修改域名
选择使用squirrelmail 的发送协议,如图 4-57所示
图 4-57选择协议
修改以上选项后,保存退出。如图 4-58所示。
图 4-58 保存配置
切换至apache的文档根目录 /var/www/html/ ,并创建符号链接mail
[root@mail config]# cd /var/www/html/
[root@mail html]# ln -s /usr/share/squirrelmail/ mail
修改apache的配置文档/etc/httpd/conf/httpd.conf ,修改字符集,将UTF-8禁用
[root@mail ~]# vim /etc/httpd/conf/httpd.conf
#AddDefaultCharset UTF-8 禁用该行
DocumentRoot "/var/www/html/mail" 修改文档目录路径
启动httpd服务,并设置为开机自启动
[root@mail ~]# service httpd start
[root@mail ~]# chkconfig httpd on
安装并启动邮件接收软件dovecot
[root@mail ~]# yum install dovecot -y
[root@mail ~]# service dovecot start 启动dovecot 服务
Starting Dovecot Imap: [ OK ]
[root@mail ~]# chkconfig dovecot on 设置为开机自启动
新建系统账户user1 和user2,并为两个账户设置密码
[root@mail ~]# useradd user1
[root@mail ~]# useradd user2
[root@mail ~]# passwd user1
[root@mail ~]# passwd user2
user1通过squirrelmail 登录系统,并向user2 发送邮件,如图4-59 所示
图 4-59 user1登录邮件服务器
user1撰写邮件。如图4-60 所示
图 4-60 user1撰写邮件
user1发送后,user2登录邮件服务器接收文件。如图4-61 所示
图 4-61 user2 登录邮件服务器
user2 点击收件箱,接收邮件,收到user1发送的邮件。如图 4-62所示
图 4-62 user2收到邮件
SNMP代理配置:
安装net-snmp软件,使该主机成为agent。由于安装需要依赖lm_sensors软件,所以使用yum工具解决依赖关系
[root@localhost ~]# yum install net-snmp -y
编辑配置文件/etc/snmp/snmpd.conf 。将第62 行的read字段对应的值改为all,表示可以访问所有的mib库;第85行定义“all”对应的mib是哪些;并设置配置沟通密码(团体名);设置陷阱,将陷阱信息发送至NMS(网络管理工作站)
[root@localhost ~]# vim /etc/snmp/snmpd.conf
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1 80
50 rocommunity public
51 rwcommunity private
79 com2sec mynetwork 192.168.1.193/28 public
保存退出
启动snmp服务,并将snmp服务设置为开机自启动
[root@localhost ~]# service snmpd start 启动服务
Starting snmpd: [ OK ]
[root@localhost ~]# chkconfig snmpd on
查看snmp服务的端口号,有两个端口号:199和169
[root@localhost ~]# netstat -tupln |grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 12052/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 12052/snmpd
日志转发:
编辑系统日志配置文件/etc/syslog.conf,将需要转发的日志发送到指定的日志服务器上。咋日志类型后面加 @日志服务器的地址 即可将日志发送到指定的日志服务器上。
[root@mail ~]# vim /etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none @192.168.1.194
重启日志服务
[root@mail ~]# service syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
本文转自 gjp0731 51CTO博客,原文链接:http://blog.51cto.com/guojiping/1177439