### Run Mesh Setup Wizard and Pending Setups Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/single/extend/videoserver-node.rst Interactively configures the Mesh component using the 'service-discover setup-wizard' command, followed by applying pending setups with 'pending-setups -a'. These commands are essential for completing the Mesh installation and integration. ```console # service-discover setup-wizard # pending-setups -a ``` -------------------------------- ### Setup PostgreSQL Repository Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_installation/pg.rst Configures the APT package manager to use the PostgreSQL repository. This ensures that the latest PostgreSQL packages are available for installation. No specific inputs are required, and the output is the updated package list configuration. ```shell echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list ``` -------------------------------- ### Ansible Inventory File Example Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/ansible-install.rst This example shows a snippet of a typical Ansible inventory file for |product| installation. It defines hostnames for different components like PostgreSQL, master directory servers, and connector servers. You need to replace placeholder hostnames with your actual server FQDNs. ```ansible [postgresServers] srv1.example.com [masterDirectoryServers] srv1.example.com [dbsConnectorServers] srv1.example.com ``` -------------------------------- ### Install Zextras Suite Core and Zimlet (Bash) Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst This command initiates a full installation of the Zextras Suite, including both the Core components and Zimlets. It's the recommended command for a complete setup. ```bash ./install.sh all ``` -------------------------------- ### Launch service-discover Setup Wizard Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio-ce/admincli/mesh/mesh-cluster.rst Launches the setup wizard for the service discovery service. This command is typically run after installing the necessary packages and copying cluster credentials. ```console # service-discover setup-wizard ``` -------------------------------- ### Display Zextras Suite Install Script Help (Bash) Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst This command displays the help message for the Zextras Suite installation script, outlining available options and targets for installation or uninstallation. ```bash $ cd zextras_suite $ ./install.sh -h ``` -------------------------------- ### Ansible Inventory File Example Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/essential/ansible.rst An example of the Ansible inventory file required for the 'Essential' scenario. Users need to replace FQDN and other values according to their infrastructure. ```ini [carbonio] # Replace with your FQDN mail.example.com [all:vars] # Define your product version product_version=latest # Define your admin password admin_password=your_password # Define your license key license_key=your_license_key ``` -------------------------------- ### Example Auto Provisioning Log Entries Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_admincli/autoprovisioning.rst These are example log entries from the mailbox.log file demonstrating the auto-provisioning process. They show the start of the process, the number of external LDAP entries found, and the creation of a new account in EAGER mode. ```log 2024-06-26 15:59:13,386 INFO [AutoProvision] [] autoprov - Auto provisioning accounts on domain test.auth 2024-06-26 15:59:13,406 INFO [AutoProvision] [] autoprov - 3 external LDAP entries returned as search result 2024-06-26 15:59:13,406 INFO [AutoProvision] [] autoprov - auto creating account in EAGER mode: john@test.auth, dn="CN=paolo rossi,CN=Users,DC=zextraslab,DC=ad" ``` -------------------------------- ### Restart a Specific Product Service Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_installation/step-package-install.rst Restarts a specific product service, such as 'carbonio-prometheus-nginx-exporter.service'. This is useful if a service fails to start or becomes unresponsive. ```console # systemctl restart carbonio-prometheus-nginx-exporter.service ``` -------------------------------- ### Restart |product| Services Across Different Operating Systems Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/redundant/manual.rst Restarts all |product| services after successful package installation. This command varies depending on the operating system distribution. It ensures all components are running correctly after the setup. ```console zextras$ zmcontrol restart ``` ```console # systemctl restart carbonio-directory-server.target ``` -------------------------------- ### Access Service via SAML Direct Link Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/auth.rst This example shows how to construct a direct link to start the SAML authentication workflow for a |product| service. The 'redirectUrl' parameter specifies the component to access after successful authentication. ```plaintext https://mail.example.com/zx/auth/startSamlWorkflow?redirectUrl=https://mail.example.com/suite/mails ``` -------------------------------- ### Check Product Service Status Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_installation/step-package-install.rst Checks the status of all services starting with 'carbonio-*' on the system. This helps identify any services that are not running. ```console # systemctl status carbonio-* ``` -------------------------------- ### Ansible Inventory File Content Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/fullstandard/ansible.rst This is an example of the Ansible inventory file used for the 'Full Standard' scenario. Users need to download, edit, and save this file with their specific infrastructure details. ```ini [carbonio] # Example inventory content - replace with your actual values # mail.example.com ansible_host=192.168.1.100 # zextras_server ansible_host=192.168.1.101 # ... and so on for all 7 nodes ``` -------------------------------- ### Execute External Restore with Skip Domain Provisioning (Console) Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/admincli/backup/restorestrategies.rst This command initiates an external restore operation, specifically targeting individual accounts ('john' and 'alice') within the 'example.com' domain. The 'skip_domain_provisioning' parameter set to 'true' ensures that only account data and metadata are restored, excluding domain-level customizations. This is useful for migrating specific accounts without affecting the destination domain's configuration. ```console zextras$ carbonio backup doexternalrestore /opt/backup/zextras/ accounts john@example.com,alice@example.com domains example.com skip_domain_provisioning true ``` -------------------------------- ### Enable and Start Carbonio VideoServer Service Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_architecture/_components/component-vs-ce.rst Enables the Carbonio VideoServer service to start automatically on boot and then starts the service immediately. This is a crucial step after installation to ensure the video server is running. ```console # systemctl enable carbonio-videoserver.service # systemctl start carbonio-videoserver.service ``` -------------------------------- ### System Upgrade and Package Installation for |product| Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/redundant/manual.rst Updates the system and installs necessary packages for |product|. This includes upgrading existing packages and then installing specific components like Component Mesh and Component Directory Replica. Ensure repositories are correctly configured before running these commands. ```console # Commands for updating and upgrading the system and installing packages for |product| would be listed here, referencing included files like pkg-upgrade.rst, component-mesh.rst, and component-ds-replica.rst. ``` -------------------------------- ### Install service-discover-server Package (Ubuntu) Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio-ce/admincli/mesh/mesh-cluster.rst Installs the 'service-discover-server' package on Ubuntu systems. This is a prerequisite for setting up a |mesh| server. ```console # apt install service-discover-server ``` -------------------------------- ### Zextras Docs Server CLI (zdocs) Examples Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/docs.rst Provides practical examples of how to use the zdocs command-line tool for common administrative tasks. These examples demonstrate regenerating configuration, restarting services, testing LDAP connections with custom settings, and managing server entries in LDAP. ```bash #regenerate the config and restart the server if config changed zdocs --auto-restart generate-config #restart the service zdocs restart #check ldap connection availability using current settings zdocs ldap-test #check ldap connection using custom settings zdocs --ldap-url ldaps://ldap.example.com/ --ldap-dn 'uid=zimbra,cn=admins,cn=zimbra' --ldap-pass password ldap-test #change the ldap connection settings zdocs --ldap-url ldap://ldap2.example.com/ --ldap-dn 'uid=zimbra,cn=admins,cn=zimbra' --ldap-pass password lp-write-config #add the local server zdocs write-local-server #add the local server with a custom hostname in LDAP, this command should be already invoked during setup. zdocs --hostname myhostname write-local-server #remove the local server from LDAP, useful when destroying the server, you can also use 'zmprov deleteServer' from a mailbox server. zdocs remove-local-server ``` -------------------------------- ### Install Zextras Core Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst Installs the Zextras Suite Core component. Requires Zimbra services to be stopped before execution. The script will perform checks and install the necessary JAR file. Zimbra services must be restarted after installation to verify functionality. ```bash ./install.sh core ``` -------------------------------- ### Run Ansible Playbook for Single-Server Installation Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/single/ansible.rst Command to execute the Ansible playbook for installing the single-server Carbonio setup. It specifies the playbook file, the remote user, the inventory file, and extra variables for installation path. ```console $ ansible-playbook zxbot.carbonio_ssinstall.carbonio_ssinstall \ -u root -i carbonio-inventory-single \ --extra-vars "install_path=zxbot.carbonio_install.carbonio_install" ``` -------------------------------- ### Run Ansible Playbook for Single-Server Install Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/ansible-install.rst This command executes the Ansible playbook for a single-server |product| installation. It specifies the playbook file, connects as root, uses a custom inventory file, and passes an extra variable for the installation path. ```console $ ansible-playbook zxbot.carbonio_ssinstall.carbonio_ssinstall \ -u root -i carbonio-inventory \ --extra-vars "install_path=zxbot.carbonio_install.carbonio_install" ``` -------------------------------- ### Install Database Component Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_installation/pg.rst Installs the database component, which is a core part of the Zextras architecture. This command ensures that the necessary database software is present on the system. It has no direct inputs and its output is the installed database package. ```shell sudo apt install "zextras-db" ``` -------------------------------- ### Run Ansible Installation Playbook Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/fullstandard/ansible.rst Execute the Ansible playbook to install the Carbonio infrastructure. This command assumes the inventory file is named 'carbonio-inventory' and is located in the current directory. ```console $ ansible-playbook zxbot.carbonio_install.carbonio_install \ -u root -i carbonio-inventory ``` -------------------------------- ### Start Service Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/cli_commands/backup/carbonio_backup_doStartService.rst Starts a specified Carbonio Backup service. ```APIDOC ## POST /zextras/tech-doc/carbonio/backup/doStartService ### Description Starts a specified Carbonio Backup service. ### Method POST ### Endpoint /zextras/tech-doc/carbonio/backup/doStartService ### Parameters #### Path Parameters - **_service_name_** (String) - Required - The name of the service to start. ### Request Example ```json { "service_name": "backup_service" } ``` ### Response #### Success Response (200) - **status** (String) - Indicates the success of the operation. #### Response Example ```json { "status": "Service started successfully" } ``` ``` -------------------------------- ### Install Video Server Packages on Ubuntu and RHEL Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/single/extend/videoserver-node.rst Installs necessary packages for the Video Server Node, including 'service-discover-agent', 'carbonio-videoserver-advanced', and 'carbonio-videorecorder'. This command is executed after configuring repositories and upgrading the system. It is provided for Ubuntu 22.04, Ubuntu 24.04, RHEL 8, and RHEL 9. ```console # apt install service-discover-agent \ carbonio-videoserver-advanced carbonio-videorecorder ``` ```console # apt install service-discover-agent \ carbonio-videoserver-advanced carbonio-videorecorder ``` ```console # dnf install service-discover-agent \ carbonio-videoserver-advanced carbonio-videorecorder ``` ```console # dnf install service-discover-agent \ carbonio-videoserver-advanced carbonio-videorecorder ``` -------------------------------- ### Ansible Playbook Execution Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/fullsmall/ansible.rst Command to execute the Ansible playbook for installing Carbonio. This command requires the inventory file and specifies the playbook to run. ```console $ ansible-playbook zxbot.carbonio_install.carbonio_install \ -u root -i carbonio-inventory ``` -------------------------------- ### Clear Zimbra Cache Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst Clears the Zimbra cache, specifically the zimlet cache, after installing or uninstalling Zextras Suite. This command should be run as the 'zimbra' user. ```bash zmprov fc zimlet ``` -------------------------------- ### Start Zextras Services Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_admincli/hostname-ds.rst Executes a command to start all Zextras services. This is typically performed after configuration changes or system restarts. The specific command is included from an external file. ```console # /opt/zextras/bin/zmcontrol start ``` -------------------------------- ### Setup Service Discovery as First Instance Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_admincli/mesh/generatecredentials.rst This command sets up the service discovery as a leader node. It requires the IP address of the leader and the previously set password. This is used for the initial configuration of the mesh. ```console # service-discover setup LEADER_IP --first-instance --password=$MESH_SECRET ``` -------------------------------- ### Restart Product Services Across Distributions Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/fullsmall/manual.rst This snippet shows how to restart all product services. It provides commands for Ubuntu 22.04, Ubuntu 24.04, RHEL 8, and RHEL 9, catering to different system management tools like zmcontrol and systemctl. ```console zextras$ zmcontrol restart ``` ```console # systemctl restart carbonio-appserver.target ``` ```console zextras$ zmcontrol restart ``` ```console # systemctl restart carbonio-appserver.target ``` -------------------------------- ### Install Zextras Zimlet Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst Installs the Zextras Suite Zimlet. Requires Zimbra services to be running. The script will deploy the administrative zimlet matching Zimbra's version. This can be done while Zimbra services are running or by letting the script manage service startup. ```bash ./install.sh zimlet ``` -------------------------------- ### Install Service Discover Server on RHEL 8 Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_installation/step-package-install.rst Installs the 'service-discover-server' package on RHEL 8 using the dnf package manager. This is the first step in the RHEL installation process. ```console # dnf install service-discover-server ``` -------------------------------- ### Example: Get leak detection threshold from Consul KV Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/admincli/chats-advanced.rst This example demonstrates how to set the `CONSUL_TOKEN_PATH` environment variable and then retrieve the value of the `carbonio-ws-collaboration/hikari/leak-detection-threshold` key from the Consul KV store. ```console #export CONSUL_TOKEN_PATH=/etc/carbonio/ws-collaboration/service-discover/token #consul kv get -token-file="$CONSUL_TOKEN_PATH" "carbonio-ws-collaboration/hikari/leak-detection-threshold" ``` -------------------------------- ### Unpack and List Zextras Suite Package (Bash) Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/installation.rst This snippet shows how to unpack the Zextras Suite tarball and list its contents. It's a prerequisite step before running the installation script. ```bash $ tar xfz zextras_suite-latest.tgz $ ls zextras_suite-latest.tgz zextras_suite/ ``` -------------------------------- ### Example carbonio-avdb-updater log output Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_admincli/clamav-updater.rst Example log output from the carbonio-avdb-updater service, showing the start and successful completion of the signature update process. This includes download progress for various signature files. ```log Oct 18 09:28:25 srv2.example.com systemd[1]: Started Carbonio anti-virus updater .. Oct 18 09:28:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:28.028 [AVDB Scheduler_Worker-1] INFO com.zextras.avdb.jobs.AvdbJob - ********************* S T A R T I N G ******************** Oct 18 09:28:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:28.039 [pool-1-thread-1] INFO c.z.a.client.networking.Downloader - download starting : /md5list.txt Oct 18 09:28:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:28.343 [pool-1-thread-1] INFO c.z.a.client.networking.Downloader - download finished : /md5list.txt Oct 18 09:28:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:28.361 [ForkJoinPool.commonPool-worker-2] INFO c.z.a.client.networking.Downloader - download starting : /securiteinfopdf.hdb Oct 18 09:28:29 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:29.594 [ForkJoinPool.commonPool-worker-2] INFO c.z.a.client.networking.Downloader - download finished : /securiteinfopdf.hdb .. Oct 18 09:28:44 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:44.383 [pool-2-thread-1] INFO c.z.a.client.networking.Downloader - download finished : /javascript.ndb Oct 18 09:28:51 srv2.example.com carbonio-avdb-updater[2628063]: 09:28:51.582 [AVDB Scheduler_Worker-1] INFO c.z.a.c.processing.ProcessExecutor - Added entry [/opt/zextras/bin/zmprov mcf +carbonioClamAVDat> .. Oct 18 09:29:48 srv2.example.com carbonio-avdb-updater[2628063]: 09:29:48.930 [AVDB Scheduler_Worker-1] INFO com.zextras.avdb.jobs.AvdbJob - ********************* F I N I S H E D ******************** ``` -------------------------------- ### Bootstrap Carbonio with CLI Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/architecture/components/component-preview.rst Launches the Carbonio bootstrap process using the command-line interface. Requires providing LDAP master host and admin password, which can be retrieved from the initial Mesh & Directory node. ```console # carbonio-bootstrap ``` -------------------------------- ### Example carbonio-avdb-updater log output (no update) Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_admincli/clamav-updater.rst Example log output from the carbonio-avdb-updater service when no new signatures are available for download. The 'STARTING' and 'FINISHED' messages are still present, indicating the process ran but no updates were applied. ```log Oct 18 09:34:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:34:28.017 [AVDB Scheduler_Worker-1] INFO com.zextras.avdb.jobs.AvdbJob - ********************* S T A R T I N G ******************** Oct 18 09:34:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:34:28.019 [pool-21-thread-1] INFO c.z.a.client.networking.Downloader - download starting : /md5list.txt Oct 18 09:34:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:34:28.035 [pool-21-thread-1] INFO c.z.a.client.networking.Downloader - download finished : /md5list.txt Oct 18 09:34:28 srv2.example.com carbonio-avdb-updater[2628063]: 09:34:28.039 [AVDB Scheduler_Worker-1] INFO com.zextras.avdb.jobs.AvdbJob - ********************* F I N I S H E D ******************** ``` -------------------------------- ### Run Ansible Playbook for Multi-Server Install Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/install/scenarios/ansible-install.rst This command runs the Ansible playbook for installing |product| in scenarios other than single-server. It requires specifying the main playbook file, connecting as root, and providing the inventory file. ```console $ ansible-playbook zxbot.carbonio_install.carbonio_install \ -u root -i carbonio-inventory ``` -------------------------------- ### Get LDAP Configuration for Docs Server Setup Source: https://github.com/zextras/tech-doc/blob/devel/source/suite/docs.rst This command retrieves necessary LDAP details from a mailbox server for the initial Docs Server setup. It requires execution as the 'zimbra' user and outputs connection parameters like URL, username, and password. ```bash zimbra@mbx1:~$ zmlocalconfig -s ldap_master_url zimbra_ldap_user zimbra_ldap_userdn zimbra_ldap_password ``` -------------------------------- ### POST /zextras/tech-doc/carbonio/core/doCreateBucket Source: https://github.com/zextras/tech-doc/blob/devel/source/carbonio/cli_commands/core/carbonio_doCreateBucket_minio.rst Creates a new bucket in MinIO with the provided configuration details. This endpoint allows for specifying bucket name, access credentials, service URL, and various optional configurations. ```APIDOC ## POST /zextras/tech-doc/carbonio/core/doCreateBucket ### Description Creates a new bucket in MinIO with the provided configuration details. This endpoint allows for specifying bucket name, access credentials, service URL, and various optional configurations. ### Method POST ### Endpoint /zextras/tech-doc/carbonio/core/doCreateBucket ### Parameters #### Query Parameters - **bucket_name** (String) - Required - The name of the bucket to be created. - **access_key** (String) - Required - The username for accessing the MinIO service. - **secret** (String) - Required - The password for accessing the MinIO service. - **url** (String) - Required - The URL of the S3 API compatible service. - **label** (String) - Required - A description for the bucket configuration. - **prefix** (String) - Optional - A prefix to be added to blob keys. - **notes** (String) - Optional - Additional details for the bucket configuration. - **signature_version** (String) - Optional - The signature version to use (V2 or V4). Defaults to 'v4'. ### Request Example ```json { "bucket_name": "my-new-bucket", "access_key": "minioadmin", "secret": "minioadmin", "url": "http://localhost:9000", "label": "My test bucket", "prefix": "data/", "notes": "This is a bucket for testing purposes.", "signature_version": "v4" } ``` ### Response #### Success Response (200) - **message** (String) - A confirmation message indicating the bucket was created successfully. #### Response Example ```json { "message": "Bucket 'my-new-bucket' created successfully." } ``` ``` -------------------------------- ### Enable and Start Automatic Certificate Renewal Timer Source: https://github.com/zextras/tech-doc/blob/devel/source/_includes/_adminpanel/le-renew.rst These commands enable the 'carbonio-certbot.timer' to start on boot and immediately activate it. This ensures that certificate renewals are handled automatically by the systemd timer service. This should be run as the 'root' user. ```bash # systemctl enable --now carbonio-certbot.timer ```