Advanced Administration Tasks#

In this section we describe and outline a few advanced tasks, providing quick directions to carry them out.

Pending-setups#

This section describes the functionalities provided by pending-setups in Carbonio CE and explains when it is necessary to run or re-run it for its proper functioning.

Overview#

In a nutshell, pending-setups in Carbonio CE manages post-installation and configuration tasks that are required to finalise Carbonio CE's setup and to ensure that the services run correctly.

pending-setups is a wrapper around a collection of scripts, provided by other packages and placed in the /etc/zextras/pending-setups.d/ directory.

When invoked, pending-setups carries out these task:

  • Set up of authentication and security policies using service-discover

  • Securely store and manage credentials

  • Configure services to ensures all Carbonio CE components (e.g., Mail, Authentication, Video Server) are properly configured

  • Reload services to apply changes

When a script is successfully executed, it is moved to the /etc/zextras/pending-setups.d/done directory.

Running pending-setups#

Hint

All commands shown in this section must be executed as the root user.

Before executing the command, make sure that you retrieve the cluster credential password, which is stored in file /var/lib/service-discover/password.

pending-setups can be invoked with the -a option: in this case, it simply reads all the scripts in the /etc/zextras/pending-setups.d/ directory and executes them, with the output showing the tasks it carries out.

Invoked with no options, it enters an interactive mode, showing a menu similar to:

You have 6 pending setups to run
0) carbonio-catalog.sh
1) carbonio-tasks.sh
2) carbonio-user-management.sh
3) carbonio-tasks-db-setup.sh
4) carbonio-files.sh
5) carbonio-files-db-setup.sh

a) execute all
q) quit

Please input your selection:
>

The initial list shows all the scripts that must be executed: enter the number corresponding to the script to launch it or chose either a to execute them all, or q to exit. In the latter case, however, it will not be possible to use Carbonio CE successfully, as it would miss a number of configurations.

If all scripts have been executed, the command will output:

There are no pending-setups to run. Exiting!

Why Running pending-setups Again#

There are a number of situations when you need to run pending-setups again. In some of the following cases, the script might have not been executed successfully, but nonetheless they are moved under the /etc/zextras/pending-setups.d/done, so simply invoking pending-setups again will not suffice.

After a failed setup or partial installation

If the initial pending-setups process fails or gets interrupted (e.g., due to a system crash, missing dependencies, or misconfigured services)

After manually fixing a configuration issue

If you manually adjust configuration files, services, or permissions

After upgrading Carbonio CE

If an update doesn’t fully apply

After restoring from a backup or migrating to a new server

If you restore a Carbonio CE system from a backup or migrate it to a new server, some configurations might need to be re-applied to match the new environment

When adding a new Carbonio CE Role

If you install a new Carbonio CE Role (e.g., Files, Chats), running pending-setups ensures that the new component is properly integrated into the system

Debugging and troubleshooting

If a service is misbehaving or showing unexpected errors, re-running pending-setups can sometimes reapply missing configurations and fix the issue

How to Run pending-setups Again#

There are two options to execute a failed script.

Option 1: Move the Script Back and Re-run pending-setups

The first one proves useful if you realise that multiple script have failed, or believe they have failed. In this case, the procedure is:

  1. Copy the script from /etc/zextras/pending-setups.d/done back to the main directory

    # cp /etc/zextras/pending-setups.d/done/<script-name>.sh \
    /etc/zextras/pending-setups.d/
    

    Replace <script-name>.sh with the actual script name.

  2. Run the command

    # pending-setups -a
    
  3. The script will be executed again as part of the pending setups process, like described in Section Running pending-setups above

Option 2: Manually Execute the Script

If you have only one script to execute, youcan run the script manually.

  1. Navigate to the /etc/zextras/pending-setups.d/done directory

# cd /etc/zextras/pending-setups.d/done
  1. Execute the script directly. For example, to execute carbonio-videoserver.sh

# bash carbonio-videoserver.sh
  1. The script will immediately be executed