Upgrading to 6.40
From Zarafa wiki
With the 6.40 release of the Zarafa Collaboration Platform a lot of new features are available, some of these features need to be setup properly for them to work. The most important new features are:
- addition of a Lucene based indexer
- new threading model for performance improvements and less open sockets
- deleted stores are orphaned (not moved to the Public folder), since 6.30.7
- offline data streaming, for faster offline syncing
- complete rewrite of user plugins
- support for contacts in the GAB (ldap only)
- possibility to hide users, groups and contacts from GAB (ldap only)
- support for dynamic groups (ldap only)
- support for email aliases (ldap only)
- More user details available in GAB (ldap only)
- New options for resource scheduling
- a Today View
- Advanced Find
- better Calendar interface
- many new features in the address book
- Zarafa delegates configuration wizard
- keyboard shortcuts
We also changed the behaviour in some cases, most notably:
- the 'sendas' property, which is switched to support groups
Important: When upgrading from an older 6.20 directly to 6.40, you'll first need to upgrade the 6.20 install to the latest 6.20 version. When using Zarafa in cached mode, make sure you do not connect a 6.20 client to a 6.40 database, this is bad for the offline database.
First make sure you BACK UP ALL DATA (the data contained in MySQL and your config files). Quite some LDAP parameters have changed. If the Zarafa Storage Server sees no users, it thinks those users have been removed and then 'removes' the stores of those users. Removed stores are simply "orphaned" so nothing will be deleted, but it is not easy to revert that operation.
To prevent users deletion or creation, the safe mode can be used before starting the Zarafa services. Add the following option to the /etc/zarafa/server.cfg before upgrading Zarafa to 6.40.
user_safe_mode = yes
Check the log-files (After the upgrade) for errors after Zarafa has started. Check deeply for errors and for possible user/group deletions. If no errors appear in the log-files, disable this option and restart the Zarafa services.
Note: If safe mode is enabled, it is possible that users don’t have access to public folder. Please disable safe mode if this is the case.
Note: user_safe_mode is a 6.40 option. Zarafa 6.30 will not start with this option, so only add this option just before you start the upgrade.
For most people, upgrading is as easy as upgrading the packages. But before you restart the services you should manually update your configuration files and optionally make some changes to your LDAP (or Active Directory) server. Debian packages will automatically restart services. Some services will not correctly restart because of configuration options that change. You might see errors on your screen, but this is normal, and not destructive. All your data will still be present.
The config files have changed quite a bit. Use the diff command to find the differences between your version of the config file and the version shipped with ZCP in /usr/share/doc/zarafa/example-config. Most important are the server.cfg and ldap.cfg (in case you use LDAP or Active Directory) files.
Check /etc/zarafa/ldap.openldap.cfg or /etc/zarafa/ldap.active-directory.cfg and make the following changes: (ADD = new, MOD = should change, DEL = should remove, (!) = mandatory)
- ADD: ldap_search_base (!)
- ADD: ldap_object_type_attribute
- ADD: ldap_user_type_attribute_value
- ADD: ldap_group_type_attribute_value
- ADD: ldap_contact_type_attribute_value
- ADD: ldap_company_type_attribute_value
- ADD: ldap_addresslist_type_attribute_value
- ADD: ldap_dynamicgroup_type_attribute_value
- ADD: ldap_server_type_attribute_value
- MOD: ldap_nonactive_attribute
- MOD: ldap_user_search_filter
- MOD: ldap_group_search_filter
- MOD: ldap_company_search_filter
- MOD: ldap_server_search_filter
- MOD: ldap_addresslist_search_filter
- DEL: ldap_user_scope
- DEL: ldap_group_scope
- DEL: ldap_company_scope
- DEL: ldap_server_scope
- DEL: ldap_addresslist_scope
- DEL: ldap_user_search_base
- DEL: ldap_group_search_base
- DEL: ldap_company_search_base
- DEL: ldap_server_search_base
- DEL: ldap_addresslist_search_base
It might be a good approach to fill in everything in the new ldap.cfg file to get an optimal configuration for future upgrades too.
Run ldap-switch-sendas.pl from /usr/share/doc/zarafa/ (or [get it from our forums]) to upgrade 'send as' settings in LDAP from 6.x to 6.40.
ADS / OpenLDAP
When using LDAP or Active Directory (ADS), set applicable shared stores to 'room' or 'equipment' resource types to extend the addressbook. (for ADS a new plugin is required, for LDAP there is a new zarafa.schema file required)
When finished the migration, and BEFORE going live... TEST:
- Check if all users are there
- Check if all groups are there
- Check if companies are correct (if running multi company)
- Check if multi-server is working correctly (if running a multi server setup)
- Check if group memberships are correct
- Check if send-as permissions are correct
- Check if contacts are there
- Check if addresslists are working
- Check if dynamic-groups are working
Is user-safe mode is on, please turn it off after every test passed and/or the log-files do not show errors while starting the Zarafa services.
user_safe_mode = no
If you list the users with "zarafa-admin -l" and you get an "Object not found" error, then please do an ldapsearch on the commandline with the ldap_search_base as search base. Most likely you will get an error "Size limit exceeded" with the ldapsearch.
If you are using ADS and the ldapsearch returns a "Size limit exeeded", please increase the "MaxPageSize" policy. This value is the maximum number of results that ADS is allowed to return to a LDAP query.
Read the following document if you need to know how to increase the "MaxPageSize" policy: http://support.microsoft.com/kb/315071
The newer versions of Webmail require a higher PHP memory_limit setting, this might lead to unexpected situations after the upgrade. If you are experiencing problems with the Webmail please check this value and raise this to at least 64M or even higher for very big accounts. After adjusting this value must restart Apache.