Product SiteDocumentation Site

Chapter 4. Upgrading to ZCP 7.1

4.1. Config file changes
4.1.1. server.cfg
4.1.2. backup.cfg
4.1.3. indexer.cfg
4.1.4. search.cfg
4.1.5. licensed.cfg
4.1.6. dagent.cfg
4.1.7. spooler.cfg
4.1.8. gateway.cfg
4.1.9. ical.cfg
4.1.10. ldap.propmap.cfg
4.1.11. ldap.openldap.cfg
4.1.12. ldap.active-directory.cfg
As described in the previous chapter ZCP 7.1 contains no significant database architecture changes.
The database updates are done automatically by the Zarafa server process at start time when already running the general version 7 previous releases. When you upgrade from a 6.40 version please review the 7.0 release notes additionally to this one. Systems with a version prior to 6.40 are recommended to be upgraded first to the last 6.40 minor versions available (6.40.17).
Upgrading the Zarafa database will take a short time, please keep in mind that the Zarafa system can’t be used during this upgrade.
The upgrade process to ZCP 7.0 is a medium size update, please read carefully the upgrade chapter in the Administrator Manual before doing the upgrade.
Notes: When using CALDAV in order to open a shared calendar with 7.1.x you need view folder permissions on the root folder. People who upgrade from 7.0.x miss these permissions and they should be set.

Important

Especially note when replacing config files with the newer versions to review each of your former settings.

4.1. Config file changes

The following config files changes are done after the start of 7.0.0 and the final 7.1.0. Please review these lines for their values and presence in your current config file set as these also contain new advised defaults that work in relation to internal software.

4.1.1. server.cfg

# 7.0.3
The server.cfg is extended with two new configuration options.
max_deferred_records
The server has a list of deferred writes to the tproperties table, to improve overall I/O performance. The number of deferred writes is kept below this value; setting it high will allow writes to be more efficient by grouping more writes together, but may slow down reading, and setting it low will force writes to complete directly, but speed up reading of tables.
max_deferred_records_folder
Same as the max_deferred_records variable, but per folder instead of total.
# 7.0.4
The server.cfg is extended with new configuration options for the auto update logging and a new recommended defaults for attachment storage and cache parameters.
# Where to place attachments. Value can be 'database' or 'files'
attachment_storage      = files
# Sync lifetime, removes all changes remembered for a client after x days of inactivity
sync_lifetime           = 90
# Size in bytes of the 'cell' cache (should be set as high as you can afford to set it)
cache_cell_size                         = 268435456
# System is a special internal user, which has super-admin privileges
# You may want to disable this user from the Global Addressbook by setting
# this option to 'yes'. Administrators will still be able to see the user.
hide_system = yes
# Recieve update information from the client (0 = disabled, 1 = only on error, 2 = log always)
client_update_log_level = 1
# Log location for the client auto update files
client_update_log_path = /var/log/zarafa/autoupdate
# 7.0.6
The server.cfg was changed with ZCP-8518 to allow setting minimum length for prefix searches.
# Minimum length of a search term in characters to enable prefix searching
index_services_prefix_chars = 3
# 7.0.7
In ZCP 7.0.5 and 7.0.6 had an issue with the zarafa-licensed in large scale multi-server environments where the process could go out of file descriptors. To solve this issue a priority queue is introduced. The priority queue will handle incoming requests directly before other requests are handled.
For this option a new configuration option is introduced in the server.cfg.
server_pipe_priority    = /var/run/zarafa-prio
As this is a default setting, the priority socket is also available when the above setting is not available in the server.cfg.
# 7.1.0
# Enabling this option requires the zarafa-search service to
# be running.
search_enabled = yes
# SQL Procedures allow for some optimized queries when streaming with enhanced ICS.
# This is default disabled because you must set 'thread_stack = 256k' in your
# MySQL server config under the [mysqld] tag and restart your MySQL server.
enable_sql_procedures = no
# Path to the zarafa-search service, this option is only required
# if the server is going to make use of the indexing service.
search_socket = file:///var/run/zarafa-search
# Time (in seconds) to wait for a connection to the zarafa-search service
# before terminating the indexed search request.
search_timeout = 10
# Restrict the permissions that admins receive to folder permissions only. Please
# read the server.cfg manpage before enabling this option so you really understand
# the implications
restrict_admin_permissions = no
# The maximum level of attachment recursion; Defines the number of
# attachment-in-attachment in-attachment levels are allowed when saving and
# replicating objects in the database. If you really want a higher level of
# recursion than about 20, you probably have to increase MySQL's stack_size
# to allow replication to work properly.
embedded_attachment_limit = 20
# Header to detect whether a connection has been received through a proxy. The
# value of the header is not inspected. If the header exists then the connection
# is taken to be received via a proxy. An empty value disables proxy detection
# and the value of '*' is used to indicate that all connections are proxied
proxy_header =

4.1.2. backup.cfg

# Use multiple threads when backing up multiple stores.
threads = 1

4.1.3. indexer.cfg

# 7.0.4
The indexer.cfg has a new default entry.
# Should attachments be indexed
index_attachments       = no
# 7.1.0
The indexer config is depricated as of 7.1.0 and replaced by the new search.cfg file

4.1.4. search.cfg

A new file for 7.1.0 containing all previous general settings like the indexer.

4.1.5. licensed.cfg

# 7.0.7
The default location of the server_socket in the licensed.cfg is changed to use the priority socket.
server_socket = file:///var/run/zarafa-prio

Important

The setting in the licensed.cfg is not automatically changed during the upgrade to ZCP 7.0.7. For customers running in a multi-server or archiving setup it’s recommended to change manually the server_socket in the licensed.cfg.

4.1.6. dagent.cfg

# 7.0.1
# messages on delivery.
# This will do nothing if no archive is attached to the target mailbox.
archive_on_delivery = no
# 7.0.5
The dagent.cfg changed the log location and timestamp
#change log_file in dagent.cfg to full patch instead of -.
log_file = /var/log/zarafa/dagent.log
# Log timestamp - prefix each log line with timestamp in 'file' logging mode
log_timestamp   =       1
# 7.1.0
##############################################################
# DAGENT PLUGIN SETTINGS
# Enable the dagent plugin framework
plugin_enabled = yes
# Path to the dagent plugin manager
plugin_manager_path = /usr/share/zarafa-dagent/python
# Path to the activated dagent plugins.
#   This folder contains symlinks to the zarafa plugins and custom scripts. The plugins are
#   installed in '/usr/share/zarafa-dagent/python/plugins/'. To activate a plugin create a symbolic
#   link in the 'plugin_path' directory.
#
# Example:
#  $ ln -s /usr/share/zarafa-dagent/python/plugins/BMP2PNG.py /var/lib/zarafa/dagent/plugins/BMP2PNG.py
plugin_path = /var/lib/zarafa/dagent/plugins

4.1.7. spooler.cfg

# 7.0.1
##############################################################
# SPOOLER ARCHIVING SETTINGS
# Enable archive_on_send to automatically archive all outgoing
# messages.
# This will do nothing if no archive is attached to the source mailbox.
archive_on_send = no
# 7.0.3
The spooler.cfg is extended with the following option.
allow_send_to_everyone
Setting this option to no will disallow sending to the everyone group. The entire message will be bounced if this is attempted. When the option is set to yes, this allows sending to all users in the everyone group.
# 7.0.6
The spooler.cfg changed with ZCP-9481 to catch high chars in messages that have no charset defined.
# The us-ascii charset will be upgraded to this charset, to allow more
# use of high-characters. Not used when always_send_utf8 is enabled.
charset_upgrade = windows-1252
# 7.1.0
# Request SMTP Delivery Status Notifications if the MTA support it
enable_dsn = yes
# SPOOLER PLUGIN SETTINGS
# Enable the spooler plugin framework
plugin_enabled = yes
# Path to the spooler plugin manager
plugin_manager_path = /usr/share/zarafa-spooler/python
# Path to the activated spooler plugins.
#   This folder contains symlinks to the zarafa plugins and custom scripts. The plugins are
#   installed in '/usr/share/zarafa-spooler/python/plugins/'. To activate a plugin create a symbolic
#   link in the 'plugin_path' directory.
#
# Example:
#  $ ln -s /usr/share/zarafa-spooler/python/plugins/disclaimer.py /var/lib/zarafa/spooler/plugins/disclaimer.py
plugin_path = /var/lib/zarafa/spooler/plugins

4.1.8. gateway.cfg

# 7.0.3
The gateway.cfg is extended with the following option:
imap_store_rfc822
By setting this option to no, the imap gateway will not store the whole rfc822 message on the filesystem. This option can be used when migrating data using the zarafa-gateway, where the users won’t use IMAP/POP3 after the migration.

4.1.9. ical.cfg

# 7.0.3
The ical.cfg is extended with the following option:
enable_ical_get
This option enables the ical GET method to download an entire calendar. When set to yes, the GET method is enabled and allowed. If not, then calendars can only be retrieved with the CalDAV PROPFIND method, which is much more efficient. This option allows you to force the use of CalDAV which lowers load on your server.

4.1.10. ldap.propmap.cfg

# 7.0.4
The ldap.propmap.cfg has additional entries for the Archiver 1.2 functionality
# ldap relations to the archiver 1.2 functions for automatic archiver store mappings
# PR_EC_ARCHIVE_SERVERS
0x67C4101E      =       zarafaUserArchiveServers
# PR_EC_ARCHIVE_COUPLINGS
0x67C5101E      =       zarafaUserArchiveCouplings

4.1.11. ldap.openldap.cfg

# 7.0.4
The ldap.openldap.cfg has additional entries for the Archiver 1.2 functionality
# Users will have a private archive store on these names servers.
# Optional, default zarafaUserArchiveServers
ldap_user_archive_servers_attribute = zarafaUserArchiveServers
# Users will have a many-to-one archive on these store:folder pairs.
# The expected result is a list of <username>:<foldername> pairs, where each
# username will be used to resolve the store in which the folder named
# foldername will be used as the archive.
# Optional, default zarafaUserArchiveCouplings
ldap_user_archive_couplings_attribute = zarafaUserArchiveCouplings
# 7.0.6
The ldap.openldap.cfg was altered with ZCP-9554 to better suite an used default of the LDAP group members relation.
# LDAP: uid, matching users in ldap_loginname_attribute
ldap_groupmembers_relation_attribute = uid
The +ldap.active-directory.cfg / ldap.openldap.cfg+ was altered
# Default ADS MaxPageSize is 1000.
ldap_page_size = 1000
# 7.1
To support multiple LDAP servers, the ldap_uri option is added to the ldap.openldap.cfg.
ldap_uri

4.1.12. ldap.active-directory.cfg

# 7.0.4
The +ldap.active-directory.cfg has additional entries for the Archiver 1.2 functionality # Users will have a private archive store on these names servers. # Optional, default zarafaUserArchiveServers ldap_user_archive_servers_attribute = zarafaUserArchiveServers
# Users will have a many-to-one archive on these store:folder pairs.
# The expected result is a list of <username>:<foldername> pairs, where each
# username will be used to resolve the store in which the folder named
# foldername will be used as the archive.
# Optional, default zarafaUserArchiveCouplings
ldap_user_archive_couplings_attribute = zarafaUserArchiveCouplings
The +ldap.active-directory.cfg was altered
# Default ADS MaxPageSize is 1000.
ldap_page_size = 1000
# 7.1
To support multiple LDAP servers, the ldapuri option is added to the ldap.active-directory.cfg.
ldap_uri