<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 
一.实验环境
1.  操作系统RHEL4-U4,内核2.6.9-42.ELsmp
2.  服务器外网IP为124.193.106.77,内网IP为192.168.4.188
3.  域为:begindo.cn
二.Extmail安装

1.下载软件包

我们统一将软件包下载到/root目录里。
cd /root
wget http://www.extmail.org/source/ExtMail-Solution-Linux-0.2.tar.gz

2.校验

下载的文件必须校验确认过没损坏才能使用。命令如下:
一个可能的结果:
由于软件包不断的变更,所以上述结果和您的结果可能不一致,请以下载的md5sum为准

3.解压

目前最新的ExtMail-Solution软件包版本号为0.2,软件包文件名为:ExtMail-Solution-Linux-0.2.tar.gz,下载回来后,在/root目录解开:
tar xfz ExtMail-Solution-Linux-0.2.tar.gz
此外,我们假设本次安装默认域是begindo.cn,主机名为:mail.begindo.cn,ExtMail Solution的文件目录是/root/ExtMail-Solution-Linux-0.2/
重要步骤:
我们进入/root/ExtMail-Solution-Linux-0.2/目录,该目录下包括如下文件/目录:
conf/
docs/
RPMS/
src/
README

其中RPMS目录是本文的重点,里面包含了所需要的全部rpm包,src目录则是存放webmail, anti-spam等相关软件的源码,而README则是说明文件,docs目录则是本文档相关的html及图片。
下文所涉及的操作,绝大部分都是发生在/root/ExtMail-Solution-Linux-0.2目录里,请确保当前目录为:/root/ExtMail-Solution-Linux-0.2
4.  配置Postfix MTA
删除冲突软件,sendmail,需要执行:
rpm -e --nodeps sendmail
rpm –qa | grep sendmail
rpm –e  所有有关sendmail的rpm包
rpm –qa | grep postfix
rpm –e 所有系统自带的postfix的包
5.安装postfix
rpm -ivh --nodeps RPMS/postfix-2.5.1-2ext.i386.rpm
简化postfix配置:
再编辑main.cf:
vi /etc/postfix/main.cf
增加如下内容:
# hostname
mynetworks = 127.0.0.1
myhostname = mail.begindo.cn
mydomain = begindo.cn
mydestination = $mynetworks $myhostname
# banner
mail_name = Postfix - by begindo.cn
smtpd_banner = $myhostname ESMTP $mail_name
# response immediately
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450
# extmail config here
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
virtual_transport = maildrop:
maildrop_destination_recipient_limit = 1
编辑mysql_virtual_alias_maps.cf
vi /etc/postfix/mysql_virtual_alias_maps.cf
内容如下:

 

编辑mysql_virtual_domains_maps.cf
vi /etc/postfix/mysql_virtual_domains_maps.cf

内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx ='0' and active ='1'

 

编辑mysql_virtual_mailbox_maps.cf
vi /etc/postfix/mysql_virtual_mailbox_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = '1'

5. 配置Courier-Authlib

安装Courier-Authlib

运行如下命令安装相关软件包
编辑/etc/authlib/authmysqlrc文件,并将其内容清空,然后增加如下内容:
存盘退出后启动courier-authlib:
service courier-authlib start
如一切正常,命令行将返回如下信息:
Starting Courier authentication services: authdaemond
修改authdaemon socket目录权限

如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证:
chmod 755 /var/spool/authdaemon/
6. 安装Maildrop

 

安装maildrop
配置master.cf
为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,并改为:
配置main.cf
由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:
maildrop_destination_recipient_limit = 1
最后重新启动postfix即可
注意事项:
1.如需重新编译Maildrop软件包,必须先获得其源码rpm包,并且必须先行安装courier-authlib及其devel软件包,否则编译后的maildrop将无法打开authlib支持。
2.maildrop RPM包安装时,会自动创建vuser用户及vgroup用户组,专门用于邮件的存储,vuser:vgroup的uid/gid都是1000,这与一般的邮件文档中提及用postfix用户存邮件不一样。因为postfix用户的uid一般都低于500,而Suexec模块编译时对UID/GID的要求是要大于500,因此使用postfix用户不能满足要求。其次,如果用Maildrop作为投递代理(MDA),以postfix身份投递的话,会导致postfix MTA错误。

四.配置Apache

编辑httpd.conf:
vi /etc/httpd/conf/httpd.conf

在730行左右,屏蔽掉AddDefaultCharset:
#AddDefaultCharset UTF-8

使apache开机默认启动:
chkconfig httpd on

虚拟主机设置

编辑/etc/httpd/conf/httpd.conf文件,在最后一行加上:

编辑/etc/httpd/conf/vhost_extmail.conf,里面定义虚拟主机的相关内容,包括主目录,以及ExtMail和ExtMan的相关配置,Suexec的设置等。
重新启动apache:
service httpd restart
注意:此时重新启动apache会产生以下警告信息,可不必理会
Starting httpd: Warning: DocumentRoot [/var/www/extsuite/extmail/html/] does not exist

转载于:https://blog.51cto.com/jlsfwq/165612

Extmail配置实践(一)相关推荐

  1. 路由器配置实践 教你如何在Linux中三台主机两个网段互相通信

    大家好我是你们的齐天大圣 又到了齐天大圣给大家讲解的时间了 今天我带你们做一个 大大项目 你们信不信 如果把你不小心打开这个文档 希望你能看完 这个博文花费了我两天的时间所以请尊重我的劳动 假装看完好 ...

  2. Flume(NG)架构设计要点及配置实践

    Flume(NG)架构设计要点及配置实践 http://shiyanjun.cn/archives/915.html 转载于:https://blog.51cto.com/vikenxu/165732 ...

  3. 内部办公网与IDC机房的GRE隧道配置实践

    背景 公司内网与机房服务器为了实现用内网IP通信的功能,故使用了linux的IP gre隧道的方式.使得公司内部可以直接通过路由直连的方式访问机房服务器. 拓扑图如下: 注:拓扑中的外网IP为虚构的I ...

  4. Nginx 日志配置实践

    前言 Nginx日志对于统计.系统服务排错很有用. Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志).通过访问日志我们可以得到用户的IP地址.浏览器的信息, ...

  5. 服务器搭建hue_Hue安装配置实践

    Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的.通过使用 ...

  6. 基于 Traefik 的激进 TLS 安全配置实践

    前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易. Traefik可以与现有的多种基础设施组件(Docker.Swarm模式.Kubernetes.Marathon. ...

  7. 入门学习Nginx代理服务器?就看这篇Nginx进阶学习最佳配置实践指南

    前置基础知识学习 1.Nginx基础安装与配置详细 https://blog.weiyigeek.top/2019/9-1-121.html 2.Nginx进阶学习之最佳配置实践指南 https:// ...

  8. Nginx 核心模块与配置实践丨Nginx模版开发丨C++后端开发

    Nginx 核心模块与配置实践 概要: Nginx 简介 Nginx 架构说明 Nginx 基础配置与使用 1. Nginx 简介与安装 知识点: Nginx 简介 Nginx 编译与安装 Nginx ...

  9. JDK8 JVM参数与实际环境中的优化配置实践

    如何配置我们的JVM呢,首先我们需要知道JVM的参数有哪些,然后根据这些参数的意义去分析自己的程序的JVM需要的配置.可以事先做一些尝试,再逐步调优,这个调优也是一个过程,没有足够的经验而做到一步到位 ...

最新文章

  1. JSP+MySQL实例
  2. 高精除(信息学奥赛一本通-T1308)
  3. CV算法助理 | 华为外包招聘
  4. 数据结构与算法面试题80道(35)
  5. php整合proxool,java discuz的开发笔记-模板代码转换
  6. linux非阻塞输入函数,Linux fcntl函数设置阻塞与非阻塞
  7. jsp电子商务 购物车实现之一 设计篇
  8. c# 的多页打印 [用 PrintDocument 不用水晶报表]
  9. 解决XCode 11 build error 编译错误 image not found
  10. Android studio上音频文件格式问题
  11. 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
  12. 标准盒模型和IE盒模型
  13. 设计师必备!超好用的MAC电脑网页设计师软件
  14. 阿里云域名购买和配置
  15. e420 thinkpad 开机黑屏_thinkpad E420开机黑屏主板门维修
  16. 算法设计与分析期末总结
  17. weblogic 启动问题
  18. Ubuntu服务器配置mysql8
  19. java相关的外文文献及翻译_外文文献及翻译:JavaandtheInternet
  20. linux 私有云存储,私有云存储搭建(owncloud)

热门文章

  1. redis中的hash
  2. hdu1443 Joseph(约瑟夫环)
  3. 判断数组中的重复元素
  4. 软件测试风险评估分析
  5. Processing Orders With Windows Workflow
  6. java 时间与字符串之间的转换
  7. 字符串拷贝函数memcpy()、strncpy()和snprintf()性能之比较
  8. 滴水穿石--Pydoop 架构和模块包介绍
  9. 如何设计出“有趣”的互联网产品?
  10. 【转】JNI(Java Native Interface)的简介