本系列文章主要介绍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. openwrt下如何只编译linux内核

    答:make target/linux/install V=s (此操作也会将最终镜像打包好,V=s会输出日志) 拓展 清空内核: make target/linux/clean V=s 解压内核: ...

  2. maven打包pom.xml备忘

    打包生成可执行jar 包 POM.XML <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...

  3. IE8下打印内容缩小问题

    去掉启动缩小字体填充的设置项勾选 来自为知笔记(Wiz)

  4. 新一代调试王者Console

    随着JS在Web前端中能做的事情越来越多,责任越来越大,而地位也越来越重要.传统的alert调试方式已经渐渐不能满足前端开发的种种场景.而且alert调试方式弹出的调试信息,那个窗口着实不太美观,而且 ...

  5. linux一键安装mysql脚本

    #!/bin/sh if [ -s /etc/my.cnf ];then rm -rf /etc/my.cnf fi echo "------------------------------ ...

  6. Outlook.com 系列邮箱 POP3 及 IMAP 设置方法

    支持 Exchange ActiveSync 的应用 有了 EAS,你可以立即获取电子邮件,以及在一个位置查看所有文件夹.日历和联系人. 如果你的电子邮件应用支持Exchange ActiveSync ...

  7. Angular2 中的依赖包详解

    转自:http://blog.csdn.net/feiying008/article/details/53033704 目录 dependencies 和 devDependencies depend ...

  8. 用Qt写了一个qq客户端,采用webqq协议,发出来和大家分享一下---大神请无视

    首先做以下声明: 本程序基于腾讯公司的webqq协议开发,所有相关版权归腾讯公司所有.此程序只用于技术交流和学习,不得用于其他方面. ---开发者:雨后星辰,转载请注明出处:http://www.cn ...

  9. Ansible 小手册系列 十(包含和角色)

    一.包含 (include) 使用include模块来包含foo文件 tasks: - include: foo.yml --- foo.yml - name: test foo command: e ...

  10. scrapy 6023 telnet查看爬虫引擎相关状态

    Telnet终端(Telnet Console) Scrapy提供了内置的telnet终端,以供检查,控制Scrapy运行的进程. telnet仅仅是一个运行在Scrapy进程中的普通python终端 ...