From Older Versions#
This section guides you in the upgrade from a Carbonio CE version older than 24.12 to the latest available version, 25.6.0, which contains a number of technical and performance improvements, bug fixes, and security fixes.
Note
Upgrading from very old versions should work, but may require a lot of manual tasks to be carried out before, during, and after the procedure, and might become an extremely long and error-prone process.
Requirements and Limitations#
Before proceeding with the upgrade, please read carefully this whole section.
The following rules apply to any of the paths you decide to choose for the upgrade:
-
Since release 24.3.0, two major improvements have become available for Carbonio CE:
support for new Operating Systems (OS): Ubuntu 22.04 and RHEL 9
support for PostgreSQL 16. Carbonio CE no longer supports PostgreSQL 12, which must be upgraded to version 16 before upgrading Carbonio CE to 25.6.0. Check section Upgrade to PostgreSQL 16 for directions.
Since release 25.6.0, support for Ubuntu 24.04 has been added, while support for Ubuntu 20.04 has been dropped: Carbonio CE does no longer work on Ubuntu 20.04
You need to carry out the procedure on each Node, starting with the one featuring the Mesh and Directory
During the upgrade of Carbonio CE, you might need to carry out manual tasks, for example because you need to modify some configuration file or some error or warning is shown. Please refer to Section Known Issues (Older Releases) in Upgrade Troubleshooting for directions on how to tackle and fix them.
Warning
The 25.6.0 release of Carbonio CE dropped support for Ubuntu 20.04 LTS, which is EOL since May 2025.
We strongly recommend upgrading to Ubuntu 22.04 LTS or even Ubuntu 24.04 LTS to ensure continued compatibility and support. .
Checklist#
The following packages should be renamed or moved to different nodes during the upgrade procedure:
carbonio-user-management
carbonio-storages
carbonio-catalog
carbonio-message-broker
carbonio-message-dispatcher
Upgrade Carbonio CE#
As a preliminary task, we backup the LDAP data of the Directory Server. On a Multi-Server installation, execute the following commands on the Node with the Directory Server Component installed.
-
Make a dump of the LDAP Database, especially if the upgrade includes the Directory Server. This can be done using the command (as the
zextras
user)zextras$ /opt/zextras/libexec/zmslapcat /tmp
Note
The dump will be saved in the
/tmp/
directory, so make sure to copy it to a safe location. Make a backup copy of file
/opt/zextras/conf/localconfig.xml
and store it in a safe place-
It is necessary that all services, especially OpenLDAP, be running during the whole procedure
zextras$ zmcontrol status
zextras$ zmcontrol status
Hint
On RHEL 9, use the new systemd commands that replace the zmcontrol command (see the dedicated box).
If in the output some service appears as not running, start it.
If you are on a Multi-Server, remember to start from the Node featuring the Directory Server Component, then all the other Nodes in the same order of installation.
Clean cached package list, metadata, and information.
# apt clean
# dnf clean all
Update package list.
# apt update
# dnf check-update
The following packages needs to be moved from one Node to another or installed on the given Node.
carbonio-user-management
In release 25.3.0, this package must be installed as part of the
Mesh & Directory Component, instead of the Proxy Component. To
install it on the Mesh & Directory Node, execute as the root
user
# apt install carbonio-user-management
# dnf install carbonio-user-management
While the user management features works even if the package is installed with both Components, we suggest that you remove it from the Node featuring the Proxy Component:
# apt remove carbonio-user-management
# dnf remove carbonio-user-management
carbonio-catalog
On the Node featuring the Proxy Component, install package
carbonio-catalog
by executing command
# apt install carbonio-catalog
# dnf install carbonio-catalog
carbonio-message-broker
carbonio-message-broker
If you are upgrading from 24.9 versions or older, make sure
that the carbonio-message-broker
package is installed on
the Mesh and Directory Node.
This situation was previously required by the Chats Component, where it was installed, but now is used by the whole Carbonio CE.
In case you already installed Chats, remove the
carbonio-message-broker
from the Chats Node, then
install it on the Mesh & Directory Node.
If you never installed Chats, make sure you install this package on the Mesh & Directory Node.
To verify if the package is installed, execute the following command on the Chats (if installed) and the Mesh & Directory Node.
# dpkg -l carbonio-message-broker
The output should be (version may vary):
ii carbonio-message-broker 0.2.0-1jammy amd64 Carbonio message broker
# rpm -q carbonio-message-broker
The output should be (version may vary):
carbonio-message-broker-0.2.0-1.el8.x86_64
If the package is installed on the Chats Node (if you have it installed), remove it.
# apt remove carbonio-message-broker
# dnf remove carbonio-message-broker
If the package is not installed on the Mesh & Directory Node, install it manually:
# apt install carbonio-message-broker
# dnf install carbonio-message-broker
carbonio-message-dispatcher
On the Node installing the Chats Component, remove
package carbonio-message-dispatcher
and install
carbonio-message-dispatcher-ce
.
# apt remove carbonio-message-dispatcher
# apt install carbonio-message-dispatcher-ce
Update package list and install upgrades.
# apt upgrade
# dnf upgrade --best --allowerasing
After the latest packages have been installed, you can remove unused packages still installed on your system. If unsure, skip this step.
# apt autoremove
# dnf autoremove
# pending-setups -a
To complete the installation of the new
carbonio-message-dispatcher-ce
package, execute these
commands
# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration \
carbonio_adm 127.78.0.10 20000
Restart the service
# systemctl restart carbonio-message-dispatcher
Once the upgrade has completed successfully, run command:
# reboot
Other Upgrades#
If you want to upgrade PostgreSQL, but not the OS, you need to follow directions in Upgrade to PostgreSQL 16 before upgrading Carbonio CE
If you want to upgrade the OS, you must upgrade PostgreSQL as well, since PostgreSQL 12 is not supported in either Ubuntu 22.04 or RHEL 9. This is the most time-consuming resource, because you need to carry out multiple tasks. Please refer to Section OS Upgrade for directions.