This section discusses the Carbonio installation, which is a Carbonio installation distributed across numerous nodes (i.e., a Multi-Server installation), each of which plays one or more Roles.
Rather than providing set installation instructions with some functionality put on every node, we give an installation scenario that can be tailored to the various demands of Carbonio customers with varying numbers of nodes. As a result, we present the concept of Role: a Carbonio feature that is atomic and consists of one or more packages.
Because a Role may be deployed on any node in the cluster, the situation described below can be changed at any time by installing a Role on a different node (or even a dedicated node).
Scenario of Six Nodes
Carbonio Multi-Server is the only supported method of installation in a production environment, particularly for large production systems, because it is more scalable in the event of infrastructure growth, and communication across all nodes is set up and secured automatically by Carbonio Mesh, which also adds fault detection and dynamic routing between infrastructure components.
In the proposed scenario, we will create a Carbonio Multi-Server environment comprised of six nodes (designated as SRV1,…, SRV6) as follows:
- Postgres is installed specifically on SRV1.
- Carbonio’s fundamental infrastructure is represented by SRV2, which installs Directory Server, Carbonio Mesh, and a database connection.
- MTA, the mail server, is installed on SRV3.
- The Proxy, which gives online access to all components, is hosted by SRV4, as is the Carbonio VideoServer, which provides video-conference functions and the capacity to record meetings.
- SRV5 is an AppServer that installs Carbonio Files and Carbonio Docs, which allow for document sharing and collaborative editing.
- SRV6 is another AppServer that includes Carbonio Preview, which allows Carbonio to preview snippets or thumbnails of a document, User Management, and several sophisticated service features.
In our scenario, we begin Carbonio installation on six nodes running Ubuntu 20.04 LTS. The instructions are applicable for six RHEL 8 nodes: the only variation is the command for installing packages, while the procedures for configuring the nodes are the same.
We also suppose that each node’s IP address is 172.16.0.1X, where X is the n-th node. In other words, the IP addresses will be 172.16.0.11 (SRV1) to 172.16.0.16 (second AppServer). These values will be used in configuration files that must be manually altered during installation or upgrading operations.
In most Multi-Server settings, installing a Replica Directory Server in a Master/Slave configuration improves dependability and load-balancing. In a separate section, we discuss how to install the Replica on a dedicated node, SRV7 (which must be running the same OS as the other six). However, the Replica may be installed on any node other than SRV2 using the same approach.
Each node of a Multi-Server must meet the Software Requirements of the Single-Server; System Requirements are also applicable
Some further thoughts:
- It is required to be familiar with the use of CLI. All carbonio commands must be run as the zextras user (a zextras$ prompt will appear), whereas all other commands must be run as the root user, unless otherwise specified.
- Give the nodes meaningful names. For instance, you may call them proxy.example.com, mta.example.com, and so on. Replace example.com with the name of your domain.
- You will need to write down various configuration parameters and their values throughout the installation operation, as they will be required in the setup of the next nodes
- These details are summarised at the end of each node’s installation: copy them to a secure location and keep them handy until the installation is complete. Examples of values are a node’s IP address (public or private) and a database user’s password.
- Depending on the Roles placed on each Node, you must open the ports indicated in ref:fw-ports in your firewall for all of the services you will provide.
Perform the following two procedures on each of the six nodes before beginning the actual installation.
Task 1: Configure repositories
Preliminary Tasks for RHEL 8 Only
Carbonio installation on RHEL 8 systems requires a few tasks, including the setting of SELinux and the firewall.
SELinux and Firewall
Installation of Nodes
The installation method follows the node sequence provided in the scenario. A few observations:
- It is assumed that the Postgres node is not a “real” component of the infrastructure, in the sense that it might be an existing server that is configured to connect properly with Carbonio (configuration instructions are included with the SRV1 installation).
- The first node to be deployed will be the one with the Directory Server role (SRV2).
- The MTA server (SRV3) will be setup next.
- The additional nodes can be installed in whatever order you choose, and you can skip instructions for any node or role you don’t want to install.
- While the fundamental technique is the same for both Ubuntu and RHEL 8, the particular instructions and file paths on the two operating systems may change, so make sure you perform the proper command on the relevant file.
When the installation procedure is complete, you may use a browser to view Carbonio’s GUI: instructions can be found in Section view to the Web Interface.
2. Setup pgpool
3. Using the following command, configure Pgpool-II to work with the PostgreSQL node (SRV1). SRV1_IP should be replaced with the value saved in the preceding job.
4. This command will restart the service.
5. Carbonio is a bootstrapped carbonio.
The bootstrap command will perform a variety of operations and configure the node. At the end, you will be presented with a menu, and if you have previously configured everything, all you need to do is click y for confirmation.
6. Carbonio Mesh Installation
Proxy with Carbonio VideoServer
1. Install packages
Change the System User’s Password
Configure a Directory Server Replica
Ldap configuration 1) Hostname: The hostname of the Director Server Replica. 2) Ldap master host: The hostname of3) Ldap port: 389 4) Ldap Admin password: The
Ldap configuration 1) Status:
2) Create Domain: do not change 3) Domain to create: example.com 4) Ldap root password: The
5) Ldap replication password: The
6) Ldap postfix password: The
7) Ldap amavis password: The
8) Ldap nginx password: The