|NO.Z.00071|——————————|^^ 部署 ^^|——|Linux&企业邮件.V02|——|Server配置|DNS部署|
一、企业级邮件服务:Server端&DNS搭建
### --- 企业级邮件服务
### --- 前提条件:要有一个DNS服务器,将准备的软件包导入虚拟机
[root@server21 ~]# yum install -y bind
[root@server21 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; // 监听地址所有
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; // 允许所有
recursion yes;
### --- 修改监听地址和访问控制为any
[root@server21 ~]# vim /etc/named.rfc1912.zones
zone "extmail.org" IN {
type master;
file "extmail.localhost";
allow-update { none; };
};
### --- 使用extmail.org作为解析域,只保留正向解析即可
[root@server21 ~]# cp -a /var/named/named.localhost /var/named/extmail.localhost
[root@server21 ~]# vim /var/named/extmail.localhost
#修改数据文件,如下
$TTL 1D
@ IN SOA extmail.org. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.extmail.org.
MX 3 mail.extmail.org.
dns A 20.20.20.21
mail A 20.20.20.21
### 重启DNS服务
[root@server21 ~]# chkconfig named on
[root@server21 ~]# service named start // 能启动起来说明没有问题
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]
### --- 安装nslookup
[root@server21 ~]# yum provides nslookup // 查询nslookup在哪个套件里面
[root@server21 ~]# yum install bind-utils // 安装成功
### --- 若是解析不了,先关闭本机配置的dns解析文件
[root@server21 ~]# vim /etc/resolv.conf
#nameserver 114.114.114.114
#nameserver 8.8.8.8
[root@server21 ~]# nslookup mail.extmail.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: mail.extmail.org
Address: 20.20.20.21
二、在另一台上使用nslookup测试dns是否能解析
### --- 安装gcc以及其他依赖软件
[root@server21 ~]# yum install -y gcc* mysql-server mysql httpd mailx
### --- 启动MySQL(apache)并设置开机自启
[root@server21 ~]# chkconfig mysqld on
[root@server21 ~]# chkconfig httpd on
[root@server21 ~]# service mysqld start
[root@server21 ~]# service httpd start
三、将web页面放在apache的网页目录下
### --- 将extmail.zip包上传到服务器中
[root@server21 ~]# mkdir -p /var/www/extsuite
### --- 创建一个单独的目录
[root@server21 ~]# unzip extmail.zip
[root@server21 ~]# cd extmail
[root@server21 extmail]# tar -xf extmail-1.2.tar.gz -C /var/www/extsuite/
[root@server21 extmail]# tar -xf extman-1.1.tar.gz -C /var/www/extsuite/
### --- 将extmail和extman解压到创建的目录中
### --- 将两个解压后的目录去掉版本号,并修改文件归属
[root@server21 extmail]# cd /var/www/extsuite
[root@server21 extsuite]# mv extmail-1.2 extmail
[root@server21 extsuite]# mv extman-1.1 extman
[root@server21 extsuite]# ll
drwxr-xr-x 9 500 500 4096 Feb 4 09:53 extmail
drwxr-xr-x 11 500 500 4096 Dec 24 2009 extman
[root@server21 extsuite]# chown -R root.root *
[root@server21 extsuite]# ll
drwxr-xr-x 9 root root 4096 Feb 4 09:53 extmail
drwxr-xr-x 11 root root 4096 Dec 24 2009 extman
四、将成品数据库文件导入到MySQL中*(没设置密码,空密码登录)
### --- 将成品数据库文件导入到MySQL中*(没设置密码,空密码登录)
[root@server21 extsuite]# cd /var/www/extsuite/
[root@server21 extsuite]# mysql < ./extman/docs/extmail.sql
[root@server21 extsuite]# vim ./extman/docs/init.sql
LOCK TABLES `manager` WRITE;
INSERT INTO `manager` VALUES ('root@extmail.org','123456','admin','root','Super User','my question','my answer','0','2007-02-14 15:10:04','2010-11-08',1); #将$1$BrT9qxfB$Ha81Mb5YVV6rNKNN5jmtj1修改为123456,其实是一个密码
UNLOCK TABLES;
### --- 将此文件中该位置的密码修改为123456,切记先修改,再导入
[root@server21 extsuite]# mysql < ./extman/docs/init.sql
五、将邮件模板拷贝到邮件服务器的主目录下
### --- 将邮件模板拷贝到邮件服务器的主目录下
[root@server21 extsuite]# cd /var/www/extsuite/extman/docs/
[root@server21 docs]# cp -a mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/
六、创建映射用户&修改配置文件
### --- 创建映射用户&修改配置文件
[root@server21~]# useradd -u 600 -s /sbin/nologin vmail
[root@server21 ~]# vim /etc/postfix/main.cf
inet_interfaces = all // 将此选项取消注释
#inet_interfaces = localhost // 将此选项注释掉
#在尾部添加下列内容 #大写G切换到最后
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:600
virtual_gid_maps = static:600
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
七、重启服务&发送邮件测试&查看结果

### --- 重启服务&发送邮件测试&查看结果
[root@server21 ~]# service postfix restart
[root@server21 ~]# chkconfig --list postfix // 默认是开机自启的
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@server21 ~]# echo "hello" | mail -s test support@extmail.org // 发送hello给support这个邮箱
[root@server21 ~]# cat /home/vmail/extmail.org/postmaster/Maildir/new/1612406352.V803I4412f5M82499.server21
Return-Path: <root@server21.localdomain>
X-Original-To: support@extmail.org
Delivered-To: postmaster@extmail.org
Received: by server21.localdomain (Postfix, from userid 0)
id 10930480A19; Thu, 4 Feb 2021 10:39:12 +0800 (CST)
Date: Thu, 04 Feb 2021 10:39:11 +0800
To: support@extmail.org
Subject: test // 主题是test
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20210204023912.10930480A19@server21.localdomain>
From: root@server21.localdomain (root) // 来自于哪个邮箱地址
hello // 内容
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通