Single-Server Installation with Ansible#

Architecture#

The architecture of this scenario is depicted in the following diagram.

../../../_images/scenario-single-ansible-without-files-and-preview.png

Fig. 3 Sample diagram of the Single Server Node installed using Ansible.#

The scenario involves a single server node providing essential functions:

  • Mail

  • Calendar

  • Contacts

  • Backup

If your use case requires other collaboration tools or video capabilities, the single-server installation can be extended by adding:

  • Preview/Files - on the same Node

  • Tasks/Docs/Chats - on a second Node

  • Videoserver/Videorecording - on a third Node

Depending on the features chosen, the architecture changes and can be seen in the following diagram.

../../../_images/scenario-single-vs-ansible-with-optional-files-and-preview.png

Fig. 4 Sample diagram of the optional Collaboration and Video Server Nodes within the Single Server scenario.#

Requirements#

Hardware Requirements for the Single Node are more demanding compared to each single Node in a Carbonio Multi-Node setup.

Single-Server Node

  • 8 vCPU

  • 24 GB memory

  • 100 GB disk space for the OS

  • Additional disk space for the users’s e-mail storage, taking into account the expected e-mail volume, quota, and retention policies. This storage must be mounted under /opt/zextras

Optional Collaboration Node

  • 4 vCPU

  • 16 GB memory

  • 50 GB disk space for the operating system

Optional Video Server Node

  • 8 vCPU

  • 8 GB memory

  • 50 GB disk space

  • If you plan to record video meetings, you need to allocate sufficient space to store temporary files on this Node

Installation#

This Single Node scenario can be installed using Ansible: you need to setup a control node to run Ansible playbooks (please refer to section Prepare the Ansible Environment, then follow the directions on setting up the control node). To access the control node, execute the following command to log in (replace mail.example.com with the name or IP of the control node)

$ ssh root@mail.example.com
$ ssh -A root@mail.example.com

After you have logged in to the control node, download the Ansible inventory (see below this paragraph), replace the FQDN and values present in the file according to your planned Carbonio infrastructure.

Inventory - “Single-Server” Scenario

Download_inventory

[postgresServers]
srv1.example.com

[masterDirectoryServers]
srv1.example.com

[serviceDiscoverServers]
srv1.example.com


[mtaServers]
srv1.example.com

[proxyServers]
srv1.example.com

[proxyServers:vars]
webmailHostname=srv1.example.com

[applicationServers]
srv1.example.com

############ Optional Components ############

[previewServers]
srv1.example.com

[filesServers]
srv1.example.com

############ Optional Components - to be installed on a different VM ############
[taskServers]
#srv2.example.com

[docsServers]
#srv2.example.com

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

[workStreamServers]
#srv2.example.com

############ These Components are not supported in Single-Server scenario ###########
############ They are required for the proper Ansible installation #############

[dbsConnectorServers]
#Only for HA infrastructure from 24.12.0. Don't fill it out

[replicaDirectoryServers]

[prometheusServers]

[syslogServer]

Note

To add any of the Components listed as optional, simply remove the comment (#) indicating the correct name of the server on which to install the Component, based on the directions provided.

Once you edited the inventory, save it in a directory of your choice as carbonio-inventory-single. Now, you can run the script: from that directory execute the command

$ ansible-playbook zxbot.carbonio_ssinstall.carbonio_ssinstall \
-u root -i carbonio-inventory-single \
--extra-vars "install_path=zxbot.carbonio_install.carbonio_install"

Antivirus Engine#

The antivirus engine (ClamAV) is automatically installed by Ansible and is part of the installation procedure. If you already have a company-wide antivirus engine, you can disable the one installed by Carbonio, together with other components by issuing as the zextras user the following command:

zextras$ carbonio prov ms $(zmhostname) \
-zimbraServiceEnabled amavis \
-zimbraServiceEnabled antivirus \
-zimbraServiceEnabled antispam \
-zimbraServiceEnabled opendkim \
carbonioAmavisDisableVirusCheck TRUE

To entirely disable ClamAV or carry out other management options, like modify signature lists or installing a signatures updater, please refer to Section Antivirus & Antispam Management.