The internal architecture of Carbonio CE is depicted in Fig. 1 along with each component.
In a typical Multi-Server, each of the services represented by the red boxes (i.e., the Core Components) should be installed on a dedicated node, while all the others (i.e., the Optional Components in the orange boxes) can be combined and installed on any node, even on a dedicated one. This contrasts with Single-Server, where all packages are installed on the same node. Instead of using a separate node, User Management might be put on the AppServer node. We demonstrate how to build up a cluster of six nodes and merge the various responsibilities played by Carbonio CE in the Multi-Server Installation scenario we use as an example. One or more software packages can be installed on the Carbonio CE to add a Role, which is a capability that is regarded as atomic.
Dependencies are represented in Fig. 1 by the boxes stacked on top of each other. In other words, the Proxy Node must have all *-UI packages installed, which contain the files required to allow users to see the Module.
The Postgres/DB-Connection role serves as an example of a specific situation. Although Carbonio CE may be set up to connect to a Postgres database directly, it is advised to set up a middleware (PgPool-II) in order to be independent of the underlying database or databases and be able to grow without having to set up numerous Postgres instances or even a Postgres cluster.
The Core Components are necessary for Carbonio CE’s fundamental features, including the ability for users to securely send and receive emails as well as manage their calendars and contacts. As follows:
Also keep in mind that for the Proxy and MTA nodes to function successfully, they must fulfil the following requirements:
- both internal and exterior clients must be able to resolve their hostname.
- they have setup the DNS server with proper FQDN, PTR, MX, and A records.
- They may be reached via the Internet.
With optional components, we refer to all Carbonio roles that, as indicated by the orange boxes in Fig. 1, add features to the fundamental components. They can be installed on any node in a Multi-Server installation as long as the requirements are honoured.
- Files-CE. gives users the ability to exchange and save documents. Additionally, Files-ui, Files-db, and Storages-CE play a part in this function by providing user interface files for Files-CE and scripts that initialise the Carbonio Files database and connections to it, respectively.
- DB-connection. This function has the job of enabling communication between Carbonio CE and the database, which is provided by the packages carbonio-files-db and carbonio-mailbox-db. The administration of the DB instance(s) would be more adaptable and scalable with the usage of Pgpool-II.
- Create thumbnail pictures of documents with the Preview-CE role.
- Docs-CE. features collaborative editing and is made up of docs-connection-CE, docs-editor, and docs-core.
- User Control. It registers user characteristics (such as which AppServer a user is logged in on) and user status (logged in or out).
- The admin panel. The primary administrative hub where Carbonio CE configuration choices are managed
Compatible Mail Protocols
There are several protocols that Carbonio CE supports.
- POP3, POP3S
- The secure protocols of SMTP SPTMS (SMTP over TLS/SSL) and SSMTP
- The secure protocol of IMAP IMAP over SSL, or IMAPS