Zimbra管理手册-最强大的开源企业邮件系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Zimbra管理手册-最强大的开源企业邮件系统Linux&Email 2011-02-10 16:32:59 阅读229 评论0 字号:大中小订阅
Zimbra 管理手册-最强大的开源企业邮件系统
(2010-12-26 14:59:18)
TE>转载TE>
var $tag='开源邮件,zimbra,postfix,杂谈'; var
$tag_code='14e5f2102e53ed26e2ad5c4970d66ece'; var
$r_quote_bligid='71341ca60100nqm8'; var $worldcup='0'; var $worldcupball='0'; 标签:开源邮件
zimbra
postfix
杂谈分类:企业邮件
Zimbra管理手册-
最强大的开源企业邮件系统
转载请注明出去:/rootking
第一章:zimbra的安装
可能是出于稳定性的考虑,Zimbra目前支持在UBUNTU的LTS版本上安装。
因为LTS版本提供更长的厂商服务支持,所以目前Zimbra只能在UBUNTU的6.04和8.04上安装。
1.1、安装UBUNTU操作系统。
由于实验里没有公网的域名和MX记录,所以我们在本地安装DNS服务器,添加域名和MX记录。
选择安装DNS和SSH服务器,其它的都不要安装。
1.2、修改UBUNTU版本为8.04LTS
sudo vim /etc/lsb-release
sudo vim /etc/issue
Sudo lsb_release –a 查看版本是否改成8.04
1.3、网络配置
sudo vim /etc/hosts
更改主机名为mail
sudo vim /etc/hostname
mail
确保主DNS为本地,搜索域为本地域。
并添加外网DNS,保证能上外网sudo vim /etc/network/interfaces
sudo vim /etc/resolv.conf
1.4、DNS服务器的配置:
创建本地域和MX记录。
sudo vim /etc/bind/named.conf
添加如下内容
sudo vim /etc/bind/
添加如下内容
重启DNS服务
sudo service bind9 restart
sudo rndc reload
1.5、下载并压ZCS
wget
/lo/downloads/6.0.4_GA/zcs-6.0.4_GA_2038.UBUNTU8.20091214184037.tgz tar –jxvf zcs-6.0.4_GA_2038.UBUNTU8.20091214184037.tgz
安装相关的依赖软件包,确保安装检测如下图所示。
sudo apt-get update
sudo apt-get install libstdc++5 sysstat libgmp3c2
sudo ./install.sh
Libstdc++5是compat-libstdc++-33这个包
安装的时候会报MX记录解析错误,这里输入正确的域名就行(如:)。
剩下的按默认安装就行。
1.6 zimbra的卸载
要卸载ZCS,运行安装脚本(带-u 参数),删除对应目录即可。
第二章:zimbra的WEB管理
2.1 登陆zimbra的WEB控制台
控制台的登录网址是:https://[]:7071/zimbraAdmin
提示:要登录到管理控制台,必须使用https 协议。
在你第一次登录的时候,可
能会出现一个关于证书的警告框,此时选择接受即可。
最好的办法是选择永久接受。
输入管理员账号和密码(在安装过程中设定的),就可以正式开始管理账号了。
本实例中控制台的登录如下图:
2.2 通过WEB控制台查看ZIMBRA的工作状态
看到如下界面就证明ZIMBRA正常工作。
如果出现如下报错,是zimbraLogHostname设置错误
日志服务器错误的解决办法
# su - zimbra
$ zmprov getConfig zimbraLogHostname
$ zmprov modifyConfig zimbraLogHostname [] 2.3创建账号
A:创建单个账号
管理控制台中的New Account Wizard 可以用来创建单个账号,步骤如下:1.从管理控制台的导航板上选择账户(Accounts)
提示:至少显示4 个已经存在的账户:1 个管理员、2 个与垃圾邮件相关的、1个与全局文档相关的。
这4 个账号不需要做额外的修改。
2.点击新建(New),New Account Wizard 出现。
3.输入账户名称(邮件地址格式)和姓氏。
这两项信息是必须。
4.此时可直接点击完成(Finish),账户将使用默认的服务类型(COS)及全局设置。
5.如果要为此账户配置别名、转发地址或其它的特定功能,可在New Account Wizard 的界面里完成,最后再点击完成(Finish)。
6.当账户创建完成的时候,就可以收发邮件了。
B:批量创建账号
使用批量账户向导(Bulk Account Wizard),每次可以导入多达500 个账户。
该向导要求你上传一个CSV 文件,其中包括用户名、显示名称、密码(可选)基本信息。
通过这种方式创建的账户使用默认服务类型。
C:将现有数据迁移到ZCS
Zimbra 开发了几个工具,帮助用户将现有的电子邮件、日历及联系人迁移到ZCS服务器上。
当用户文件被导入时,文件夹的结构仍被保留。
使用ZCS 的工具来迁移数据可以保证信息能够正确导入。
.
如下几个程序及使用指南可从管理控制台中下载。
ZCS Migration Wizard for Exchange
.exe 格式。
使用此工具可以将Microsoft? Exchange 服务器中的邮件账户迁移到ZCS 服务器中。
ZCS Migration Wizard for Lotus? Domino?.
.exe 格式。
使用此工具可以将Lotus Domino 服务器中的邮件账户迁移到ZCS服务器中。
Zimbra Collaboration Suite Import Wizard for Outlook?
.exe 格式。
使用此工具可以将Outlook 文件(.pst)中的内容迁移到ZCS 服务器上。
2.4 WEB控制台的管理工作
WEB控制台能够完成ZIMBRA的绝大部份管理工作,并且管理操作都非常简单,关于WEB控制台详细操作我这里就不再介绍了。
如果要想更深入的了解ZIMBRA的管理操作就必须
第三章:zimbra的体系结构
3.1 Zimbra中包含的组件
Zimbra 架构中包括对使用标准协议的开源项目的整合。
包括在Zimbra 中的第三方的软件如下表列示,并且会在安装过程中被安装。
所有的这些组件都已经经过测试和配置,可以和Zimbra 工作得很好。
名称描述
Jetty Zimbra的软件运行时需要的Web 服务器
Postfix 一个开源的邮件传输代理(MTA)
OpenLDAP 一个开源的目录服务软件,提供用户的验证服务
MySQL 数据库软件
Lucene 开源的全文检索和搜索引擎
ClamAV 防病毒软件
SpamAssassin 反垃圾邮件过滤器
Amavisd-new 在MTA 和内容过滤器之间提供接口
James/Sieve 用于建立电子邮件的过滤规则
3.2 Zimbra软件包
ZCS 包括如下应用程序包:
Zimbra Core
包括核心的类库、实用工具、监控工具和基本的配置文件
Zimbra LDAP
ZCS 使用开源的OpenLDAP 作为目录服务,实现用户身份验证功能。
每个账号都有一个唯一的邮箱ID 作为账号的主要身份编号。
ZCS 中使用的OpenLDAP 已经经过定制。
ZimbraMTA
Postfix 是一个开源的MTA 程序,通过SMTP 协议接收邮件,并通过LMTP 协议将邮件传递到合适的Zimbra 邮箱服务器中。
Zimbra MTA 包中还包括防病毒软件和反垃圾邮件软件。
Zimbra Store(邮箱服务器)
包括了邮箱服务器需要的各个组件,包括Jetty,一个开源的Servlet 容器。
在ZCS 中,邮箱服务器被称作
mailboxd。
每个账号只能在一个邮箱服务器中存在;每个账号都会对应一个邮箱,其中包括所有的邮件和附件。
邮箱服务器中包括如下组件:
A、数据存储
是一个MySQL 数据库,内部的邮箱ID 与用户账号相关联。
数据存储将邮箱ID 与用户的OpenDLAP 账号进行映射。
数据存储包括每个用户的标签定义、邮件夹、日程安排、联系人,同时也包括每封邮件的状态、所在邮件夹等。
B、消息存储
消息存储是用来存放邮件及附件的。
消息以MIME 格式存放。
有多个收件人的邮件,在消息存储中只存放一份。
C、索引存储
索引和搜索技术由Lucene 提供。
索引文件基于单个邮箱。
每个服务器都有单独的数据存储、邮件存储和索引存储。
当新邮件到达时,服务器会安排一个新的线程来对邮件做索引。
Zimbr-SNMP
非必须安装。
如果你决定使用它来做监控,建议在每种服务器(邮箱服务器、LDAP、MTA)上都安装。
Zimbra 使用swatch 查看syslog 输出生成SNMP 信号。
Zimbra Logger
可选择性地安装于一台邮箱服务器上。
这个组件用于syslog 的聚合和报表。
如果未安装,则无法在管理控制台中看到服务器的统计信息。
Zimbra Spell
可选择性安装。
它是一个开源的拼写检查工具,用在ZWC 中。
如果此包安装了,Zimbra-apache 也会被安装。
Zimbra Proxy
可选择性安装。
使用代理服务器可以将同一个域名的邮箱分散到不同的服务器上。
ZimbraMemcached
Memcached 是一个与代理相关的包,当代理包被安装时,它也会被安装。
运行代理服务器的必须使用Memcached,多台代理可使用同一台Memcached 服务器。
3.3 磁盘结构
邮箱服务器包括如下卷:
邮件存储,位于/opt/zimbra/store
数据存储,位于/opt/zimbra/db 下的MySQL 数据库
索引存储,位于/opt/zimbra/index
日志文件,位于/opt/zimbra/log
邮件存储
邮件存储是用来存放邮件的,包括邮件的正文和附件。
邮件以MIME 格式存放。
邮件存储位于每台服务器的/opt/zimbra/store 目录下,每个邮箱都有一个以ZCS 内部ID 命名的专用目录。
数据存储
ZCS 的数据存储是一个MySQL 数据库,包含了与邮件相关的元信息,如标签、会话、或在文件系统中的指针。
每个账号(邮箱)只存在于一台服务器上。
每台服务器有它自己独立的数据存储,包括它所管理的所有邮箱。
数据存储包括:
A、邮箱-账号的映射。
在ZCS 中,主要的标识是邮箱的内部ID,无论是用户名还是账号。
邮箱内部ID 在一台服务器中是唯一的。
数据存储将邮箱内部ID 映射到用户的OpenLDAP账号。
B、每个用户的标签定义、邮件夹、联系人、日程安排、任务、邮件过滤器等
C、关于每封邮件的信息,包括是否被阅读、与哪个标签相关联等。
索引存储
索引和搜索技术由Apache Lucene 提供。
邮件在进入系统的时候被自动索引。
每个邮箱都有一个对应的索引文件。
管理员或用户无法管理或配置索引进程。
索引过程如下:
1.MTA 将进站的邮件投递到邮箱服务器中
2.邮箱服务器分析邮件,包括邮件头、正文及所有可读的附件如PDF 或DOC,进行分词索引。
3.邮箱服务器将分词索引传递给Lucene 来创建索引文件
日志
ZCS 部署由很多个第三方的组件构成。
每个组件都可能产生它自己的日志。
一些ZCS 日志信息会生成SNMP Trap,你可以用SNMP 监控工具来捕获。
详见监控ZCS 服务器。
附件:ZIMBRA命令行方式常用的操作
将HTTP登陆方式更改为HTTP\HTTPS登陆方式
$ zmprov ms <servername> zimbraMailSSLPort <https port> (将HTTPS更改成非443端口)
$ zmtlsctl http\https
$ tomcat restart
smtp认证错误的解决
zmprov ms `zmhostname` zimbraMtaAuthHost
日志服务器错误的解决
$ zmprov getConfig zimbraLogHostname
$ zmprov modifyConfig zimbraLogHostname
查看系统参数
可以通过zmlocalconfig -s命令查看系统的参数
$ postconf //查看postfix的所有配置
$ zmlocalconfig //查看各种组件的配置信息
$ zmlocalconfig -s|grep zimbra_ldap_userdn//查看zimbra帐号在LDAP中的DN $ zmlocalconfig -s|grep zimbra_ldap_userdn //查看zimbra帐号在LDAP中的密码
$ zmlocalconfig -s|grep zimbra_mysql //查看mysql的配置信息
更改系统最大邮件大小:
查看最大系统邮件大小,显示当前系统最大邮件为10M。
$ postconf message_size_limit
message_size_limit = 10240000
将系统最大邮件大小更改为20M。
$ zmprov modifyConfig zimbraMtaMaxMessageSize 2048000
$ postfix reload
更改系统最大附件大小:
将系统中所有帐户允许最大的附件更改为5M
$ zmprov modifyConfig zimbraFileUploadMaxSize 5000000
将系统中帐户允许最大的附件更改为20M
$ zmprov modifyServer zimbraFileUploadMaxSize 20000000
更改管理员密码:
$ zmprov gaaa//列出所有管理员
$ zmprov sp <admin email address> <new password> //更改管理员密码
例如:zmprov sp admin q1w2e3r4 或zmprov sp admin@ q12e3r4
更改LDAP密码:
$ ldap status(start)
$ zmldappasswd --root newpass (root)
$ zmldappasswd newpass (zimbra)
更改MYSQL Database密码:
$ mysql.server status(start)
$ zmmypasswd --root newrootpass
$ zmmypasswd newpass
更改Logger MYSQL Database密码:
$ logmysql.server status(start)
$ zmmylogpasswd --root newrootpass (root)
$ zmmylogpasswd newpass (zimbra)
清空邮箱
$ zmmailbox -z -m rootking@ emptyFolder /[inbox][chats][sent][drafts][junk][trash]
inbox(收件箱) chats(聊天) snet(已发送邮件) drafts(草稿箱) junk(垃圾邮件) trash(已删除邮件)
备份还原LDAP
1、备份LDAP(两个命令是相等的)
1)、ldapsearch -h 服务器对外的地址-x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码objectclass=* > 201014.ldif
2)、ldapsearch -h 服务器对外的地址-x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码> 201014.ldif
2、还原LDAP
ldapadd -h 服务器对外的地址-x -c -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码< 20101214.ldif
导出导入用户的邮件
#!/bin/bash
while read USER
do
TODAY=`date`
LOGFILE="/tmp/bak/backuplog.txt"
echo $TODAY >> $LOGFILE
echo $USER >> $LOGFILE
/opt/zimbra/bin/zmmailbox -z -m $USER gms >> $LOGFILE
zmmailbox -z -m $USER@ getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz
done < /tmp/user.txt
PS:user.txt里是用户名,不需要跟域名
恢复用户的邮件
zmmailbox -z -m $USER@ postRestURL "//?fmt=tgz&resolve=reset" tmp/bak/$USER.tgz
Zimbra之黑名单、白名单
由于zimbra采用ClamAV 做防病毒软件和SpamAssassin 做反垃圾邮件过滤器,但在WEB控制台中ClamAV+SpamAssassin只有6个调节选项。
所以如果要想详细的调节防病毒、反垃圾邮件的功能只有更改相应的配置文件了。
例如调节SpamAssassin的配置文件实现黑名单、白名单的功能。
编辑/opt/zimbra/conf/amavisd.conf.in
寻找下列段落,然后加上你要信任的域:
{ # a hash-type lookup table (associative array)
'nobody@' => -3.0,
'cert-advisory@' => -3.0,
'owner-alert@' => -3.0,
'slashdot@' => -3.0,
'bugtraq@' => -3.0,
'ntbugtraq@' => -3.0,
'security-alerts@' => -3.0,
-10就是无条件信任了,相反+10就是无条件阻挡了。
然后存盘,$ su zimbra
$ zmamavisdctl stop
$ zmamavisdctl start。