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

在正式安装postfix之前,我们先来介绍在搭建之前所需要做的准备工作。

一、域名解析

因为邮件服务器牵涉到域名的问题比较多,所以在此我们先来介绍有关域名解析的相关配置。

我们需要在域名解析控制台添加MX、TXT和相关的A记录,在平时的域名解析过程中,使用最多的是DNSPod以及万网,下面分别一一介绍下。

DNSPod配置,如下:

如果对于DNSPod的MX和TXT配置记录,不清楚的话,可以查看如下连接:

MX记录配置https://support.dnspod.cn/Kb/showarticle/tsid/33

TXT记录配置https://support.dnspod.cn/Kb/showarticle/tsid/34

万网配置,如下:

注意:我们现在是主域名ilanni.com解析到A服务器,mail解析到B服务器上,所以我们现在不能按照dnspod和万网的教程进行配置。

测试MX和TXT记录是否解析正确,如下:

二、lamp环境安装

为了更好的使用postfix,我们还需要安装php、mysql、apache等相关软件,我们现在进行安装。

在Centos6上执行以下命令:

rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

yum -y install mysql-server mysql mysql-devel php56w php56w-fpm php56w-mysql php56w-common php56w-gd php56w-mbstring php56w-mcrypt php56w-devel php56w-xml php56w-imap php56w-pear php56w-snmp

在Centos7上执行以下命令:

rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm && rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yum -y install --enablerepo=remi --enablerepo=remi-php56 mysql-server mysql mysql-devel php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common

以上安装完毕后,我们还要做其他的操作。

启动mysql数据库,修改mysql的root用户密码。如下:

/etc/init.d/mysqld start

/usr/bin/mysqladmin -u root password '123456'

创建postfix数据库和postfix用户,如下:

mysql -uroot -p'123456' -e "create database postfix default character set utf8 collate utf8_bin;" && mysql -uroot -p'123456' -e "grant all on postfix.* to 'postfix'@'%' identified by 'postfix';"

删除用户名为空的主机,如下:

mysql -uroot -p'123456' mysql -e "delete from user where user='';"

刷新mysql权限,如下:

mysql -uroot -p'123456' -e "flush privileges;"

测试postfix用户是否可以链接mysql,如下:

mysql -upostfix -ppostfix

设置mysql、apache开机启动,如下:

chkconfig mysqld on

chkconfig httpd on

三、主机名修改

lamp配置完毕后,我们现在开始修改主机名如下:

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mai.ilanni.com

NETWORKING_IPV6=no

PEERNTP=no

GATEWAY=121.196.247.247

以上修改需要我们重启服务器才能生效,为了更快的显示最新的主机名。我们可以通过如下命令进行修改,如下:

hostname mai.ilanni.com

查看修改后的主机名,如下:

hostname

四、创建邮件专用用户

为了后续的管理方便,我们使用系统的一个用户映射为对邮件服务器的用户,该用户对于postfix来说是一个虚拟用户。

所在在此之前,我们需要添加一个不能登录到系统的,并且指定用户组和用户ID的特殊用户vmail,该用户也可以自行定义。

使用如下命令进行创建,如下:

groupadd -g 5000 vmail

useradd -g vmail -u 5000 -s /sbin/nologin vmail

到此为止postfix的准备工作已经做完毕了。

烂泥:Postfix邮件服务器搭建之准备工作的更多相关文章

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

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

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

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

  3. postfix邮件服务器搭建01-准备篇

    本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统, 该系统包括以下组件: 邮件收发端postfix,dovecot, 邮 ...

  4. Postfix 邮件服务器搭建

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Ubuntu下搭建ryu环境

    RYU环境搭建总共四步: step1:首先下载相应的python套件,并且更新pip $ sudo apt-get install python-pip python-dev build-essent ...

  2. PHP CURL CURLOPT参数说明(curl_setopt)

    CURLOPT_RETURNTRANSFER 选项: curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 如果成功只将结果返回,不自动输出任何内容. 如果失败返回F ...

  3. 机器学习 1 linear regression 作业

    话说学机器学习,不写代码就太扯淡了.好了,接着上一次的线性回归作业. hw1作业的链接在这: http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/L ...

  4. CSS基础知识汇总

    前言 原文连接:http://www.cnblogs.com/wanghzh/p/5805678.html 在此基础上又做了大量的扩充 CSS简介 CSS是Cascading Style Sheets ...

  5. HTML元素坐标定位,这些知识点得掌握

    文档坐标和视口坐标 视口坐标是相对于窗口的坐标,而文档坐标是相对于整个文档而言.例如,在文档坐标中如果一个元素的相对于文档的Y坐标是200px,并且用户已经把浏览器向下滚动了75px,那么视口坐标中元 ...

  6. Mac OS平台下应用程序安装包制作工具Packages的使用介绍

    一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...

  7. Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)

    为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...

  8. [Tool] csdn客户端开发(非官方版)

    偶尔间看到一篇博客[清山博客]里讲述了他自己开发的一个CSDN博客客户端,并去下载体验了一下,然后就自己手痒也要开发一下 先看看结果图: 在文章列表里,鼠标右键可以操作[置顶.删除.评论权限]: 下面 ...

  9. combox

    通过combox控件本身的item添加了选项后,该控件在启动后SelectedIndex默认值是-1,所以最好是在窗体加载的时候初始化城SelectedIndex=0 另外如果是窗体加载时item从数 ...

  10. Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19

    ASP.NET Core已经从IIS中解耦,可以作为自宿主程序运行,不再依赖IIS. 但我们还是需要强大的IIS作为前置服务器,IIS利用httpPlatformHandler模块来对后台的一些web ...