ZCS Administrator's Guide, Network Edition 4.5, Rev 2 11/07
Table of Contents Previous Next Index


Product Overview

Product Overview
This chapter describes the Zimbra application architecture, integration points, and information flow.
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.
Core Functionality
The Zimbra Collaboration Suite provides the following state-of-the-art messaging and collaboration solutions:
The core functionality within the Suite is as follows:
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.
The Zimbra Web Client mail features include the ability to:
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.
OpenLDAP software, an open source implementation of the Lightweight Directory Access Protocol (LDAP) that provides user authentication.
Verity®, a third-party source that converts certain attachment file types to HTML.
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:
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).
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.
Any attachments to the mail message are scheduled to be converted to HTML, and then the HTML version is scheduled to be indexed.
Zimbra-SNMP
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
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
 
Zimbra System Directory Tree
Table 1 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
 
/opt/zimbra/
Zimbra application files, including the command-line utilities described in Appendix A, Command -Line Utilities.
Tomcat application server instance. The webapps/zimbra/skins directory includes the Zimbra UI themes files
zimlets-network
Contains zimlet zip files for features that are installed with the network edition.
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.
Figure 2 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
Explanation of Figure 2 follows.
 
An external user connecting to the messaging server also goes through a firewall to the second load balancer.
The designated Zimbra MTA server looks up the addressee’s directory information from the Zimbra LDAP replica server.
After obtaining the user’s information from the Zimbra LDAP server, the MTA server sends the mail to the appropriate Zimbra server.
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.
 

Product Overview

Table of Contents Previous Next Index
ZCS Administrator's Guide, Network Edition 4.5, Rev 2 11/07
Copyright © 2007 Zimbra Inc.