Scenario Full Standard#

This scenario involves the presence of a single tenant. It builds on the Full Small Scenario by decoupling a few services and prepare the Carbonio infrastructure for a future growth and scalability . This scenario is therefore intended for infrastructures including hundreds of accounts and are ready to scale up to tens of thousands of accounts.

The scenario can be deployed either using the Ansible Playbook, or manually, Node by Node. In both cases, make sure you configure the internal network.

Ansible Playbook#

This 7 Nodes scenario can be installed using Ansible: you need to setup a workstation to run Ansible playbooks (please refer to section Prepare the Ansible Environment and following for directions on setting up the workstation), then download the Ansible inventory (see below this paragraph), replace the FQDN and values present in the file according to your planned Carbonio infrastructure (please refer to Section Prepare Inventory). Once edited the inventory, you can Install Carbonio Using Ansible.

Inventory - “Full Standard” Scenario

Download the inventory

[postgresServers]
srv1.example.com

[masterDirectoryServers]
srv1.example.com

[replicaDirectoryServers]

[serviceDiscoverServers]
srv1.example.com

[dbsConnectorServers]
srv4.example.com

[mtaServers]
srv2.example.com

[proxyServers]
srv3.example.com

[proxyServers:vars]
webmailHostname=YourWebmailPublicHostname

[applicationServers]
srv4.example.com

[filesServers]
srv5.example.com

[docsServers]
srv6.example.com

[taskServers]
srv4.example.com

[previewServers]
srv6.example.com

[videoServers]
srv7.example.com public_ip_address=x.y.z.t

[prometheusServers]
srv1.example.com

[syslogServer]
srv1.example.com

Once edited the inventory, you can launch Carbonio installation by issuing from the workstation, the command (as the root user)

# ansible-playbook -u root -i ../../data/carbonio-inventory-fullstandard carbonio-install.yml

Network Configuration#

The following ports must be opened on the external network, i.e., they are required for proper access to Carbonio from the Internet.

Table 4 Opened ports in Scenario Full Standard#

Public hostname

Ports & Service

Mapping

mail.example.com

  • TCP 80/443 HTTP/S

  • TCP 143/993 IMAP/S

  • TCP 110/995 POP/S

  • TCP 8636 LDAP Addresbook

srv3.example.com

mx.example.com

  • TCP 25/465/587 SMTP/S

srv2.example.com

mail.example.com

  • UDP 20000/40000 Video Streaming

srv6.example.com


Manual Roles Installation#

In case you do not want to install Carbonio on this scenario using Ansible, you can proceed with the manual installation of the various Roles on the Nodes, according to the following guidelines.

Before starting the installation, bear in mind to:

  • Always start with the installation of Mesh and Directory Roles

  • When installing multiple Roles on a Node, the tasks listed in Bootstrap Carbonio* and Join Carbonio Mesh steps can be made only once, after all packages of the Roles have been installed

Node 1

Node Name/FQDN: srv1.example.com

Type of services: Clustered services

Roles installed:

Node 2

Node Name/FQDN: srv2.example.com

Type of services: MTA

Roles installed:

Node 3

Node Name/FQDN: srv3.example.com

Type of services: Proxy

Roles installed:

Node 4

Node Name/FQDN: srv4.example.com

Type of services: Mails, Calendars, Contacts, and Tasks

Roles installed:

Node 5

Node Name/FQDN: srv5.example.com

Type of services: Files

Roles installed:

Node 6

Node Name/FQDN: srv6.example.com

Type of services: Video and Meeting

Roles installed:

Node 7

Node Name/FQDN: srv7.example.com

Type of services:

Roles installed: Preview and Editing