Preliminaries#
In this section, we list some naming conventions we use in the documentation and present some tasks you need to carry out on each of the Nodes before starting with the actual installation.
Hint
We invite you to subscribe to our newsletter to gain early access to dedicated content for Carbonio CE admins, including:
Release notes and upcoming updates
The latest news and announcements
Expert technical guides for Carbonio CE
Please fill in the form at https://zextras.com/carbonio-community-edition#discoverproduct
Naming conventions#
When deciding the names of the Nodes, we suggest to match the Node name and the Role installed on it (or the main Role in case a Node features multiple Roles), for example:
proxy1.example.com is the (first) Proxy Node
mta1.example.com is the (first) MTA Node
similarly for other Nodes
By naming Nodes in this way, in case you have you have multiple nodes featuring the same Role, or you want to expand your infrastructure, you only need to increase the sequence number:
proxy2.example.com becomes the second Proxy Node
mta2.example.com becomes the second MTA Node
similarly for other Nodes
Additionally, throughout this documentation, we will use Proxy Node(s) to denote the Node(s) on which the Proxy Role is (are) installed; MTA Node the Node featuring the MTA, and so on.
Configure repositories#
In order to configure Carbonio CE’s repository, you need to add one file with the necessary information.
It you install Carbonio CE on Ubuntu, you also need to import the GPG key used for signing the packages and verify them.
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu focal main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/apt/sources.list.d/zextras.list
and add the following content to it:
deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main
Hint
Make sure the above content is correctly saved on the same line
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel8
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
You need to create file /etc/yum.repos.d/zextras.repo
and add the following content to it:
[zextras]
name=zextras
baseurl=https://repo.zextras.io/release/rhel9
enabled=1
repo_gpgcheck=1
gpgcheck=0
gpgkey=https://repo.zextras.io/repomd.xml.key
This step is required only on Ubuntu systems (Ubuntu 20.04 and Ubuntu 22.04).
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
Download and save the GPG key
# wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
Assign correct access permissions to the key
# chmod 644 /usr/share/keyrings/zextras.gpg
This step is not needed.
This step is not needed.
The following are important information concerning the packages repository Carbonio CE and its content. Please read them carefully, as they might save you some time in case of installation or upgrade problems and help you to provide more precise bug reports.
The repository hosts simultaneously packages of two channels:
-
Release Candidate (RC). Packages in this channel are made available as soon as they are built by Zextras development and tested by the QA team. While they are stable, they are not suitable for a use in a production environment, because they might still contain some bugs, new functionalities that have not yet reached a production-level quality, or some broken dependencies might be introduced.
Usually these problems are fixed within days or even hours, so in case just try again before you report some problem.
Use this channel and its packages for testing (or demo) installations only.
RELEASE. This channel contains only packages that are stable and suitable for a production environment.
Hint
When reporting a problem or opening a ticket, remember to always add the channel you are using, as this helps us to analyse the problem quickly.
FAQ
-
I want to help testing things, which channel should I use?
RC channel.
-
I need to install Carbonio in a production environment which channel should I use?
RELEASE channel.
-
How will I be informed about new RC packages?
There will be no notification, because RC channel is updated continuously.
-
How will I be informed about a potential new release incoming?
A red message on the homepage of the documentation site will notify you of the release of a new stable version. You may also be informed through other means of communication such as email and social media.
-
Could there be bugs in the packages downloaded from the RC channel?
Yes, RC versions have a risk of containing bugs (which in some cases could lead to data loss). If you find a bug in an RC package we kindly ask you to report it on the appropriate community page. We will try to resolve it as quickly as possible.
Setting Hostname#
Carbonio CE needs a valid FQDN as hostname and a valid entry in the
/etc/hosts
file. Therefore, it is necessary to take care of
properly configuring the /etc/hosts
file, otherwise the services
will not be able to bind to the correct address, leading to a
disruption in Carbonio CE's functionality.
To configure the file and the hostname, execute these two commands.
Note
Replace the values srv1.example.com
and 172.16.0.10
with values suitable for your setup.
First, set the hostname
# hostnamectl set-hostname srv1.example.com
then replace the content of the /etc/hosts
file with IP and
hostname.
# echo -e "127.0.0.1 localhost\n172.16.0.10 srv1.example.com srv1" > /etc/hosts
You can also simply get the current IP and hostname and save it in the
file /etc/hosts/
:
# echo "$(hostname -I) $(hostname -f)"