本系列文章主要介绍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服务器的安装了,我将在下一篇进行详细叙述。

完毕,呵呵呵

postfix邮件服务器搭建01-准备篇的更多相关文章

  1. postfix邮件服务器搭建03-webmail安装篇

    本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...

  2. postfix邮件服务器搭建02-安装篇

    本文接着上文的环境,进行postfix邮件发信端和dovecot邮件收信端的部署,之后部署基于浏览器的extmail图形管理端,使管理员可以通过网页对邮件虚拟用户进行管理,对邮件服务器进行管控 1.p ...

  3. postfix邮件服务器搭建04-终结篇

    本来是计划对postfix做一个全系列的安装文档的,不过在查某个知识点的时候,偶然找到一个已经写好的postfix全系列文章,在全部看完之后惊为天人,我认为:总体上会比我要写的要好,所以我准备借用一下 ...

  4. 烂泥:Postfix邮件服务器搭建之虚拟用户配置

    virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...

  5. 烂泥:Postfix邮件服务器搭建之准备工作

    说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正 ...

  6. 烂泥:Postfix邮件服务器搭建之软件安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postf ...

  7. Postfix 邮件服务器搭建

    搭建服务环境: Centos 6 配置域名hosts: mail.demonC6.com 1.清理系统自带的邮件软件 # rpm -qa | grep sendmail* # rpm -e sendm ...

  8. Postfix邮件服务器搭建及配置

    一.邮件服务器(Mail Server)的传输协议 1.简单邮件传输协议(SMTP):Simple Mail Transger Protocol 2.扩展的简单邮件传输协议(ESMTP):Extend ...

  9. CentOS6.4下邮件服务器搭建

    CentOS6.4下邮件服务器搭建   linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...

随机推荐

  1. PHP的memory_limit引起的问题

    在运行PHP程序,通常会遇到下面的错误, 这个意味着PHP脚本使用了过多的内存,并超出了系统对其设置的允许最大内存.解决这个问题,首先需要查看你的程序是否分配了过多的内存,在程序没有问题的情况下,你可 ...

  2. java中枚举类的实际应用

    知识点:在Java中,使用枚举类,当遇到实例类型有限的类时,并且数据库中用状态码代表一种含义时,如星期,性别,员工登陆某系统的状态等等, 可以考虑使用枚举类 本例子可以仿照,也可以使用自定义的类型处理 ...

  3. hadoop 编译任意版本的eclipse 插件

    github地址 下载ant并进行配置 http://ant.apache.org/bindownload.cgi 解压后, sudo gedit /etc/profile 进行设置: 添加expor ...

  4. base64 原理

    Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有Base32.Base16编码.标准Base64编码使用的64个字符为: 这64个字符是各种字符编码(比如AS ...

  5. linux:将job放在后台执行的方法

    本文转自http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/ 我自己在工作需要远程连到公司的开发机,在开发机上运行程序时,一旦退出终端就会导致运 ...

  6. php+mysql中文无法检索出数据

    将数据库字符集设置为latin,并将字符转码成gb2312 将字符长度打印出来发现:因为latin中一个字符占用2个字节,utf-8中一个字符占用3个字节,这样一来检索的时候就会出现错误 实验过程: ...

  7. tcpdump抓包笔记

    抓取指定端口的数据包 并保存文件,用wireshark分析 tcpdump -Ans 4096 -i any port 8080 -w ../mpass.cap 抓取指定端口和指定ip的数据包 并保存 ...

  8. 互联网公司面试必问的Redis题目

    Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...

  9. $.ajax 的用法以及参数设置

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  10. 15 个有趣的 JS 和 CSS 库

    开发者们,一起来看看有木有你需要的前端库. 1. DisplayJS DisplayJS 是一个帮助你渲染 DOM 的简易框架.使用它,你可以更容易地将 JS 变量遍历到特定的 HTML 元素中,类似 ...