转载:http://yang2001.blog.51cto.com/25307/634394


第一章:zimbra的安装

可能是出于稳定性的考虑,Zimbra目前支持在UBUNTULTS版本上安装。

因为LTS版本提供更长的厂商服务支持,所以目前Zimbra只能在UBUNTU6.048.04上安装。

 

1.1、        安装UBUNTU操作系统。

由于实验里没有公网的域名和MX记录,所以我们在本地安装DNS服务器,添加域名和MX记录。

选择安装DNSSSH服务器,其它的都不要安装。

Zimbra管理手册_Zimbra管理手册

 

1.2、修改UBUNTU版本为8.04LTS

sudo vim /etc/lsb-release

Zimbra管理手册_Zimbra管理手册_02

sudo vim /etc/issue

Zimbra管理手册_Zimbra管理手册_03

Sudo lsb_release –a 查看版本是否改成8.04

Zimbra管理手册_Zimbra管理手册_04


 

1.3、网络配置

sudo vim /etc/hosts

Zimbra管理手册_Zimbra管理手册_05

更改主机名为mail

sudo vim /etc/hostname

mail

 

确保主DNS为本地,搜索域为本地域。并添加外网DNS,保证能上外网

sudo vim /etc/network/interfaces

Zimbra管理手册_Zimbra管理手册_06

sudo vim /etc/resolv.conf

Zimbra管理手册_Zimbra管理手册_07


 

 

1.4DNS服务器的配置:

创建本地域和MX记录。

sudo vim /etc/bind/named.conf

添加如下内容

Zimbra管理手册_Zimbra管理手册_08


sudo vim /etc/bind/db.wish.com

添加如下内容

Zimbra管理手册_Zimbra管理手册_09

 

重启DNS服务

sudo service bind9 restart

sudo rndc reload

 

 

1.5、下载并压ZCS

wget http://h.yimg.com/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

Zimbra管理手册_Zimbra管理手册_10

Zimbra管理手册_Zimbra管理手册_11

Libstdc++5compat-libstdc++-33这个包

 

安装的时候会报MX记录解析错误,这里输入正确的域名就行(如:wish.com)。

Zimbra管理手册_Zimbra管理手册_12

 

剩下的按默认安装就行。

 

 

1.6  zimbra的卸载

要卸载ZCS,运行安装脚本(带-u 参数),删除对应目录即可。

 

 

 

第二章:zimbraWEB管理

21 登陆zimbraWEB控制台

控制台的登录网址是:https://[mailhost.example.com]:7071/zimbraAdmin

提示:要登录到管理控制台,必须使用https 协议。在你第一次登录的时候,可

能会出现一个关于证书的警告框,此时选择接受即可。最好的办法是选择永久接受。

输入管理员账号和密码(在安装过程中设定的),就可以正式开始管理账号了。

本实例中控制台的登录如下图:

Zimbra管理手册_Zimbra管理手册_13

 

22 通过WEB控制台查看ZIMBRA的工作状态

看到如下界面就证明ZIMBRA正常工作。

Zimbra管理手册_Zimbra管理手册_14

 

如果出现如下报错,是zimbraLogHostname设置错误

Zimbra管理手册_Zimbra管理手册_15

日志服务器错误的解决办法

# su - zimbra

$ zmprov getConfig zimbraLogHostname

$ zmprov modifyConfig zimbraLogHostname [mailhost.example.com]

 

 

23创建账号

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

非必须安装。如果你决定使用它来做监控,建议在每种服务器(邮箱服务器、LDAPMTA)上都安装。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 mail.example.com

 

日志服务器错误的解决

$ zmprov getConfig zimbraLogHostname

$ zmprov modifyConfig zimbraLogHostname mail.domain.com

 

查看系统参数

可以通过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

将系统中mail2.domain.com帐户允许最大的附件更改为20M

$ zmprov modifyServer mail2.domain.com zimbraFileUploadMaxSize 20000000

 

更改管理员密码:

$ zmprov gaaa                      //列出所有管理员

$ zmprov sp <admin email address> <new password>        //更改管理员密码

例如:zmprov sp admin q1w2e3r4 或 zmprov sp admin@wish.com 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@wish.net 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@test.com getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz

done < /tmp/user.txt

 

PS:user.txt里是用户名,不需要跟域名

 

恢复用户的邮件

zmmailbox -z -m $USER@test.com 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@cert.org'                        => -3.0,

    'cert-advisory@us-cert.gov'              => -3.0,

    'owner-alert@iss.net'                    => -3.0,

    'slashdot@slashdot.org'                  => -3.0,

    'bugtraq@securityfocus.com'              => -3.0,

    'ntbugtraq@listserv.ntbugtraq.com'       => -3.0,

    'security-alerts@linuxsecurity.com'      => -3.0,

-10就是无条件信任了,相反+10就是无条件阻挡了。然后存盘,

$ su zimbra

$ zmamavisdctl stop

$ zmamavisdctl start