This section explains how to set up a Carbonio CE Multi-Server, or distributed Carbonio installation, where each node takes on one or more roles.
We propose an installation scenario that may be tailored to the various demands of Carbonio CE customers that employ a varying number of nodes, as opposed to providing fixed installation instructions with certain functionality deployed on each node. As a result, we provide the concept of Role, which is a Carbonio CE utility that is thought of as atomic and is composed of one or more packages.
The situation we describe below may be changed at any time by putting a Role on a different node (or even on a dedicated node) of the cluster because a Role can be deployed on any node of the cluster.
Scenario with Four Nodes
In the recommended scenario, we’ll build up a Carbonio CE Multi-Server environment with four nodes (which we’ll refer to as SRV1, SRV2, SRV3, and SRV4) in the manner described below:
- Directory Server, Carbonio Mesh, a DB connection, and Carbonio Monitoring are all included in SRV1, which serves as the foundation of Carbonio CE.
- MTA, the mail server, Proxy, which enables all components to be accessed over the web, and User Management are all included with SRV2.
- An AppServer and a Carbonio Storages CE instance are hosted by SRV3.
- Carbonio Files & Carbonio Docs, which allow document sharing and collaborative editing, as well as Carbonio Preview, which allows users to examine excerpts or thumbnails of a document, are installed by SRV4.
Within a Carbonio CE architecture, the Carbonio Storages CE Roles must be distinct.
In our example, we begin Carbonio CE installation from 4 nodes outfitted with either RHEL 8 or Ubuntu 20.04 LTS. Only the procedures for installing packages are different from the instructions; the commands for configuring the nodes remain the same.
We also suppose that each node has the IP address 172.16.0.1X, where X is the n-th node. To put it another way, IP addresses will fall between 172.16.0.11 (SRV1) and 172.16.0.14 (SRV4). When manually modifying configuration files during installation or upgrade processes, these settings will be utilised.
- The node needing extra disc space is the one hosting Carbonio Storages CE (SRV3) and therefore the emails.
- Make sure the node hosting it (SRV4) has at least 6GB of RAM as the Carbonio Files service needs 4GB of RAM to start.
- When none of the four nodes are connected to the Internet, you must forward two ports from the public IP: port 25/smtp to the node with the MTA (SRV2) in order to receive mail, and port 443/https to the node with the proxy (SRV2) in order to enable users to use their webmail from a distance.
- If there are issues with internal network connectivity, consider disabling the firewall and giving it another shot; if it succeeds, a firewall rule was probably the cause of the troubles.
- You should also route these ports appropriately if you intend to allow additional protocols (such POP and IMAP). A list is available in the section on Firewall Ports. If you don’t require these protocols, don’t open these ports!
- Additionally, port 6071, which is used to access the Carbonio Admin Panel, should never be made publicly available on the Internet and should only be accessible through a VPN tunnel or other similar techniques.
- The same rule applies to SSH access to the Nodes: only internal and administration networks should be able to use it, and any distant access must be made over a VPN tunnel or similar means.
- Each Node’s hostname has to be a FQDN that can be internally resolved via DNS
introductory tasks
Installation of Nodes
SRV1: Carbonio Mesh, Directory Server, Database Connection, and Carbonio Monitoring
The following actions need be taken to configure pgpool.
- Setup pgpool
- Make Pgpool-II configurable by using the following command.
- Use these commands to restart the service after ensuring it is enabled.
Carbonio Bootstrap CE
- the IP address and the netmask
- In order to install, administer, and use the administrative GUI, you must have the Carbonio Mesh secret. For additional details, go to Section Carbonio Mesh Administration Interface.
MTA, Proxy, and User Management for SRV2
- The FQDN of SRV1, srv1.example.com, is LDA master host.
- The command is used to acquire the Ldap Admin password from SRV1.
- SRV1 is queried for the postfix ldap user’s binding password using the command
- SRV1 is queried for the bind password for the amavis ldap user using the command
- SRV1 is queried for the bind password for the nginx ldap user using the command
- demand the current Node’s IP address and netmask.
- Request the Carbonio Mesh secret from the SRV1 server, which is located in the file /var/lib/service-discover/password.
Activate Memcached
SRV3: Carbonio Storages CE and AppServer
- The FQDN of SRV1, srv1.example.com, is LDA master host.
- The command is used to acquire the Ldap Admin password from SRV1.
- demand the current Node’s IP address and netmask.
- Request the Carbonio Mesh secret from the SRV1 server, which is located in the file /var/lib/service-discover/password.
- The FQDN of SRV1, srv1.example.com, is LDA master host.
- The command is used to acquire the Ldap Admin password from SRV1.
- demand the current Node’s IP address and netmask.
- Request the Carbonio Mesh secret from the SRV1 server, which is located in the file /var/lib/service-discover/password.
Specify Memcached
- Line 1’s https protocol and the AppServer’s IP address (172.16.0.13 for SRV3) are both shown.
- Be sure to provide the port that Preview uses, 7072, in line 1.
- Line 2 of the script specifies SRV2’s IP address (172.16.0.12), allowing access to Memcached, which is installed on the Proxy Node.