Revision as of 08:26, 12 March 2010 by Mmorse (talk | contribs)

Article Information

Admin Article
User Article
Developer Article
Template:CertifiedTemplate:ConstructionTemplate:Custom ZCS 6.0 Article ZCS 6.0

ZCS 5.0 Article ZCS 5.0

ZCS 4.5 Article ZCS 4.5

The Zimbra Collaboration Suite is designed to provide an end-to-end mail solution that is scalable and highly reliable. The messaging architecture is built with well-known open-system technology and standards and is composed of a mail server application and a client interface.
The architecture includes the following core advantages:
Open source integrations. Linux®, Apache Tomcat, Postfix, MySQL®, OpenLDAP®.
Uses industry standard open protocols. SMTP, LMTP, SOAP, XML, IMAP, POP.
Modern technology design. Java, JavaScript thin client, DHTML.
Horizontal scalability. Because each mailbox server includes its own data store, message store, and set mailbox accounts, you don’t change anything on existing servers in order to scale the system. To scale for additional mail accounts, add more servers.
High availability support. Red Hat Cluster Suite is integrated with ZCS, for cluster management.
Browser based client interface.
Administration console to manage accounts and servers.

Core Functionality

The Zimbra Collaboration Suite provides the following state-of-the-art messaging and collaboration solutions.
Email messaging
Address Books
Web document authoring
The core functionality within the Suite is as follows:
Mail delivery and storage
Indexing of mail messages upon delivery
Backup services
Mailbox server logging
IMAP and POP support
Directory services
Anti-spam protection
Anti-virus protection
Administrators can easily manage domains, servers, and accounts from the browser based administration console and can manage backup, bulk provision accounts, and perform cross-mailbox searches from the Command Line Utility. (Network Edition)
Delegate a Domain Administrator (Network Edition)
Move mailboxes from one server to another (Network Edition)
Import Microsoft Exchange user accounts
Add accounts and domains
Set account restrictions either for an individual account or by COS
Manage distribution lists
Set up virtual hosts on a domain
Manage servers
Define policies for moving older messages to secondary storage (Network Edition)
Backup and restore (Network Edition)
Monitor usage
The Zimbra Web Client mail features include the ability to:
Compose, read, reply, forward, and use other standard mail features
View mail by conversation threads
Tag mail to easily group messages for quick reference
Use Search Builder to perform advanced searches
Save searches
Use Calendar to schedule appointments
Share calendars with others
Create address books and share with others
Set mailbox usage preferences, including defining mail filtering options
Create, organize and share web documents with Zimbra Documents

Zimbra Components

Zimbra architecture includes open-source integrations using industry standard protocols. The third-party software listed below is bundled with Zimbra software and installed as part of the installation process. These components have been tested and configured to work with the software.
Apache Tomcat, the web application server that Zimbra software runs in.
Postfix, an open source message transfer agent (MTA) that routes mail messages to the appropriate Zimbra server.
OpenLDAP software, an open source implementation of the Lightweight Directory Access Protocol (LDAP) that provides user authentication.
MySQL database software.
Lucene, an open-source full featured text index and search engine.
Verity®, a third-party source that converts certain attachment file types to HTML.
Anti-virus and anti-spam open source components including:
ClamAV, an anti-virus scanner that protects against malicious files.
SpamAssassin and DSPAM, mail filters that attempt to identify spam.
Amavisd-new, which interfaces between the MTA and one or more content checkers.
James/Sieve filtering, used to create filters for email.

System Architecture

Figure 1 shows the Zimbra Collaboration Suite architectural design, including the open-source software bundled with the Suite and other recommended third-party applications.
The Zimbra Collaboration Suite includes the following application packages.

Zimbra Core

The Zimbra Core package includes the libraries, utilities, monitoring tools, and basic configuration files.

Zimbra LDAP

The Zimbra Collaboration Suite uses the OpenLDAP software, an open source LDAP directory server. User authentication is provided through OpenLDAP. Each account on the Zimbra server has an unique mailbox ID that is the primary point of reference to identify the account.
The OpenLDAP schema has been customized for the Zimbra Collaboration Suite.

Zimbra MTA (mail routing server)

Postfix is the open source mail transfer agent (MTA) that receives email via SMTP and routes each message to the appropriate Zimbra mailbox server using Local Mail Transfer Protocol (LMTP). The Zimbra MTA also includes the anti-virus and anti-spam components.

Zimbra Store (Zimbra server)

The Zimbra store package installs the components for the mailbox server, including Apache Tomcat, which is the servlet container the Zimbra software runs within. Each account is configured on one mailbox server, and this account is associated with a mailbox that contains all the mail messages and file attachments for that mail account.
The mailbox server includes the following components:
Data store
Message store
Index store
HTML attachment conversion utility
Each Zimbra server has its own standalone data store, message store and index store for the mailboxes on that server.
As each mail arrives, the Zimbra server schedules a thread to have the message indexed (index store). Any attachments to the mail message are scheduled to be converted to HTML, and then the HTML version is scheduled to be indexed.

Data store.

The data store is a MySQL database where internal mailbox IDs are linked with user accounts. The data store maps the mailbox IDs to users’ OpenLDAP accounts. This database contains each user’s set of tag definitions, folders, calendar schedules, and contacts, as well as the status of each mail message - read, unread, tags associated to message, and folder the message resides in.

Message store.

The message store is where all email messages and file attachments reside. Messages are stored in MIME format. A message that is sent to multiple recipients who have accounts on one mailbox server are stored only once in the file system.

Index store.

Index and search technology is provided through Lucene. Index files are maintained for each mailbox.

HTML conversion.

As each email message arrives, the Zimbra server schedules a thread to have the message indexed. Any attachments to the mail message are scheduled to be converted to HTML, and then the HTML version is scheduled to be indexed. (Network Edition)


Installing the Zimbra-SNMP package is optional. If you choose to install Zimbra-SNMP for monitoring, the package should be run on every server (Zimbra server, Zimbra LDAP, Zimbra MTA) that is part of the Zimbra configuration. Zimbra uses swatch to watch the syslog output to generate SNMP traps.

Zimbra Logger

Installing the Zimbra Logger package is optional and is installed on one mailbox server. The Zimbra logger installs tools for syslog aggregation, reporting, and message tracing. If you do not install Logger, you cannot use the message trace feature. In addition, the server statistics are not captured, and the server statistics section of the administration console will not display.

Zimbra Spell

Installing the Zimbra Spell package is optional. Aspell is the open source spell checker used on the Zimbra Web Client. When Zimbra-spell is installed, the Zimbra-apache package is also installed.

Backup Process Overview

(Network Edition) Zimbra includes a configurable backup manager that resides on every Network Edition Zimbra server and performs both backup and restore functions. You do not have to stop the server in order to run the backup process. You can use the backup manager to restore a single user in the event that one user’s mailbox becomes corrupted. See Backup and Restore]. Figure 1: Zimbra Collaboration Suite System Architecture
2 Overview System Architecture.2.1.1.jpg

Zimbra System Directory Tree

The Directory Tree lists the main directories created by the Zimbra installation packages.
Note: The directory organization is the same for any server in the Zimbra Collaboration Suite, installing under /opt/zimbra.
Table 1 Directory Structure for Zimbra Components

Example of a Typical Multi-Server Configuration

The exact configuration for each deployment is highly dependent on variables including the number of mailboxes, mailbox quotas, performance requirements, existing network infrastructure, IT policies, security methodologies, spam filtering requirements, and so forth.

The following figure shows a typical configuration with incoming traffic and user connection. Alternate ways of configuring at many points within the network are possible.

Figure 2: Typical Configuration with Incoming Traffic and User Connections
2 Overview System Architecture.2.1.2.jpg

Explanation of this typical configuration flow follows:

1 - Inbound internet mail goes through a firewall and load balancing to the edge MTA for spam filtering.

2 - The filtered mail then goes through a second load balancer.

3 - An external user connecting to the messaging server also goes through a firewall to the second load balancer.

4 - The inbound Internet mail goes to any of the Zimbra MTA servers and goes through spam and virus filtering.

5 - The designated Zimbra MTA server looks up the addressee's directory information form the Zimbra LDAP replica server.

6 - After obtaining the user's information from the Zimbra LDAP server, the MTA server sends the mail to the appropriate Zimbra server.

7 - Internal end-user connections are made directly to any Zimbra server which then obtains the user's directory information from Zimbra LDAP and redirects the user as needed.

8 - Zimbra servers' backups can be processed to a mounted disk.
Jump to: navigation, search