Linux下Postfix邮件服务器搭建
本系列文章主要介绍Linux下主流的开源邮件系统Postfix的搭建过程,构建一个通过Postfix虚拟用户管理的完整的邮件系统,该系统包括以下组件:
邮件收发端postfix,dovecot,
邮件管理端:extmail,extman
安全认证:cyrus-sasl
防病毒,防垃圾
本文主要介绍postfix邮件系统搭建之前的准备工作,包括:
1.域名解析
2.linux系统优化配置
3.LAMP环境的搭建
4.sasl安全认证软件安装
废话不多,直接进入正题
1.域名解析
主要需要的配置是:A记录和MX记录。
以下是我的阿里云解析记录,提供参考:
红框内的是我需要使用的记录,其他的是一般可供配置的解析,在此只是演示一下,大家具体根据实际情况进行配置即可。
Tips:
MX(Mail Exchanger)记录
邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。这样的服务器可以有多个,通过MX优先级确定接受转发的顺序,数字越小优先级越高。
例如,当Internet上的某用户要发一封信给 [email protected] 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
2.Linux系统优化配置
2.1.检查系统版本
本次安装采用CentOS-6.8-x86_64系统,其他6.x版本的服务器相同,7.x的暂不适用
cat /etc/RedHat-release uname -r
2.2.创建并进入工作目录
mkdir -p /server/tools cd /server/tools
2.3.修改主机名,配置hosts解析,均配置为mail.zuiyoujie.com
hostname mail.zuiyoujie.com vim /etc/sysconfig/network-->HOSTNAME=mailsrv.zuiyoujie.comvim /etc/hosts-->127.0.0.1 mail.zuiyoujie.com
2.4.关闭防火墙,selinux
chkconfig iptables off chkconfig ip6tables off chkconfig --list ip6tables chkconfig --list iptables sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config cat /etc/selinux/config |grep SELINUX=disabled setenforce 0 getenforce
2.5.设置时间同步
/usr/sbin/ntpdate ntp1.aliyun.com echo "# made by tssc for sync time in $(date +%F)">> /var/spool/cron/root echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >>/var/spool/cron/root crontab -l
2.6.配置CentOS6.0下的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum install net-tools wget vim lrzsz tree dos2unix -y
2.7.安装开发库和开发工具(gcc-c++)
yum groupinstall 'Development Libraries' 'Development Tools' -y
3.LAMP环境的搭建
3.1. 由于后续会安装extmail和extman的图形日志,需要安装一些基本的图形工具
yum install -y \ httpd mysql mysql-server mysql-devel php php-mysql openssl-devel \ gd gd-devel perl-GD libmcrypt libmcrypt-devel \ freetype freetype-devel glib zlib zlib-devel \ libjpeg libjpeg-devel libpng libpng-devel \ libart_lgpl libart_lgpl-devel libxml2 libxml2-devel \ libtool-ltdl libtool-ltdl-devel db4 db4-devel \ perl-DBD-MySQL perl-Unix-Syslog perl-CGI perl-File-Tail \ cairo cairo-devel expect tcl tcl-devel \ fontconfig pixman pango pango-devel rrdtool*
# 注意:
上面的安装包中可能没有perl-Unix-Syslog和perl-GD包,可以使用以下链接下载安装:
rpm -ivh ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/perl-Unix-Syslog-1.1-1.el6.rf.x86_64.rpm rpm -ivh ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/extras/RPMS/perl-GD-2.45-1.el6.rfx.x86_64.rpm
3.2.配置启动数据库
service mysqld start chkconfig mysqld on chkconfig --list mysqld mysql --version netstat -anptl
安装启动完成数据库,可以登录一下进行测试
4.安装cyrus-sasl认证服务
4.1.cyrus-sasl(Simple Authentication Security Layer)简单认证安全层, SASL主要是用于SMTP认证。saslauthd是其守护进程。
yum -y install cyrus-sasl-*
# 安装完毕查看版本号
[root@mail ~]# /usr/sbin/saslauthd -v saslauthd 2.1.23 authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap
4.2.配置cyrus-sasl,确认以下配置项,使用系统用户验证
vim /etc/sysconfig/saslauthd
# 修改并确认以下配置:
SOCKETDIR=/var/run/saslauthd MECH=shadow
4.3.启动saslauthd服务,进行测试
chkconfig saslauthd on chkconfig --list saslauthd service saslauthd start
# 创建系统用户验证saslauthd服务的有效性
useradd zhaoshuai && echo 123456 | passwd --stdin zhaoshuai testsaslauthd -u zhaoshuai -p 123456
# 若出现以下内容表示成功
[root@mail ~]# testsaslauthd -u zhaoshuai -p 123456 0: OK "Success."
完成以上这些就可以进行postfix服务器的安装了,我将在下一篇进行详细叙述。
完毕。