Welcome to this guide on how to install the Zextras Carbonio CE e-mail and collaboration suite on Ubuntu 20.04. Zextras Carbonio CE is a free and open-source email and collaboration solution that offers the following features:

  • Chat and Video chats – It offers top-notch features required for individual chats, group video meetings as well as video conferences.
  • Complete mail server – equipped with anti-spam and anti-virus software and also includes a native mobile application
  • Real-time backup and restore – It offers advanced disaster recovery tools and also supports backup on external storage.
  • EAS support – It offers native synchronization with Android, iOS, and outlook.
  • Advanced storage management – This includes HSM compression, de-duplication, and object storage support.
  • Advanced Webmail – It makes it easy to manage E-mails, Contacts, and Calendar Essentials, that are also shared across the domain.
  • File Management System – which includes collaborative editing and document sharing
  • Secure authentication – It supports Two Factor Authentication, QR Code e,t,c. You can make one by using best free QR code generator.

The Zextras Carbonio CE e-mail and collaboration suite is preferred because:

  • It is simple to install as Linux packages and ready to use out of the box
  • It is flexible to cover the needs of today’s collaborative workplaces
  • It focuses on Data Sovereignty and Privacy

The Zextras Carbonio CE e-mail and collaboration suite is available in English as the main language through other languages supported are; Spanish, Dutch, Portuguese (PT, BR), French, Italian, Turkish, Thai, Simplified Chinese, Japanese, Indonesian, Russian, Hindi, and German.

By following this guide to the end, you should be able to install the Zextras Carbonio CE e-mail and collaboration suite on Ubuntu 20.04.

Steps to install Zextras Carbonio CE on Ubuntu 20.04

To be able to install the Zextras Carbonio CE e-mail and collaboration suite you need the following:

  • Ubuntu 20.04 – 64-bit installed
  • CPU – Intel/AMD 64-bit CPU 1.5 GHz
  • Memory – 8 GB
  • Disk space (Operating system and Carbonio CE) – 40 GB

1 – Prepare your Server

It is recommended that you set a static IP on your system. Begin by switching to the root user:

sudo su -

Install vim text editor

apt update && apt install tmux vim

Now edit the below file to assign an IP address to the system.

vim /etc/netplan/50-cloud-init.yaml

In the file, set the Ip address appropriately:

#This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp0s1:
            addresses:
            - 192.168.205.11/24
            gateway4: 192.168.205.1
            nameservers:
                addresses:
                - [1.1.1.1]
    version: 2

Remember to replace the correct interface name and IP address for the device. Apply the changes made:

# netplan apply

Next set a hostname for the system. Here you need a valid FQDN as hostname and an entry in the /etc/hosts file. Set the system hostname as below:

hostnamectl set-hostname mail.computingforgeeks.com

Now update the /etc/hosts file.

# vim /etc/hosts
192.168.205.11 mail.computingforgeeks.com mail

2 – Install and Configure DNS server (Optional)

For this guide, we will install the dnsmasq DNS server which is simple and convenient for this guide. If you have an external DNS server, configure and use it instead.

apt install dnsmasq

Now proceed and make the below configurations for the domain (MX and A record) and the FQDN (A record).

# vim /etc/dnsmasq.conf
server=1.1.1.1
mx-host=computingforgeeks.com,mail.computingforgeeks.com,50
host-record=computingforgeeks.com,192.168.205.11
host-record=mail.computingforgeeks.com,192.168.205.11

Stop and disable the systemd-resolved service.

systemctl disable systemd-resolved
systemctl stop systemd-resolved

Restart the dnsmasq service:

systemctl restart dnsmasq

Enable the service to run automatically on boot:

systemctl enable dnsmasq

Verify if the MX resolves:

# dig mx computingforgeeks.com
; <<>> DiG 9.16.1-Ubuntu <<>> mx computingforgeeks.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10965
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;computingforgeeks.com.			IN	MX

;; ANSWER SECTION:
computingforgeeks.com.		0	IN	MX	50 mail.computingforgeeks.com.

;; ADDITIONAL SECTION:
mail.computingforgeeks.com.	0	IN	A	192.168.205.11

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Mar 28 09:52:43 UTC 2022
;; MSG SIZE  rcvd: 94

Also, verify if the DNS entry of type A resolves:

# dig mail.computingforgeeks.com
; <<>> DiG 9.16.1-Ubuntu <<>> mail.computingforgeeks.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40491
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.computingforgeeks.com.		IN	A

;; ANSWER SECTION:
mail.computingforgeeks.com.	0	IN	A	192.168.205.11

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Mar 28 09:53:15 UTC 2022
;; MSG SIZE  rcvd: 64

That is it, both the MX and A DNS entries resolve.

3 – Configure the Zextras Carbonio Repository

To be able to add the Zextras Carbonio CE Repository on Ubuntu 20.04, you need to fill out the form on the Zextras product page after which, you will receive a form with the URL of the repository and the GPG key of the repository.

wget https://repo.zextras.io/inst_repo_ubuntu.sh
bash ./inst_repo_ubuntu.sh

Add the repository using the provided instructions and proceed as below:

apt update && apt upgrade -y

4 – Install Zextras Carbonio CE

With the repository added to your system, proceed and install Carbonio CE with the command:

apt install carbonio-ce

Once the installation is complete, start the configuration by executing the command:

carbonio-bootstrap

This command will enable the required service and create an admin account without a password. Press y to continue:

----------------------------------
| Starting Carbonio Bootstrap... |
----------------------------------
--------------------------------------------------------------------------------
Zextras may collect a minimal set of public-facing technical information about 
your use of Carbonio CE. This data should not contain personal identifiable 
information, but in case they are subject to Zextras' Privacy Policy 
[https://www.zextras.com].
...
Checking for port conflicts

Main menu

   1) Common Configuration:                                                  
   2) carbonio-directory-server:               Enabled                       
   3) carbonio-logger:                         Enabled                       
   4) carbonio-mta:                            Enabled                       
   5) carbonio-appserver:                      Enabled                       
   6) carbonio-proxy:                          Enabled                       
   s) Save config to file                                                    
   x) Expand menu                                                            
   q) Quit                                    

*** CONFIGURATION COMPLETE - press 'y' to apply configuration
Select from menu, or press 'y' to apply config (? - help) y

Once complete. create a password for the created user as below:

su - zextras
zmprov setpassword [email protected] <newpassword>

Set a strong password that meets the good security criteria. There are two users here:

  • zextras – the unix account of the administrator and must be used to carry out administrative tasks from the command line.
  • [email protected] – default administrator user to be used to access the Admin UI and manage Carbonio CE from the web interface.

5 – Access the Zextras Carbonio CE Web UI

Once installed and configured as above, proceed and access the Carbonio CE web client using the URL https://mail.computingforgeeks.com

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu

On successful login, you will see the below dashboard.

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu 1

Here, you can manage the mail, calendar, contacts e.t.c

The admin client can be accessed using https://mail.computingforgeeks.com:6071/

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu 2

On this dashboard, you get to manage/configure the Carbonio CE server.

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu 3

For example, monitor running services:

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu 4

6 – Secure Zextras Carbonio CE with Let’s Encrypt.

Let’s Encrypt is used to issue free trusted SSL certificates to domain names. To be able to proceed and secure Zextras Carbonio CE with Let’s Encrypt, you need to have a Fully Qualified Domain name.

Proceed and install the required packages:

apt install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt update
apt install certbot

Now generate the certificate using Certbot:

certbot certonly -d mail.computingforgeeks.com

Proceed as below, and provide the required details to generate SSL certificates

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
...

Proceed and generate the certificates. Now you will have the generated certificates at /etc/letsencrypt/live. You will have the privkey.pem, cert.pem, and chain.pem.

Copy the privkey. pem to the Carbonio directory:

export DOMAIN="mail.computingforgeeks.com"
cp /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/zextras/ssl/carbonio/commercial/commercial.key

Remember to substitute mail.computingforgeeks.com in the commands appropriately.

Proceed and deploy the SSL certificates:

cp /etc/letsencrypt/live/$DOMAIN/cert.pem /tmp
cp /etc/letsencrypt/live/$DOMAIN/chain.pem /tmp

Now edit the /tmp/chain.pem and remove the last certificate before you proceed as below.

Download the ISRG Root X1 chain as below:

wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt
cat /tmp/ISRG-X1.pem >> /tmp/chain.pem

Set the correct permissions:

chown -R zextras:zextras /opt/zextras/ssl/carbonio/commercial/commercial.key

Verify if the certificate is okay:

# su - zextras -c 'zmcertmgr verifycrt comm /opt/zextras/ssl/carbonio/commercial/commercial.key /tmp/cert.pem /tmp/chain.pem'
** Verifying '/tmp/cert.pem' against '/opt/zextras/ssl/carbonio/commercial/commercial.key'
Certificate '/tmp/cert.pem' and private key '/opt/zextras/ssl/carbonio/commercial/commercial.key' match.
** Verifying '/tmp/cert.pem' against '/tmp/chain.pem'
Valid certificate chain: /tmp/cert.pem: OK

Now deploy the certificate with the command:

# su - zextras -c 'zmcertmgr deploycrt comm /tmp/cert.pem /tmp/chain.pem'
....
** Copying '/opt/zextras/ssl/carbonio/ca/ca.pem' to '/opt/zextras/conf/ca/ca.pem'
** Creating CA hash symlink 'e2eeaa7a.0' -> 'ca.pem'
** Creating /opt/zextras/conf/ca/commercial_ca_1.crt
** Creating CA hash symlink '8d33f237.0' -> 'commercial_ca_1.crt'
** Creating /opt/zextras/conf/ca/commercial_ca_2.crt
** Creating CA hash symlink '4042bcee.0' -> 'commercial_ca_2.crt'

Restart the services:

su - zextras -c 'zmcontrol restart'

Now access the Carbonio CE page:

Install Zextras Carbonio CE e mail and collaboration suite on Ubuntu 5

Voila!
We have successfully installed and configured the Zextras Carbonio CE e-mail and collaboration suite on Ubuntu 20.04. Now enjoy the open-source email and collaboration solution.

Related posts:

4 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here