本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统,

该系统包括以下组件:

邮件收发端postfix,dovecot,

邮件管理端:extmail,extman

安全认证:cyrus-sasl

防病毒,防垃圾

本文主要介绍postfix邮件系统搭建之前的准备工作,包括:

1.域名解析

2.linux系统优化配置

3.LAMP环境的搭建

4.sasl安全认证软件安装

废话不多,直接进入正题

1.域名解析

我的服务器和域名都是在http://www.aliyun.com上面进行购买的,当前环境下,阿里云对这两项服务的提供还是很不错的,值得推荐。

主要需要的配置是:A记录和MX记录。

以下是我的阿里云解析记录,提供参考:

红框内的是我需要使用的记录,其他的是一般可供配置的解析,在此只是演示一下,大家具体根据实际情况进行配置即可。

Tips:

MX(Mail Exchanger)记录
邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。这样的服务器可以有多个,通过MX优先级确定接受转发的顺序,数字越小优先级越高。
例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过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.com vim /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
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.
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  | passwd --stdin zhaoshuai
testsaslauthd -u zhaoshuai -p

# 若出现以下内容表示成功

[root@mail ~]# testsaslauthd -u zhaoshuai -p
: OK "Success."

完成以上这些就可以进行postfix服务器的安装了,我将在下一篇进行详细叙述。

完毕,呵呵呵

最新文章

  1. BlockingQueue深入分析(转)
  2. VS2013安装部署项目
  3. 报表开发工具中mysql数据库连接编码转化失效解决方案
  4. jquery导航栏
  5. Eclipse 一直提示 loading descriptor for 的解决方法(转)
  6. Android 中使用自定义字体的方法
  7. git add 之后因为没提交正确文件需要撤销
  8. ROR 环境的 搭建
  9. 还是畅通工程 --HDOJ 1233
  10. web安全培训笔记
  11. iOS---多线程实现方案一 (pthread、NSThread)
  12. jquery 选择器之children与find
  13. Android 开发笔记 “The constructor AlertDialog.Builder(new View.OnKeyListener(){}) is undefined”
  14. efwplus框架
  15. WPF(C#) 矩阵拖动、矩阵动画、边缘展开动画处理。
  16. Sqoop的安装部署
  17. Linux使用CFSSL自签TLS证书
  18. Java提高班(三)并发中的线程同步与锁
  19. [转]web串口调试助手,浏览器控制串口设备
  20. 普通Splay详解

热门文章

  1. 如何使用JMX监控Kafka
  2. 多线程资源隔离之ThreadLocal
  3. jvm垃圾回收策略
  4. Java 1.7 ThreadPoolExecutor源码解析
  5. Row_Number() over( PARTITION By cno ...)
  6. MySQL 乐观锁 悲观锁 共享锁 排他锁
  7. php温习-变量,常量
  8. 深入理解AUC
  9. svn 教程
  10. linux命令详解(一)