- •Table of Contents
- •Preface
- •More than Just Email
- •Introducing Zimbra
- •What's in a Name?
- •Building Better Collaboration
- •Front-End
- •Back-End
- •The Benefits of Zimbra
- •Summary
- •Before the Installation
- •Hardware
- •Software
- •Editing the HOSTS File
- •Configuring DNS
- •Turning Off Sendmail
- •Installing on Red Hat Enterprise Linux 4
- •Installing the Red Hat Operating System
- •Installing Zimbra Collaboration Suite
- •Installing on SUSE ES 9
- •Preparing SUSE ES 9 for Zimbra
- •Installing on MAC OS X
- •Preparing MAC OS X Server for Zimbra
- •Installing the Zimbra Collaboration Suite
- •Post-Installation Steps
- •Configuring the Firewall
- •Uninstalling Zimbra
- •Summary
- •An Overview of the Administration Console
- •A. Content Pane
- •B. Search Bar
- •C. Monitoring
- •Server Management
- •Creating a New Domain
- •Configuring Global Settings
- •Class of Service
- •User Management
- •Creating User Accounts
- •Creating an Alias
- •Creating a Distribution List
- •Administering Zimbra from the Command Line
- •Managing Services with zmcontrol
- •Creating Accounts with zmprov
- •Summary
- •The Web Client System Requirements
- •A Bird's Eye View of the Web Client
- •Working with Email
- •Checking Email
- •Composing Email
- •Tags
- •Conversations
- •Managing Contacts
- •Sharing Address Books
- •Managing Schedules
- •Adding Appointments
- •Creating Multiple Calendars
- •Sharing Calendars
- •The Zimbra Documents
- •Creating Documents Pages
- •Sharing Documents
- •Saving Time with the Zimbra Assistant
- •Saving Even More Time with Keyboard Shortcuts
- •Sending an Email with Shortcuts
- •Summary
- •Built-In Security
- •Web Client Security
- •Mail Transfer Agent
- •Anti-Spam
- •Anti-Virus
- •Securing the Operating System
- •Host-Based Firewall
- •Services
- •Updates and Patching
- •Securing the Network
- •Firewalls
- •Virtual Private Networks
- •Summary
- •Exploring User Options
- •General Options
- •Mail Options
- •Mail Filters
- •Address Book
- •Calendar
- •Shortcuts
- •Configuring POP Accounts
- •Configuring Mail Identities
- •Building Searches
- •Building Our Search
- •Using a Saved Search
- •Summary
- •The PST Import Wizard
- •The Zimbra Connector for Outlook
- •A Look at Zimbra Integration
- •Contacts
- •Appointments
- •Sharing Outlook Folders
- •Summary
- •Preparing the Zimbra Server for Zimbra Mobile
- •Configuring Windows Mobile to Sync with Zimbra
- •Configuring Palm OS to Sync with Zimbra
- •Summary
- •An Overview of Zimlets
- •Mouse-Over Zimlet Example
- •The Date Zimlet
- •The Yahoo! Maps Zimlet
- •Managing Zimlets
- •Managing Zimlets through the Administrator Console
- •Assigning Zimlets to a COS
- •Assigning Zimlets to an Account
- •A Look at Configuring the RSS Zimlet
- •The RSS Zimlet in Action
- •Allowing RSS Feeds for Additional Sites
- •Managing Backups
- •Restoring Mailboxes
- •Using the Command Line for Backups
- •Summary
- •The Need for Monitoring
- •Availability
- •Scalability
- •Security
- •Working with Mail Queues
- •Monitoring Log Files
- •Summary
- •Index
This material is copyright and is licensed for the sole use by Kliwon Klimis on 28th October 2008 425 cilce, , frood, grradt, 525254
Chapter 1
The Talking Heads, a popular rock band in the late 70s and early 80s, found a poem from a Dadaist poet named Hugh Ball. The poem was called "Gadji beri bimba" and included a lot of words that seemingly meant absolutely nothing, The last line of the poem read "E glassala tuffm I zimbra" and that is where the name Zimbra comes from.
Building Better Collaboration
The Zimbra Collaboration Suite architecture can be broken into two parts: the FrontEnd architecture and the Back-End architecture. The back-end of ZCS consists of
a server built on Java technology. Java was selected as the programming language for many reasons including; integration with other web technologies, combining many open source sub components into a single process, and enhancing the I/O performance necessary for a messaging infrastructure. The back-end also includes additional components to make ZCS an enterprise-level collaboration suite.
The Message Store utilizes the Linux file system creating one file per message. Mapping one file per message takes advantage of the efficiency of the file system for storing and retrieving messages. The operating system will now also be responsible for garbage collecting, security, compressing, indexing, and caching. By utilizing native operating system processes and utilities, ZCS is able to take advantage of better efficiency and lower administrative overhead.
The Metadata SQL Store does not store the message itself, but stores information about each message for better manageability within ZCS. The information stored includes: the location of the message, any tags associated with the message, the state of the message (read or unread), and any other information required by ZCS for message handling. The Metadata SQL Store leverages the features of MySQL, an open source relational database system, allowing for efficient and reliable handling of the data, increased performance through caching, portability, and transparency when installing and administering ZCS.
Zimbra Search is key to the ZCS infrastructure as it gives users the ability to search for messages utilizing any piece of meta-data that is stored in the Metadata SQL
Store. Zimbra also utilizes a "Search Builder" available through the Web client for constructing advanced search criteria. Although searches are built on the client, the actual processing is done on the server, allowing for faster and more comprehensive searches. Zimbra Search utilizes Apache Lucene, a full-text search engine, to create and manage indexes, as well as Verity to extract text from email attachments. allowing for enhanced search capabilities.
[ 11 ]
This material is copyright and is licensed for the sole use by Kliwon Klimis on 28th October 2008 425 cilce, , frood, grradt, 525254
Introducing Zimbra
Journaling is used similar to the way a database uses transaction logs. Journaling is used to consistently write message data to the Message Store, Metadata SQL Store, and the Zimbra Search Engine. Journaling is the foundational piece to Zimbra's ability for hot-backup, individual mailbox and point-in-time restores (smart recovery), and replication.
Front-End
On the front-end, Zimbra makes strong use of web services and technologies to communicate with the Zimbra server. The front-end clients include:
|
Zimbra |
|
|
|
|
|
|
|
|
Collaboration |
Zimlets |
|
XML (JSON) |
|
|
||
|
Client |
|
|
|
|
|||
|
|
|
|
HTTP/S |
|
|
||
|
|
|
|
|
Zimbra |
|
||
|
Zimbra AJAX Toolkit |
|
|
|
|
|
||
|
Web browser |
|
|
|
|
Collaboration |
|
|
|
|
|
|
|
Server |
Internet/ |
||
|
(Firefox, IE, Satari) |
|
|
|
|
|||
|
|
|
|
|
Intranet |
|||
|
|
|
|
|
|
|||
|
|
|
|
|
|
XML |
|
|
|
|
Zimbra |
|
|
|
|
web |
|
|
|
|
|
HTTP/S |
|
|||
|
|
|
|
|
services |
|||
|
Outlook |
MAPI |
|
|
Zimlet Generic |
|||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
|
|
Plug-in |
|
|
|
|
WS Proxy |
|
|
|
Zimbra |
|
|
|
XML |
|
|
|
Apple, |
|
|
HTTP/S |
Zimlet “JSPs” |
|
||
|
Sync |
|
|
Non-XML |
||||
|
Evolution |
|
|
|
|
|
||
|
Plug-ins |
|
|
|
|
app’s & |
||
|
|
IMAP, POP, |
|
|||||
|
Standard Clients: |
|
|
data |
||||
|
|
ICAL, RSS, ... |
|
|||||
|
|
|
|
|||||
|
Thunder, Lightning, |
|
|
|
||||
|
|
|
|
|
|
|
||
|
Sunbird.. |
|
|
|
|
|
|
|
Other |
“Over the Air” Sync |
|
|
|
Protocol |
|
|
|
Wireless |
|
|
|
|
Gateway |
|
|
|
Client |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Internet |
|
|
Postfix |
|
SMTP |
|
|
|
|
|
MTA |
|
|
|
||
|
(external |
SMTP |
|
|
LMTP |
|
|
|
|
(AS/AV) |
Tomcat |
|
|||||
|
AS/AV) |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J2SE JRE (Linux, MacOS, ...) |
|
Zimbra Collaboration Client is a web-based client that utilizes a web browser and
AJAX technologies to interface with the Zimbra Server. The web client also takes advantage of XML, HTTP(s), and JavaScript Object Notation (JSON) technologies to enhance performance and add additional functionality. Later chapters will explore the functionality and use of the web-client. Currently, (end of July 2007) the web-client is supported on Internet Explorer 6 SP2 and 7, Firefox 1.0.7, 1.5, and 2, and Safari (beta, version 3.0 is not supported at all). A toaster is available to bring message alert to the desktop.
[ 12 ]
This material is copyright and is licensed for the sole use by Kliwon Klimis on 28th October 2008 425 cilce, , frood, grradt, 525254
Chapter 1
Microsoft Outlook is used via a Zimbra MAPI plug-in (often called ZCO : Zimbra
Connector for Outlook) that is installed on the client PC. This client allows for the direct synchronization of email, calendar, and contacts between OUTLOOK and the
Zimbra Server. Microsoft Outlook synchronization also supports cached mode, if the client is disconnected, and utilizes SSL and TLS providing a secure connection without the use of a VPN. Some ZCS features will not be accessible in Microsoft Outlook including the Search Builder and Zimlets.
iSync—ZCS provides an installable plug-in (similar to Outlook) to integrate ZCS into the Apple Desktop. The plug-in facilitates synchronization with Apple Mail (using IMAP), Apple Address Book, iCal, and iCal Events. The plug-in also provides for SSL and TLS, so no VPN connection is required.
Evolution—another ZCS plug-in provides for synchronization with Novell Evolution and Ximian, using the Evolution Data Server (EDS). Again, a secure connection is provided by using SSL and TLS; so no VPN connection is required.
This connector is not yet included in Zimbra's distribution and you'll have to build it yourself.
Other Email Clients—since ZCS uses standard mail protocols, POP3, and IMAP, any email client that utilizes those protocols could communicate with the ZCS server. However, using these clients will not take full advantage of what ZCS has to offer and virtually turns your ZCS implementation into a more traditional email server, as opposed to a true collaboration server.
Zimbra Mobile—provides "over-the-air" synchronization of email, calendar, and contacts to most mobile devices. No additional software is necessary to be installed on the mobile device, with the exception of Blackberry devices. Zimbra Mobile is included with the ZCS Network Standard and Professional Editions, but at the time as this writing, requires additional licensing fees.
Zimlets—enables developers and administrators to integrate information from disparate sources into the ZCS web-client. Out-of-the-box Zimlets also add additional functionality and business tools to the web-client including integration with Amazon, Wikipedia, Asterisk VoIP, Salesforce.com, Evite, and allows for RSS feeds to be delivered directly to the web-client. The ability to develop custom Zimlets provides almost limitless possibilities to the customization of ZCS, and adding tools for business users.
Zimbra Desktop Offline Client—is currently in alpha release. It will allow users to access their email, calendar, contacts, and documents while on the road, or in places without a network connection, through the familiar AJAX-based user interface
of Zimbra Web. When users come back online, all the changes made offline, such as composing, replying to, deleting, editing or moving messages, appointments, contacts or documents, will synchronize with the Zimbra server and mobile devices.
[ 13 ]
This material is copyright and is licensed for the sole use by Kliwon Klimis on 28th October 2008 425 cilce, , frood, grradt, 525254
Introducing Zimbra
Zimbra Archiving and Discovery—allows you to comply with SOX, HIPAA, FRCP or corporate governance within Zimbra: no need for legacy solution.
Back-End
Although we looked briefly at some of the key features that make up the Zimbra architecture, this section will explore the application packages and components that make up the Zimbra Collaboration Suite.
Attachment
Indexing &
Redering
Zimbra Collaboration Server
Zimlets
Zimbra |
|
JDBC |
JNDI |
Journaling |
Zimbra |
|
|
and |
Message |
Lucene |
|
Replication |
Store |
Index Meta-data |
Open |
|
|
SQL Store |
LDAP |
|
J2SE JRE |
|
|
Underlying file system: local disk, NAS, SAN, ...
Other Enterprise
Messaging Server
(e.g., ExchangeTM)
LDAP |
Enterprise |
Directory |
Zimbra Core—includes all of the libraries, monitoring tools, utilities, and basic configuration files required by the Zimbra Collaboration Suite.
Zimbra LDAP—utilizes OpenLDAP to provide user authentication. Each account created on the server is handled by the Zimbra LDAP component and is assigned its own unique mailbox ID.
Zimbra MTA—Zimbra utilizes Postfix as its mail transfer agent (MTA). Postfix handles messages that are received via SMTP and routes the messages to the appropriate mailbox. Zimbra MTA also includes Clam Anti-Virus and
SpamAssassin, providing anti-virus and anti-spam protection.
[ 14 ]
This material is copyright and is licensed for the sole use by Kliwon Klimis on 28th October 2008 425 cilce, , frood, grradt, 525254
Chapter 1
Zimbra Store—when someone mentions the Zimbra Server, this is the component they are most likely referring to. The Zimbra Store installs all of the necessary components for the mail server including Apache Tomcat, to run the Zimbra software. Zimbra store includes:
1.Data Store—a MySQL database that stores the mapping between users and the mailbox ID. The Data Store also includes the information from the
Metadata SQL Store and also includes the calendar and contacts of each user.
2.Message Store—as discussed earlier, is the file system where email messages are actually stored.
3.Index Store—where the Zimbra Search Engine is located, which utilizes
Apache Lucene technology.
4.HTML Conversion—converts all incoming email attachments to HTML for indexing.
Zimbra SNMP—an optional package that may be utilized to add the server to monitoring and management tools utilizing SNMP.
Zimbra Logger—another optional, but recommended, package that is used for syslog aggregation, server statistics, reporting, and most importantly message tracing. Without Zimbra Logger being installed, the administrator will not be able to use the message trace feature. Also, without Zimbra Logger, the server statistics section of the admin console will not be displayed. The Zimbra Logger must be setup once (even for a multi-server infrastructure): all logs from all servers are sent to this single instance.
Zimbra Spell—an optional package that utilizes the open source project Aspell to offer spell checking within the web-based client.
All these components can be set up on a single server (that's what we'll do later in the book) or on several different servers. One server can be dedicated to each component (one for MTA, one for LDAP, one for Store+Spell+Logger) or you can set up several servers per component: x servers running as MTA, another bunch running as LDAP, and as many Store as needed.
Zimbra was designed with this in mind "from the start" (another way of "fixing email"). It allows high scalability and ease of administration (example: you can "hot-move" a mailbox from one Store server to another). Zimbra is also able to run on virtualized infrastructure (VMWare is a supported platform).
[ 15 ]