烂泥:Postfix邮件服务器搭建之准备工作
说实话,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邮件服务器搭建之准备工作的更多相关文章
- 烂泥:Postfix邮件服务器搭建之虚拟用户配置
virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...
- 烂泥:Postfix邮件服务器搭建之软件安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postf ...
- postfix邮件服务器搭建01-准备篇
本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统, 该系统包括以下组件: 邮件收发端postfix,dovecot, 邮 ...
- Postfix 邮件服务器搭建
搭建服务环境: Centos 6 配置域名hosts: mail.demonC6.com 1.清理系统自带的邮件软件 # rpm -qa | grep sendmail* # rpm -e sendm ...
- Postfix邮件服务器搭建及配置
一.邮件服务器(Mail Server)的传输协议 1.简单邮件传输协议(SMTP):Simple Mail Transger Protocol 2.扩展的简单邮件传输协议(ESMTP):Extend ...
- postfix邮件服务器搭建03-webmail安装篇
本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...
- postfix邮件服务器搭建02-安装篇
本文接着上文的环境,进行postfix邮件发信端和dovecot邮件收信端的部署,之后部署基于浏览器的extmail图形管理端,使管理员可以通过网页对邮件虚拟用户进行管理,对邮件服务器进行管控 1.p ...
- postfix邮件服务器搭建04-终结篇
本来是计划对postfix做一个全系列的安装文档的,不过在查某个知识点的时候,偶然找到一个已经写好的postfix全系列文章,在全部看完之后惊为天人,我认为:总体上会比我要写的要好,所以我准备借用一下 ...
- CentOS6.4下邮件服务器搭建
CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...
随机推荐
- 在IHttpHandler中获取session
因为业务要异步通过IHttpHandler获得数据,但还要根据当前登录人员的session过滤,因此要在在IHttpHandler中获取session 方法是HttpHandler容器中如果需要访问S ...
- Mybatis-mapper-xml-基础
今天学习http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html.关于mapper.xml的sql语句的使用. 项目路径:https://github.c ...
- 不在 sudoers 文件中。此事将被报告。
使用Linux,初学使用root不要太方便,工作中却不会给你这样的,必须要用自己的账号.新账号需要添加sudo的权限. su 使用root登陆 visudo 在root下添加自己的用户名 root A ...
- Scala比较器:Ordered与Ordering
在项目中,我们常常会遇到排序(或比较)需求,比如:对一个Person类 case class Person(name: String, age: Int) { override def toStrin ...
- Effective java笔记(八),异常
57.只针对异常的情况才使用异常 try { int i = 0; while(true) range[i++].climb(); }catch(ArrayIndexOutOfBoundsExcept ...
- XML文档操作集锦(C#篇)
在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...
- MS SQLServer的关键词BETWEEN的一些注意事项
近段时间在程序中写到有关搜索的功能.其中有使用到MS SQLServer的关键词BETWEEN,它是搜索数值范围(包括本身)之间的数据. 在使用它时,一些情况还需要注意的.如果时间的数据. 搜索时间数 ...
- Data type confusion: what is an int(11)?
http://everythingmysql.ning.com/profiles/blogs/data-type-confusion-what-is-an Over and over I see cu ...
- [moka同学笔记]使用composer 安装yii2以及遇到的问题
[一.Yii2安装过程] 使用composer安装,composer安装请参考其他博客 1.下载 Yii2 高级模板 跟普通模板一样 , 可以通过 Composer 和 github 下载 ,不过官方 ...
- C#中JSON序列化和反序列化
有一段时间没有到博客园写技术博客了,不过每天逛逛博客园中大牛的博客还是有的,学无止境…… 最近在写些调用他人接口的程序,用到了大量的JSON.XML序列化和反序列化,今天就来总结下json的序列化和反 ...