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

一、准备环境

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#53

Name:	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/html
	 scriptalias /extman/cgi /var/www/extsuite/extman/cgi
	 alias /extman /var/www/extsuite/extman/html
	 suexecusergroup 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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值