Single-Server Manual Installation#
The manual installation is organised in steps and requires to execute commands from the command line, so make sure you have access to it.
Please note that you may skip some steps, if you plan to install only the Core Node, namely the DB components of WSC and their corresponding Database bootstraps.
When the installation process has successfully finished, you can access Carbonio's GUI using a browser, see Section Access to the Web Interface.
Step 1: Configuration of Repositories#
The installation procedure start with the configuration of the repositories.
Carbonio
In order to configure Carbonio’s repository, you need to add one file with the necessary information.
It you install Carbonio on Ubuntu, you also need to import the GPG key used for signing the packages and verify them.
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu focal main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel8
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel9
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
This step is required only on Ubuntu systems (Ubuntu 20.04 and Ubuntu 22.04).
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
This step is not needed.
This step is not needed.
PostgreSQL and other (RHEL only)
# sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# wget -O- "https://www.postgresql.org/media/keys/ACCC4CF8.asc" | \
gpg --dearmor | sudo tee /usr/share/keyrings/postgres.gpg > \
/dev/null
# chmod 644 /usr/share/keyrings/postgres.gpg
# sed -i 's/deb/deb [signed-by=\/usr\/share\/keyrings\/postgres.gpg] /' /etc/apt/sources.list.d/pgdg.list
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
Step 2: Setting Hostname#
Carbonio needs a valid FQDN as hostname and a valid entry in the
/etc/hosts
file. Therefore, it is necessary to take care of
properly configuring the /etc/hosts
file, otherwise the services
will not be able to bind to the correct address, leading to a
disruption in Carbonio's functionality.
To configure the file and the hostname, execute these two commands.
Note
Replace the values srv1.example.com
and 172.16.0.10
with values suitable for your setup.
First, set the hostname
# hostnamectl set-hostname srv1.example.com
then replace the content of the /etc/hosts
file with IP and
hostname.
# echo -e "127.0.0.1 localhost\n172.16.0.10 srv1.example.com srv1" > /etc/hosts
You can also simply get the current IP and hostname and save it in the
file /etc/hosts/
:
# echo "$(hostname -I) $(hostname -f)"
Step 3: System Upgrade and Package Installation#
After configuring the repositories, the installation of Carbonio requires to run a few commands.
We start by updating and upgrading the system.
# apt update && apt upgrade
# apt update && apt upgrade
# dnf upgrade
# dnf upgrade
Next, we install all packages needed for Carbonio.
# apt install service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-mta \
carbonio-advanced carbonio-zal carbonio-user-management \
carbonio-storages carbonio-message-broker carbonio-files \
carbonio-preview carbonio-catalog carbonio-webui \
carbonio-files-public-folder-ui \
carbonio-ws-collaboration-ui carbonio-files-ui \
carbonio-mailbox-db carbonio-files-db postgresql-16
# apt install service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-mta \
carbonio-advanced carbonio-zal carbonio-user-management \
carbonio-storages carbonio-message-broker carbonio-files \
carbonio-preview carbonio-catalog carbonio-webui \
carbonio-files-public-folder-ui \
carbonio-ws-collaboration-ui carbonio-files-ui \
carbonio-mailbox-db carbonio-files-db postgresql-16
The installation on RHEL is divided in few steps: install the Carbonio Mesh service
# dnf install service-discover-server
Disable PostgreSQL 12
# dnf -qy module disable postgresql
Install all other packages
# dnf install service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-mta \
carbonio-advanced carbonio-zal carbonio-user-management \
carbonio-storages carbonio-message-broker carbonio-files \
carbonio-preview carbonio-catalog carbonio-webui \
carbonio-files-public-folder-ui \
carbonio-ws-collaboration-ui carbonio-files-ui \
carbonio-mailbox-db carbonio-files-db postgresql-16
The installation on RHEL is divided in few steps: install the Carbonio Mesh service
# dnf install service-discover-server
Disable PostgreSQL 12
# dnf -qy module disable postgresql
Install all other packages
# dnf install service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-mta \
carbonio-advanced carbonio-zal carbonio-user-management \
carbonio-storages carbonio-message-broker carbonio-files \
carbonio-preview carbonio-catalog carbonio-webui \
carbonio-files-public-folder-ui \
carbonio-ws-collaboration-ui carbonio-files-ui \
carbonio-mailbox-db carbonio-files-db postgresql-16
If you plan to install also the Collaboration Node, install the following packages
# apt install carbonio-ws-collaboration-db \
carbonio-message-dispatcher-db \
carbonio-docs-connector-db carbonio-tasks-db
# apt install carbonio-ws-collaboration-db \
carbonio-message-dispatcher-db \
carbonio-docs-connector-db carbonio-tasks-db
# dnf install carbonio-ws-collaboration-db \
carbonio-message-dispatcher-db \
carbonio-docs-connector-db carbonio-tasks-db
# dnf install carbonio-ws-collaboration-db \
carbonio-message-dispatcher-db \
carbonio-docs-connector-db carbonio-tasks-db
Step 4: Configure PostgreSQL#
Carbonio relies on a number of databases to store and keep track of all the objects it needs to manage. The main database can be configured in few steps.
Note
If you are running Carbonio on RHEL 8, make sure you installed and configured PostgreSQL 16 according to the instruction in section Preliminaries.
We start by defining a robust password for PostgreSQL’s administrative user.
# read -s -p "Insert Password:" DB_ADM_PWD
When prompted, enter a password of your choice: it will be stored
in a variable denoted $DB_ADM_PWD
that can be used throughout the
whole procedure. It is important to notice that the password is
accessible to the user (root
) in the current terminal only. No
one else can access it and it will be deleted upon logging out.
# su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\""
Remember to replace the password with a robust password of your choice and store it in a safe place (preferably using a password manager), as you need it in the remainder of the procedure, and you also might need them in the future. This password will be denoted as DB_ADM_PWD.
The second step is to create the database.
# su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
Step 5: Bootstrap Carbonio#
Use the following command to configure and launch Carbonio.
# carbonio-bootstrap
Before finalising the bootstrap, press y to apply the configuration. The process will continue until its completion: click Enter to continue.
What does carbonio-bootstrap
do?
This command makes a few checks and then starts the installation, during which a few messages are shown, including the name of the log file that will store all messages produced during the process:
Operations logged to /tmp/zmsetup.20211014-154807.log
In case the connection is lost during the installation, it is
possible to log in again and check the content of that file
for information about the status of the installation. If the
file does not exist anymore, the installation has already
been completed and in that case the log file can be found in
directory /opt/zextras/log
.
The first part of the bootstrap enables all necessary services and creates a new administrator account (zextras@mail.example.com), initially without password (see below for instruction to set it).
The next steps concern the configuration and setup of the various Carbonio components.
Step 6: Setup Carbonio Mesh#
Carbonio Mesh is required to allow communication between Carbonio and its components. The configuration is interactively generated by command
# service-discover setup-wizard
This command will:
ask for the IP address and netmask
-
ask for the Carbonio Mesh secret, which is used for setups, management, and to access the administration GUI. See section Carbonio Mesh Administration Interface for more information.
Hint
We suggest to use a robust password which is at least 16 characters long, including at least one of lowercase and uppercase letters, numbers, special characters and store it in a password manager.
In case the password is lost or the credential file becomes corrupted and unusable, you can reset them using the procedure detailed in section Carbonio Mesh Credentials.
store the setup in file
/etc/zextras/service-discover/cluster-credentials.tar.gpg
To complete Carbonio Mesh installation, run
# pending-setups -a
Hint
The secret is stored in file
/var/lib/service-discover/password
, which is accessible
only by the root
user.
The command will ask for the password stored in the
/var/lib/service-discover/password
on the Directory Leader
Node (i.e., the node on which the Mesh server is installed).
Step 7: Databases Bootstrap#
Now you have to bootstrap some DBs with the password set in the Preliminary Tasks
# PGPASSWORD=$DB_ADM_PWD carbonio-mailbox-db-bootstrap carbonio_adm 127.0.0.1
# PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
If you plan to install also the Collaboration Node, you need to bootstrap also the following databases
# PGPASSWORD=$DB_ADM_PWD carbonio-docs-connector-db-bootstrap carbonio_adm 127.0.0.1
# PGPASSWORD=$DB_ADM_PWD carbonio-tasks-db-bootstrap carbonio_adm 127.0.0.1
# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-db-bootstrap carbonio_adm 127.0.0.1
# PGPASSWORD=$DB_ADM_PWD carbonio-ws-collaboration-db-bootstrap carbonio_adm 127.0.0.1
Step 8: Complete Installation#
After the successful package installation, restart all Carbonio services by using
zextras$ zmcontrol restart
After the successful package installation, restart all Carbonio services by using
zextras$ zmcontrol restart
After the successful package installation, restart all Carbonio services by using
zextras$ zmcontrol restart
After the successful package installation, restart all Carbonio services by using
# systemctl restart carbonio-directory-server.target
# systemctl restart carbonio-appserver.target
# systemctl restart carbonio-mta.target
# systemctl restart carbonio-proxy.target
If you chose to install only the core services, installation has completed. Otherwise, if you plan to use collaboration features, please read next Section Step 9: Data Required for Additional Nodes before proceeding to the installation of the other Nodes.
Check Services Status#
The quickest way to check the status of services is by issuing the following command and verify that in the output they are appear as Active or Running.
zextras$ zmcontrol status
zextras$ zmcontrol status
zextras$ zmcontrol status
zextras$ zmcontrol status
In case some of the services is not running, please refer to Section CLI Commands (if you are running Ubuntu or RHEL 8) or to the dedicated RHEL 9 box.
Step 9: Data Required for Additional Nodes#
The following data from this Node will be needed during the installation of the Collaboration and Video Server Nodes.
-
The Node hostname
# hostname -f
-
The LDAP password for bootstrapping Carbonio
# su - zextras -c "zmlocalconfig -s ldap_root_password"
-
the PostgreSQL password (
DB_ADM_PWD
) of usercarbonio_adm
, needed to bootstrap the databases# echo $DB_ADM_PWD
-
the Carbonio Mesh secret, that you can retrieve with command
# cat /var/lib/service-discover/password
Collaboration Node#
This section contains directions to set up the additional Collaboration Node. Most of the steps are the same as in the Core Node. Click on the drop-downs to expand them.
Step 1: Configuration of Repositories
Carbonio
In order to configure Carbonio’s repository, you need to add one file with the necessary information.
It you install Carbonio on Ubuntu, you also need to import the GPG key used for signing the packages and verify them.
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu focal main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel8
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel9
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
This step is required only on Ubuntu systems (Ubuntu 20.04 and Ubuntu 22.04).
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
This step is not needed.
This step is not needed.
RHEL Only
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
Step 2: Setting Hostname
Carbonio needs a valid FQDN as hostname and a valid entry in the
/etc/hosts
file. Therefore, it is necessary to take care of
properly configuring the /etc/hosts
file, otherwise the services
will not be able to bind to the correct address, leading to a
disruption in Carbonio's functionality.
To configure the file and the hostname, execute these two commands.
Note
Replace the values srv1.example.com
and 172.16.0.10
with values suitable for your setup.
First, set the hostname
# hostnamectl set-hostname srv1.example.com
then replace the content of the /etc/hosts
file with IP and
hostname.
# echo -e "127.0.0.1 localhost\n172.16.0.10 srv1.example.com srv1" > /etc/hosts
You can also simply get the current IP and hostname and save it in the
file /etc/hosts/
:
# echo "$(hostname -I) $(hostname -f)"
Step 3: System Upgrade and Package Installation
After configuring the repositories, the installation of Carbonio requires to run a few commands.
We start by updating and upgrading the system.
# apt update && apt upgrade
# apt update && apt upgrade
# dnf upgrade
# dnf upgrade
Next, we install all packages needed for Carbonio.
# apt install carbonio-message-dispatcher \
carbonio-ws-collaboration \
carbonio-push-connector service-discover-agent \
carbonio-tasks carbonio-docs-editor \
carbonio-docs-connector postgresql-client
# apt install carbonio-message-dispatcher \
carbonio-ws-collaboration \
carbonio-push-connector service-discover-agent \
carbonio-tasks carbonio-docs-editor \
carbonio-docs-connector postgresql-client
# dnf install carbonio-message-dispatcher \
carbonio-ws-collaboration \
carbonio-push-connector service-discover-agent \
carbonio-tasks carbonio-docs-editor \
carbonio-docs-connector postgresql16
# dnf install carbonio-message-dispatcher \
carbonio-ws-collaboration \
carbonio-push-connector service-discover-agent \
carbonio-tasks carbonio-docs-editor \
carbonio-docs-connector postgresql16
Step 4: Bootstrap Carbonio
To carry out this step, you need the LDAP password and the Node hostname that you have retrieved at Step 9 of the Core Node (see Step 9: Data Required for Additional Nodes).
Use the following command to configure and launch Carbonio.
# carbonio-bootstrap
Before finalising the bootstrap, press y to apply the configuration. The process will continue until its completion: click Enter to continue.
What does carbonio-bootstrap
do?
This command makes a few checks and then starts the installation, during which a few messages are shown, including the name of the log file that will store all messages produced during the process:
Operations logged to /tmp/zmsetup.20211014-154807.log
In case the connection is lost during the installation, it is
possible to log in again and check the content of that file
for information about the status of the installation. If the
file does not exist anymore, the installation has already
been completed and in that case the log file can be found in
directory /opt/zextras/log
.
The first part of the bootstrap enables all necessary services and creates a new administrator account (zextras@mail.example.com), initially without password (see below for instruction to set it).
Step 5: Setup Carbonio Mesh
To carry out this step, you need the Carbonio Mesh secret generated during the installation of the Core Node (see the Step 9: Data Required for Additional Nodes Step).
The Carbonio Mesh configuration is interactively generated by command
# service-discover setup-wizard
To complete Carbonio Mesh installation, run
# pending-setups -a
Step 6: Configure Work Stream Collaboration (Chats)
Initialise the message dispatcher
To carry out this step, you need the PostgreSQL bootstrap password that you defined during the installation of the Core Node (see in Step Step 9: Data Required for Additional Nodes how to retrieve it).
# read -s -p "Insert Password:" DB_ADM_PWD
Now, run command
# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration \
carbonio_adm 127.78.0.10 20000
Restart the service
# systemctl restart carbonio-message-dispatcher
Enable Work Stream Collaboration (Chats)
Work Stream Collaboration (Chats) can be enabled from the Carbonio Admin Panel at account or COS level: please refer to Sections Account / Configuration and Features, respectively.
Hint
If the Work Stream Collaboration (Chats) installation is successful, you can optimise some values according to the guidelines that you can find in section WSC Optimisations.
Status Check
The following command will output a detailed status of Work Stream Collaboration (Chats) and of all its dependencies.
# curl -v http://127.78.0.4:10000/health | jq
Video Server Node#
This section contains directions to set up the additional Video Server Node. Most of the steps are the same as in the Core and Collaboration Nodes. Click on the drop-downs to expand them.
Step 1: Configuration of Repositories
Carbonio
In order to configure Carbonio’s repository, you need to add one file with the necessary information.
It you install Carbonio on Ubuntu, you also need to import the GPG key used for signing the packages and verify them.
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu focal main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel8
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel9
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
This step is required only on Ubuntu systems (Ubuntu 20.04 and Ubuntu 22.04).
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
This step is not needed.
This step is not needed.
RHEL Only
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
You need to add the PostgreSQL and EPEL repositories and enable the BaseOS, Appstream, and CodeReady repositories.
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
# subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
Step 2: Setting Hostname
Carbonio needs a valid FQDN as hostname and a valid entry in the
/etc/hosts
file. Therefore, it is necessary to take care of
properly configuring the /etc/hosts
file, otherwise the services
will not be able to bind to the correct address, leading to a
disruption in Carbonio's functionality.
To configure the file and the hostname, execute these two commands.
Note
Replace the values srv1.example.com
and 172.16.0.10
with values suitable for your setup.
First, set the hostname
# hostnamectl set-hostname srv1.example.com
then replace the content of the /etc/hosts
file with IP and
hostname.
# echo -e "127.0.0.1 localhost\n172.16.0.10 srv1.example.com srv1" > /etc/hosts
You can also simply get the current IP and hostname and save it in the
file /etc/hosts/
:
# echo "$(hostname -I) $(hostname -f)"
Step 3: System Upgrade and Package Installation
After configuring the repositories, the installation of Carbonio requires to run a few commands.
We start by updating and upgrading the system.
# apt update && apt upgrade
# apt update && apt upgrade
# dnf upgrade
# dnf upgrade
Next, we install all packages needed for Carbonio.
# apt install carbonio-videoserver-advanced \
service-discover-agent
# apt install carbonio-videoserver-advanced \
service-discover-agent
# dnf install carbonio-videoserver-advanced \
service-discover-agent
# dnf install carbonio-videoserver-advanced \
service-discover-agent
Step 4: Bootstrap Carbonio
To carry out this step, you need the LDAP password and the Node hostname that you have retrieved at Step 9 of the Core Node (see Step 9: Data Required for Additional Nodes).
Use the following command to configure and launch Carbonio.
# carbonio-bootstrap
Before finalising the bootstrap, press y to apply the configuration. The process will continue until its completion: click Enter to continue.
What does carbonio-bootstrap
do?
This command makes a few checks and then starts the installation, during which a few messages are shown, including the name of the log file that will store all messages produced during the process:
Operations logged to /tmp/zmsetup.20211014-154807.log
In case the connection is lost during the installation, it is
possible to log in again and check the content of that file
for information about the status of the installation. If the
file does not exist anymore, the installation has already
been completed and in that case the log file can be found in
directory /opt/zextras/log
.
The first part of the bootstrap enables all necessary services and creates a new administrator account (zextras@mail.example.com), initially without password (see below for instruction to set it).
Step 5: Setup Carbonio Mesh
To carry out this step, you need the Carbonio Mesh secret generated during the installation of the Core Node (see the Step 8: Complete Installation Step).
The Carbonio Mesh configuration is interactively generated by command
# service-discover setup-wizard
To complete Carbonio Mesh installation, run
# pending-setups -a
Step 6: Configure Carbonio VideoServer
Routing & mapping
Make sure that the Video Server’s IP address is present in the
configuration file /etc/janus/janus.jcfg
and add it if
missing: find the variable nat_1_1_mapping
and add it, for
example: nat_1_1_mapping = "93.184.216.34"
Check Video Server & Broker
To make sure that videoserver and message broker are connected successfully, check that in the carbonio-videoserver logs (journalctl -u carbonio-videoserver) you find the line:
RabbitMQEventHandler: Connected successfullySetup of RabbitMQ event
handler completed
Step 7: Install Video Recording
To install the video recording functionality, install the following package. No configuration is required.
# apt install carbonio-videorecorder
# apt install carbonio-videorecorder
# dnf install carbonio-videorecorder
# dnf install carbonio-videorecorder