【企业邮件服务器搭建过程】

news/2024/11/17 4:27:44/

企业邮件服务器搭建

  • 一、准备环境
  • 二、DNS服务搭建
  • 三、发送端配置
  • 四、接收端配置
  • 五、mail+web界面

一、准备环境

Centos7以上

yum -y install bind
yum -y install postfix
yum -y install gcc* mysql mysql-server httpd mailx
systemctl stop firewalld.server  #临时关闭防火墙
systemctl  disable firewalld #防火墙开机不自启
setenforce 1 #临时关闭selinux
vim /etc/selinux/config #永久关闭selinux

在这里插入图片描述
在这里插入图片描述
配置网络yum源
①备份

cd /etc/yum.repos.d/
mkdir bak
mv CentOS7-* bak

②下载阿里云到本地yum.repo目录下

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

运行yum clean all 清除缓存,运行 yum makecache 生成新的缓存

③下载EPEL源

yum list | grep epel-release #首先查看本地是否存在
yum install -y epel-release #下载epel源
再次运行yum clean all 清除缓存,运行 yum makecache 生成新的缓存

————————————————————————————————————————————
企业邮件服务器的搭建前提是需要有一个本地DNS服务器,因此接下来我们开始搭建DNS服务器

二、DNS服务搭建

①首先netstat -antp #查看对应DNS服务是否开启

[root@localhost yum.repos.d]# netstat -antp

在这里插入图片描述
1)发现DNS服务已经开启,则开启配置DNS主配置文件
vim /etc/named.conf
设置服务器监听任何IP
设置任何IP均可访问服务器
在这里插入图片描述
2)接着配置区域配置文件

vim /etc/named.rfc1912.zones

#其余模板删掉,仅留此模板。仅设置正向解析的域名,正向解析文件的文件名
在这里插入图片描述
3)接着开始进入数据配置文件所在目录

[root@localhost yum.repos.d]# cd /var/named/
[root@localhost yum.repos.d]# cp -a named.localhost extmail.localhost #将正向解析文件拷贝一份,并修改为extmail.localhost
[root@localhost named]# ls
data  dynamic  extmail.localhost  named.ca  named.empty  named.localhost  named.loopback  slaves

接着进入数据配置文件

[root@localhost named]# vim extmail.localhost

修改域名,NS增加DNS服务器域名,MX3增加邮件服务器域名,A增加域名与IP的映射
在这里插入图片描述
4)保存退出后,重启DNS服务,开始使用nslookup 域名 进行测试

[root@localhost named]# vim extmail.localhost 
[root@localhost named]# systemctl restart named
[root@localhost named]# nslookup mail.extmail.org
Server:		127.0.0.1
Address:	127.0.0.1#53Name:	mail.extmail.org
Address: 192.168.28.148

如果显示这样,就代表成功!!

三、发送端配置

①将web的软件包放在 Apache 的网页下
链接:https://pan.baidu.com/s/1lXfWgZMNMdJ-OpdniAuwuA 提取码:9a5t

[root@localhost ~]# mkdir -p /var/www/extsuite
[root@localhost ~]# cd /var/www/extsutie
[root@localhost extsuite]# tar -xf extmail-1.2.tar.gz  -C /var/www/extsuite  #解压软件包,并放置extsuite目录下
[root@localhost extsuite]# tar -xf extman-1.1.tar.gz  -C /var/www/extsuite #解压软件包,并放置extsuite目录下
[root@localhost extsuite]# mv extman-1.1 extman  #将 extman-1.1改名为extman
[root@localhost extsuite]# mv extmail-1.2 extmail	 #将 extmail-1.2改名为extmail
[root@localhost extsuite]# chown -R root.root * #将其目录所属者,所属组修改为root

②将成品数据库文件导入到mysql中(mysql没设置密码,空密码登录)

[root@localhost extsuite]# mysql < ./extman/docs/extmail.sql
#把模板数据导入到mysql中
#ERROR 1064 (42000) at line 50: You have an error in your SQL 
#syntax; check the manual that corresponds to your MariaDB 
#server version for the right syntax to use near 'TYPE=MyISAM 
#COMMENT='Ext/Webman - Admin Accounts'' at line 15
#如有此报错,进入extmail.sql文件,在编辑模式下输入
#:%s /TYPE=MyISAM/ENGINE=MyISAM/g  #全文替换此参数并保存退出

在这里插入图片描述

[root@localhost extsuite]# vim ./extman/docs/init.sql

将对应密码改为123456,切记先修改再导入
在这里插入图片描述

[root@localhost extsuite]# mysql < ./extman/docs/init.sql

③将邮件模板拷贝到邮件服务器的主目录下

[root@localhost  extsuite]# cd extman/docs/
[root@localhost  docs]# cp -a mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

④创建映射用户&修改配置文件

[root@localhost docs]# useradd -u 600 -s /sbin/nologin vmail
[root@localhostdocs]# vim /etc/postfix/main.cf
inet_interfaces = all #将此行取消注释
#inet_interfaces = localhost #将此行注释掉
#在文件末尾添加
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

④重启服务&发送邮件测试&查看结果

systemctrl restart postfix
echo "hello" | mail -s test support@extmail.org
ll /home/vmail/extmail.org/postmaster/Maildir/new/

四、接收端配置

①安装dovecot相关软件

[root@localhost extsuite]# yum -y install dovecot dovecot-devel dovecot-mysql
[root@localhost extsuite]# systemctl enable dovecot & systemctl restart dovecot设置开机自启&服务重启

②配置dovecot能够去数据库里读数据

[root@localhost extsuite]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/Maildir
#定义 dovecot 查询邮件的位
first_valid_uid = 600
#用户的uid
[root@localhost extsuite]# vim /etc/dovecot/conf.d/10-auth.conf 
!include auth-sql.conf.ext #取消调用数据库记录的注释

③调用数据库的连接方式,修改数据库连接配置文件

[root@localhost extsuite]# cp -a /usr/share/doc/dovecot-2.2.36/example-config/dovecot-sql.conf.ext /etc/dovecot/
#复制模板文件
[root@localhost dovecot]#cd /etc/dovecot/
[root@localhost dovecot]# vim dovecot-sql.conf.ext 
#修改文件内容并取消注释,也可以直接在文件末尾添加
driver = mysql
#驱动类型
connect = host=localhost dbname=extmail user=extmail password=extmail
#连接数据库信息
default_pass_scheme = MD5
password_query = \
SELECT username, domain, password \
FROM mailbox WHERE username = '%u' AND domain = '%d'
#登陆验证密码的查询
user_query = SELECT maildir, 600 AS uid, 600 AS gid FROM mailbox WHERE username = '%u'
#查询虚拟对应的虚拟目录

④重启dovecot并安装telnet连接测试

[root@localhost extsuite]# systemctl restart dovecot
[root@localhost extsuite]# yum -y install telnet
[root@localhost extsuite]# nslookup mail.extmail.org
#将DNS向自己,解析mai.extmail.org是否能解析到自己的IP[root@localhost extsuite]# telnet mail.extmail.org 110
Trying 192.168.154.187...
Connected to mail.extmail.org.
Escape character is '^]'. #连接信息
+OK Dovecot ready. 
user postmaster@extmail.org	#登陆postmaster用户
+OK
pass extmail	#用户的密码
+OK Logged in
list	#查看邮件列表
+OK 3 messages:
.
retr 1	#查看编号为1的邮件
+OK 551 octets
……&

五、mail+web界面

①修改http的配置文件

[root@server ~]$ vim /etc/httpd/conf/httpd.conf 
ServerName www.example.com:80 #取消此行注释
#然后在文件末尾添加
<VirtualHost *:80>DocumentRoot /var/www/extsuite/extmail/html #默认访问路径位置ServerName mail.extmail.org #域名scriptalias /extmail/cgi /var/www/extsuite/extmail/cgi #目录别名alias /extmail /var/www/extsuite/extmail/htmlscriptalias /extman/cgi /var/www/extsuite/extman/cgialias /extman /var/www/extsuite/extman/htmlsuexecusergroup vmail vmail #映射用户
</VirtualHost>
[root@server ~]$ httpd -t	#检查文件是否有错误
[root@server ~]$ systemcl restart httpd #重启httpd服务

②extmail 目录中更改 cgi 的属组属主,让 vmail 有权限执行

[root@server ~]$ cd /var/www/extsuite/extmail/
[root@server extmail]$ chown -R vmail.vmail cgi/
[root@server extmail]$ cp -a webmail.cf.default webmail.cf
[root@server extmail]$ vim webmail.cf
#修改如下内容
SYS_MAILDIR_BASE = /home/vmail #邮件存放目录
SYS_CRYPT_TYPE = plain #加密类型
SYS_MYSQL_USER = extmail #MySQL 用户名
SYS_MYSQL_PASS = extmail #MySQL 密码

③extman 目录中更改 cgi 的属组属主,让 vmail 有权限执行

[root@server extmail]$ cd ../extman/
[root@server extman]$ chown -R vmail.vmail cgi/
[root@server extman]$ cp -a webman.cf.default webman.cf
[root@server extman]$ vim webman.cf
SYS_MAILDIR_BASE = /home/vmail
SYS_SESS_DIR = /tmp
SYS_CAPTCHA_ON = 0 #1生产环境中开启,实验环境无法显示校验码
SYS_CRYPT_TYPE = plain

④安装 Unix-Syslog 软件

[root@server extman]$ cd /var/www/extsuite/ #进入目录并上传文件
[root@server extsuite]$ tar -zxvf Unix-Syslog-1.1.tar.gz #解压
[root@server extsuite]$ cd Unix-Syslog-1.1/
[root@server Unix-Syslog-1.1]$ perl Makefile.PL 
#Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: 
#/usr/local/lib64/perl5 /usr/local/share/perl5 #/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl #/usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
#BEGIN failed--compilation aborted at Makefile.PL line 1.
#这里报错是缺少依赖包,安装就可以了
[root@server Unix-Syslog-1.1]$ yum -y install perl-ExtUtils-MakeMaker
#将Unix—Syslog包删除重新解压
[root@server Unix-Syslog-1.1]$ perl Makefile.PL 
Checking if your kit is complete...
Looks good
Writing Makefile for Unix::Syslog
[root@server Unix-Syslog-1.1]$ make && make install

⑤windows访问测试
普通用户是 postmaster@extmail.org 密码是extmail
后台管理账户是root@extmail.org 密码是 123

⑥经典错误
在这里插入图片描述
[root@server ~]$ yum -y install perl-CGI #安装缺少包

在这里插入图片描述
[root@server ~]$ yum -y install perl-DB_File #安装缺少包

在这里插入图片描述
[root@server ~]$ vim var/www/extsuite/extmail/ cgi/index.cgi
#!/usr/bin/perl -wT 修改为 #!/usr/bin/perl -w
#重新登陆即可

在这里插入图片描述
[root@server ~]$ yum -y install perl-test

在这里插入图片描述
yum -y install perl-DBD-mysql


http://www.ppmy.cn/news/704132.html

相关文章

邮箱服务器搭建

电子邮件系统的组成&#xff1a;1&#xff09;邮件用户代理&#xff08;Mail User Agent &#xff0c; MUA&#xff09;&#xff0c;MUA是一个邮件系统的客户端程序,它提供了阅读&#xff0c;发送和接受电子邮件的用户接口。 最常用的 MUA 有&#xff1a; linux 中的 mail &…

搭建私人邮件服务器

怎样使用本地服务器搭建一个邮箱&#xff0c;这样就可以脱离qq或者其他企业邮箱的限制&#xff0c;即可以做到节省成本&#xff0c;又可以得到收发邮件的一个保密性。 这里我们先展示一下本地搭建邮箱服务器后的成功例子&#xff1a; 可以看到&#xff0c;这里qq邮箱收到我这边…

搭建邮件服务器,过程非常简单

搭建邮件服务器&#xff0c;过程非常简单&#xff0c;只需几个步骤即可。 通常在Linux搭建邮件服务器是需要安装很多软件和配置文件的&#xff0c;所以我们可以使用一个开源邮件服务器软件来搭建的。 准备一台服务器与系统 云服务器或本地虚拟的服务器都可以。服务器需要能链…

如何搭建属于自己的邮件服务器

申请了属于自己的域名&#xff0c;并且建立了网站&#xff0c;如果您还在您的网站上留下的联系email地址是QQ邮箱或者163以及其它的邮箱地址&#xff0c;这对你网站品牌是多么不好的影响啊&#xff0c;因此您需要搭建一个属于自己的邮件服务器&#xff0c;有了属于自己的邮件服…

邮件服务器如何搭建?企业自己搭建邮件服务器的方法

随着企业信息化进程的加快&#xff0c;企业邮件的使用也越来越多&#xff0c;不管是外网还是在企业内部网络&#xff0c;员工都经常使用企业邮件来处理日常的工作。而越来越多的企业和单位&#xff0c;也开始考虑自己搭建邮件服务器&#xff0c;以加强员工间的信息交流&#xf…

hMailServer 使用教程 —— 手把手教你搭建自己的邮箱服务器

前言 假设你已经拥有了一台具有公网ip的服务器&#xff0c;以及域名 hMailServer 介绍 hMailServer 适用于 Windows 操作系统&#xff0c;它除了提供邮箱系统需要的所有基础功能之外&#xff0c;还内置了一些常用功能&#xff0c;比如&#xff1a;反垃圾邮件、反病毒邮件&am…

从0搭建一个邮件服务器(用于邮件推送以及邮件群发业务)

从0搭建一个邮件服务器&#xff08;用于邮件推送以及邮件群发业务&#xff09; 本文讲述如何方便快捷搭建一个邮件服务器&#xff0c;由于本人论文以及实习公司需要&#xff0c;将会言简意赅的搭建一个邮件服务器来实现所需功能&#xff0c;以下是实现效果图&#xff0c;本文略…

怎么搭建自己邮箱服务器,详细教程

1.准备一台Windows服务器 此文用的腾讯云的&#xff0c;北京地区 2.准备一个域名 &#xff08;使用国内服务器需要备案&#xff09;此文举例用的&#xff1a;daeny.cn 3.准备好邮局软件 下载地址&#xff1a;Download - hMailServer - Free open source email server for …