This is an old revision of the document!
Zarafa on FreeBSD
This page is meant as an augmentation on the Zarafa Administrator Manual which references mostly Linux specific setups. This is by no means a replacement for the manual or a finish to start configuration guide. Even though Zarafa is the easiest to setup and maintain among its competitors it is still a complex product acting both as middleware for several other services and final service provider to end users.
What is Zarafa
In short, Zarafa is a MAPI service providing various groupware services. It is possible to replace a Microsoft Exchange server on a given site and in the process eliminate some of its annoyances, like mailbox size limits. For more information see its website.
The FreeBSD port
The FreeBSD port conforms to the known ports hierarchy and as such differs from the manual. One important difference is how the server locale is propagated to userscripts. The installed userscript wrapper that calls all custom scripts is patched to fetch its locale value from /etc/rc.conf where one would expect it on FreeBSD. The key difference is that we have also named this variable zarafa_locale rather than the uppercase version to be consistent with variable namings in /etc/rc.conf. This also means that one has to set zarafa_locale in /etc/rc.conf before creating users and folders /* note to self, explain why */. It also means that care should be taken when copying 3rd user scripts as they may use/override a differently named variable.
rc scripts
A wrapper script is provided that calls the rc scripts that exist for each component in the preferred order. The wrapper script intentionally does not support the reload command. When reloading configurations that have been changed the order in which the components should be reloaded may be different from the start up order and may cause interruption of service because a prerequisite for the new configuration has not been met. All rc scripts are installed in $PREFIX/etc/rc.d and the main zarafa script
The zarafa-server component makes various checks on shutdown and may take several seconds or even minutes pending your store size. The value for rc_watchdog_timeout in /etc/rc.conf will need adjustment in most production environments. The default value for this setting is thirty seconds.
Zarafa-Dagent and Folders
As mentioned above, the Zarafa delivery agent can be used as an LTMP daemon and accept mail from a capable MTA. However, this mode is not capable of delivering mail to public (or private) folders. The zarafa-dagent itself is capable through the use of command line arguments. How to connect a mail alias to an invocation of a command, we will refer to the documentation of the MTA used. For the various delivery options that the agent supports when invoked as “mailbox command” see the zarafa-dagent(5) manual page. /* describe it's possible to use both, just to avoid mail and perhaps do give a postfix example */
Nginx/FastCGI
Have config, will paste. /* later */