The only supported installation method in a production environment, particularly for large production systems, is Carbonio Multi-Server because it is more scalable in the event that the infrastructure grows and because Carbonio Mesh automatically sets up and secures communication across all nodes while also adding fault detection and dynamic routing between infrastructure components.
In the hypothetical situation, we’ll build up a Carbonio Multi-Server environment with five nodes (designated SRV1, SRV2, SRV3, and SRV5) as follows:
- Directory Server, Carbonio Mesh, a DB connection, and Carbonio Monitoring are all included in SRV1, which serves as the foundation of Carbonio’s infrastructure.
- The SRV2 package comes with MTA, the mail server, Proxy, which gives online access to all components, and User Management.
- SRV3 hosts an AppServer and a Carbonio Advanced instance.
- SRV4 installs Carbonio Files & Carbonio Docs, which enable document collaboration and sharing, as well as Carbonio Preview, which enables users to view snippets or thumbnails of a document
- SRV5 comes with the Carbonio VideoServer and Video Recording.\
In our case, six nodes running Ubuntu 20.04 LTS are used to launch the Carbonio installation. The only command that differs is the one used to install packages; all other commands used to setup the nodes are the same. The instructions apply to six nodes that have RHEL 8 installed on them.
We also suppose that each node has the IP address 172.16.0.1X, where X is the n-th node. That is to say, IP addresses will fall between 172.16.0.11 (SRV1) and 172.16.0.15 (Carbonio VideoServer). 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 Advanced (SRV3) and hence 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.
- It is challenging to predict how much more storage would be needed for the video recording capability in advance. In fact, it relies on a number of variables, such as the quantity of participants and the number of webcams that are active throughout the recording, as well as the recording’s size and other characteristics. In general, a recording of an hour at a resolution of 1280×720 at a frame rate of 25 would use about 400MB of disc space in the webm format.
Software specifications
- At least one public IP address must be present throughout the whole Carbonio system. The IP address must be linked to a domain name that matches the A record in the DNS (for example, A mail.example.com).
- To allow the mail server to receive mail, it will be necessary to set up an MX record, which must correspond to the A record (e.g. MX: example.com = mail.example.com ) If either of the A or MX records is not correctly configured, the installation will be temporarily suspended to allow the change of the hostname. See the dedicated box below for details and examples. For improved security of sending emails, you should also define TXT records for SPF, DKIM and DMARC Python 3, latest version available on the Operating System chosen Perl, latest version available on the Operating System chosen IPv6 must be disabled. Make also sure that the /etc/hosts does not contain any IPv6 entrie
Specific Requirements for RHEL 8
- It’s required to be familiar with CLI use. Unless otherwise specified, all carbonio commands must be issued as the root user, and all other commands must be issued as the zextras user (these commands will contain a zextras$ prompt).
- Give the nodes interesting names. Use names like mta.example.com, proxy.example.com, and so on. Simply substitute your domain name for example.com.
- In order to set up the subsequent nodes, you will need to remember a few configuration settings and their values throughout the installation process. These details are summarised at the conclusion of the installation of each node; copy them to a secure location and keep them nearby until the installation is complete. Examples of values are a node’s public or private IP address or a database user’s password.
- The ports indicated in ref:fw-ports must be opened in your firewall for all the services you will provide, depending on the Roles configured on each Node.
- If none of the 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 access their webmail from a distance.
- 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.
Ports on a firewall
introductory tasks
Installation of Nodes
- The general process is the same for both Ubuntu and RHEL 8, but the specific commands and file paths may vary between the two operating systems. As a result, be careful to perform the right command on the right files and operating system. The instructions that are different are divided as shown below. According to the operating system you’re installing Carbonio.v on, select the Ubuntu or RHEL tab.
- The root user must be used to run all the commands that are listed in this installation method.
- Following a successful installation, you may use a browser to view Carbonio’s graphical user interface (GUI) by following the instructions in Section view to the Web Interface.
SRV1: Carbonio Mesh, Directory Server, Database Connection, and Carbonio Monitoring
the setup of PostgreSQL
Installation of Packages
- Install these packages from the primary repository.
Setup and configuration of 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
Configure Carbonio Mesh
- 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.
- Keep the setup in the file cluster-credentials.tar.gpg at /etc/zextras/service-discover
Carbonio Bootstrap Databases
MTA, Proxy, and User Management for SRV2
Carbonio Bootstrap.
- The FQDN of SRV1, srv1.example.com, is LDA master host.
- The command is used to acquire the Ldap Admin password from SRV1.
- bind the postfix password Using the command, SRV1 returns the ldap user.
- bind amavis password Using the command, SRV1 returns the ldap user.
- SRV1 is queried for the bind password for the nginx ldap user using the command
- Configure Carbonio Mesh
- The agent for Carbonio Mesh will be installed; it will connect to and communicate with the server. By using the launching command, the agent’s configuration is built
- demand the current Node’s IP address and netmask.
Activate Memcached
Carbonio Advanced (AppServer), SRV3.
Setup Packages
Carbonio Bootstrap
Configure Carbonio Mesh
- 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.
SRV5: VideoServer and Video Recording for Carbonio
Install the Carbonio VideoServer package first.
Carbonio Bootstrap.
- 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.