postfix+dovecot+MailScanner+spamassassin+F-Prot+extmail+extman构建企业级的虚拟用户邮件服务器(1)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

注意:先要构建一个LAMP环境,然后再按照下面的配置来做

一.      配置虚拟用户支持  —— MySQL
1.      新建虚拟用户数据库
 tar zxvf extman-0.2.5.tar.gz
 cd extman-0.2.5/docs
 /usr/local/mysql/bin/mysql -u root -p < extmail.sql
/usr/local/mysql/bin/mysql -u root -p < init.sql
2.      编辑 vi /etc/postfix/main.cf
……
#mydestination = $mydomain, $myhostname  注释掉该行
然后添加如下内容
virtual_mailbox_base = /mailbox
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
3.      建立虚拟用户映射表文件
复制  extman  软件包中 docs 子目录下的样例文件
进入  /usr/src/extman-0.2.5/docs
cp mysql_virtual_* /etc/postfix
二.      配置虚拟用户支持  —— SMTP 认证
1.  编译安装  courier-authlib  软件
解压软件包,进入相应目录,然后开始安装
./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authmysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql&&make&&make install (安装大约需要6分钟)
然后执行“make install-configure”命令后将生成默认配置文件“ authmysqlrc”和“ authdaemonrc”,作用分别为
p authdaemonrc :主配置,设置使用的认证方式
p  authmysqlrc :数据库配置,设置连接地址、查询方式等
2.  修改主配置, authdaemonrc 文件
cd    /usr/local/courier-authlib/etc/authlib/
编辑authdaemonrc文件, 建议只保留  authmysql  认证方式—认证速度快, 修改下面两行
……
authmodulelist="authmysql"      27
authmodulelistorig="authmysql"   34
3.  修改数据库配置, authmysqlrc 文件
       编辑  authmysqlrc
MYSQL_SERVER localhost   mysql 服务器位置     26
MYSQL_USERNAME   extmail  mysql 登陆用户名  27
MYSQL_PASSWORD   extmail  mysql 登陆密码     28
MYSQL_SOCKET   /tmp/mysql.sock   sock 文件位置  49( 去掉 # )
MYSQL_DATABASE   extmail        mysql 数据库名字  68
MYSQL_USER_TABLE   mailbox   mysql 用户邮箱存储的表的名字 83
……
MYSQL_HOME_FIELD concat('/mailbox/',homedir)  用户的宿主目录完整路径  133
……
MYSQL_MAILDIR_FIELD concat('/mailbox/',maildir) 用户的完整邮件存储路径  150  同时去掉前面 #
4.  其他调整
1 )修改 smtpd.conf  配置文件 改为通过 authdaemond 进行认证
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket
2) 调整 socket 目录权限
chmod  -R 755 /usr/local/courier-authlib/var/spool/authdaemon
3) 添加库文件搜索路径
    vi /etc/ld.so.conf
……
/usr/local/courier-authlib/lib/courier-authlib
ldconfig
5.  启动  counrier-authlib  服务程序
cp /usr/src/courier-authlib-0.62.2/courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
service courier-authlib start
三.      配置虚拟用户支持  —— dovecot
1.  调整  dovecot.conf  配置文件
   vi /etc/dovecot.conf
mail_location = maildir:/mailbox/%d/%n/Maildir  修改邮箱存储 位置 212
……
auth default {          796  不动
    mechanisms = plain 801  不动
    passdb sql {        905  去掉 #
        args = /etc/dovecot-mysql.conf  用户名及密码查询在独立的配置文件中指定             907
    }                 908 # 去掉
    userdb sql {         976 # 去掉
        args = /etc/dovecot-mysql.conf 978
}                  979 # 去掉
2.  创建数据查询配置文件
vi /etc/dovecot-mysql.conf                
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u' 
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
3.  建立邮箱目录,并调整权限
mkdir -p /mailbox/extmail.org/postmaster/Maildir
chown -R postfix:postfix /mailbox
4.  重新启动 dovecot 服务
kill `pgrep  dovecot` ; dovecot (killall dovecot)
四.      部署 Extmail 邮件使用界面
1.  编译安装相关的 perl 依赖包,三个包的安装几乎一样
Unix-Syslog-1.1.tar.gz
DBI-1.609.tar.gz
DBD-mysql-4.013.tar.gz
比如第一个 先解压; perl Makefile.PL make make install
但第三个包注意: perl Makefile.PL --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz" --cflags=-I/usr/local/mysql/include/mysql ;make;make install
2.  安装  extmail  程序套件
tar xzvf extmail-1\[1\]\[1\].0.9.tar.gz -C /usr/local/apache2/htdocs/
cd    /usr/local/apache2/htdocs
mv extmail-1.0.9 extmail
cd extmail
cp webmail.cf.default  webmail.cf
编辑webmail.cf
SYS_CONFIG = /usr/local/apache2/htdocs/extmail/
SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang
SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html
SYS_MAILDIR_BASE = /mailbox            124
SYS_MYSQL_USER = extmail               136
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail                     
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock    140
4.      调整 httpd.conf 配置,
1)          更改允许 apache 的用户和组
User postfix     66
Group postfix   67
2)          添加如下内容
   <VirtualHost 192.168.1.1>
    ServerName 192.168.1.1
    DocumentRoot /usr/local/apache2/htdocs/extmail/html/
    ScriptAlias /extmail/cgi/ /usr/local/apache2/htdocs/extmail/cgi/
    Alias /extmail /usr/local/apache2/htdocs/extmail/html/
</VirtualHost>
重启 apache ,然后用浏览器访问 http://192.168.1.1/extmail
 

邮箱账号: postmaster  密码: extmail  域名 :extmail.org
五.      部署 Extman Web 管理界面
1.  编译安装相关的依赖包
GD-2.41.tar.gz
File-Tail-0.99.3.tar.gz
rrdtool-1.2.23-3.el5.i386.rpm
rrdtool-perl-1.2.23-3.el5.i386.rpm
解压GD; perl  Makefile.PL;make;make install
解压File-Tail; perl  Makefile.PL;make;make install
rpm -vih /usr/src/rrdtool-perl-1.4.1-1.el5.wrl.i386.rpm /usr/src/rrdtool-1.4.1-1.el5.wrl.i386.rpm


本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/496255,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
存储 弹性计算 人工智能
阿里云服务器第九代企业级g9i实例技术特点、性能优势、适用场景简介
阿里云不断推出创新产品和技术,以满足市场对高性能、高可靠、高性价比云计算资源的需求。近日,阿里云正式面向全球发布了第九代企业级实例ECS g9i,并开启了邀测活动。本文将深入解析阿里云ECS g9i实例的技术特点、性能优势、适用场景以及购买建议,帮助用户更好地了解并选择合适的云服务器实例。
|
13天前
|
存储 弹性计算 人工智能
算力性能提升20%!阿里云第九代ECS g9i企业级实例全球邀测
算力性能提升20%!阿里云第九代ECS g9i企业级实例全球邀测
48 0
|
24天前
|
云安全 边缘计算 监控
R9-9950X服务器 超越频率桎梏,企业级稳定性的新标杆!
德迅云安全推出的R9 9950X服务器专为多线程、高负载场景优化,基于AMD Ryzen 9系列的Zen 4架构,采用5nm工艺和CCD/CIOD分离设计,具备16核32线程全大核策略,确保高效能与低功耗。其自适应功耗管理和强化供电设计,保障了在企业级应用中的卓越稳定性和持续性能。搭配德迅卫士主机安全软件,提供实时监控、远程防护及资产清点等全面安全措施,适用于云计算、虚拟化和边缘计算等场景,为企业带来可靠的高性能解决方案。
|
27天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云服务器入门级、企业级、异构云服务器、弹性裸金属服务器区别参考
在我们选购阿里云服务器时,面对多样化的云服务器架构,如X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及超级计算集群等,我们需要根据实际需求选择合适的服务器类型。阿里云提供了入门级企业级云服务器、异构云服务器和弹性裸金属服务器等多种产品类型,以满足不同场景下的业务需求。本文将简要介绍这些不同类型的云服务器及其主要适用场景。
|
3月前
|
存储 弹性计算 人工智能
弹性计算第九代企业级ECS实例新品发布
阿里云第九代企业级实例基于全新CIPU 2.0架构,搭载最新英特尔和AMD处理器,大幅提升性能、安全性和稳定性。G9i实例采用英特尔新一代处理器,内存带宽和L3缓存显著提升,标配AMX加速器;G9A实例则搭载AMD先进处理器,提供更高的性价比和端到端加密能力。九代产品在算力、IO能力和安全性上全面升级,尤其适用于搜推、大数据处理等场景,助力客户实现更高业务价值。
|
5月前
|
存储 数据库 虚拟化
无缝过渡:企业级服务器迁移的策略与最佳实践
【10月更文挑战第4天】随着企业数字化转型的加速,服务器迁移成为企业IT基础设施升级的重要环节。本文从架构与规划的视角,探讨了企业级服务器迁移的策略与最佳实践,旨在帮助企业实现无缝过渡,降低迁移风险,提高迁移效率。
560 4
|
6月前
|
存储 弹性计算 SDN
企业级 ECS 集群的构建需要综合考虑多个因素,通过不断的比较和对比不同的方案,选择最适合企业自身需求和发展的架构。
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS(弹性计算服务)集群对提升业务稳定性、扩展性和性能至关重要。本文将比较传统物理服务器与ECS架构,分析云服务商选择(如AWS和阿里云)、实例配置(CPU/内存)、网络架构(SDN vs 传统)及存储方案(本地存储 vs 云存储),帮助企业根据自身需求选出最优方案,实现高效稳定的ECS集群部署。
121 18
|
6月前
|
存储 弹性计算 缓存
企业级 ECS 集群构建的巅峰对决:谁能主宰未来的命运?
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS集群对提高业务稳定性、扩展性和性能至关重要。与传统物理服务器相比,ECS可根据需求快速伸缩资源,提升效率和响应速度。选择云服务商时需考量服务广度、成本及网络覆盖。配置ECS实例要考虑业务特性,如计算或内存需求。网络架构方面,软件定义网络(SDN)比传统三层架构更灵活高效。存储方案的选择也影响性能和扩展性。综上所述,构建高效稳定的ECS集群需综合考量多种因素,以支持业务发展。
76 8
|
7月前
|
存储 弹性计算 缓存
惊爆!企业级 ECS 集群构建的巅峰对决:谁能主宰未来的命运?
【8月更文挑战第13天】在数字化商业环境中,构建企业级ECS集群对提高业务稳定性、扩展性和性能至关重要。与传统物理服务器相比,ECS可根据需求快速伸缩资源,提升效率和响应速度。选择云服务商时需考量服务广度、成本及网络覆盖。配置ECS实例要考虑业务特性,如计算或内存需求。网络架构方面,软件定义网络(SDN)比传统三层架构更灵活高效。存储方案的选择也影响性能和扩展性。综上所述,构建高效稳定的ECS集群需综合考量多种因素,以支持业务发展。
61 3
|
9月前
|
存储 弹性计算 NoSQL
阿里云服务器企业级实例购买及变配常见问题及解答
阿里云服务器企业级实例具有高性能、稳定计算能力和平衡网络性能的特点,因为具有独享且稳定的计算、存储、网络资源,这些实例规格族非常适合对业务稳定性具有高要求的企业场景。企业级云服务器拥有完全的云服务器cpu、内存使用资源,不与他人共享云服务器资源。有些新手用户不知道什么是企业级实例与共享型实例有何区别,在使用过程中需要注意些什么,下面是小编整理的几个阿里云企业级云服务器实例常见问题及解答,以供大家了解。
阿里云服务器企业级实例购买及变配常见问题及解答

热门文章

最新文章