Zextras Carbonio Community Edition (CE) is one of the solutions for Zimbra Open Source Edition users. Considering that Zimbra Open Source edition is no longer officially created by Zimbra. Indeed, we can create a Zimbra installer independently using the guidelines provided by Zimbra. One of them is created by Zextras here: https://zextras.com/zextras-build-based-on-zimbra-official-repository
In this article, I am using Ubuntu 20.04. To make it easier, here is the system that will be created:
IP Address : 192.168.1.27 Hostname (Short) : mail Domain : imanudin.web.id Hostname (FQDN) : mail.imanudin.web.id
# Hostname Configuration
Please run the following command
hostnamectl set-hostname mail.imanudin.web.id
# /etc/hosts Configuration
Adjust /etc/hosts as below :
127.0.0.1 localhost 192.168.1.27 mail.imanudin.web.id mail
# /etc/resolv.conf Configuration
rm /etc/resolv.conf
Adjust /etc/resolv.conf as below :
nameserver 127.0.0.1 nameserver 8.8.8.8 nameserver 1.1.1.1 search imanudin.web.id
# Disable sendmail and postfix services
systemctl disable --now sendmail systemctl disable --now postfix
# Disable UFW
systemctl disable --now ufw
# DNS configuration (local dns) – Optional
Local DNS is required if you don’t have active DNS records. I always install local DNS even have active DNS records. This local DNS is for internal communication only. So, if there is a problem with active DNS (production), Zextras Carbonio Community Edition (CE) can still be used for internal
apt update -y apt upgrade -y systemctl disable --now systemd-resolved.service apt install dnsmasq
Adjust /etc/dnsmasq.conf as below :
server=8.8.8.8 mx-host=imanudin.web.id,mail.imanudin.web.id,10 host-record=imanudin.web.id,192.168.1.27 host-record=mail.imanudin.web.id,192.168.1.27
Restart dnsmasq service
systemctl enable --now dnsmasq systemctl restart dnsmasq
Test DNS using host command
host -t MX imanudin.web.id host -t A mail.imanudin.web.id
The result will look like below
root@mail:~# host -t MX imanudin.web.id imanudin.web.id mail is handled by 10 mail.imanudin.web.id. root@mail:~# host -t A mail.imanudin.web.id mail.imanudin.web.id has address 192.168.1.27
# Zextras Carbonio CE Repository configuration
Please go to https://zextras.com/carbonio-community-edition/ and fill the form to get the full intruction regarding setup Zextras Carbonio CE Repository
# Install Zextras Carbonio CE
apt update apt upgrade apt install screen libpangocairo-1.0-0
Note: I always use “screen” for prevention. If you install Zextras Carbonio CE using remote install like SSH to server, I recommend you to run screen first before install Zextras Carbonio CE
apt install service-discover-server \ carbonio-directory-server \ carbonio-proxy \ carbonio-webui carbonio-files-ui \ carbonio-mta \ carbonio-appserver \ carbonio-user-management \ carbonio-files-ce carbonio-files-db \ carbonio-storages-ce \ carbonio-preview-ce \ carbonio-docs-connector-ce carbonio-docs-editor \ postgresql-12 carbonio-prometheus
# Check Carbonio CE service
systemctl status carbonio-*
Note: If any service fails, restart the service. The service that fails most often is the Carbonio Monitoring exporter. Restart that service manually
systemctl restart carbonio-prometheus-nginx-exporter.service
# Initial Configuration
carbonio-bootstrap
Just type y and click the enter button for the initialization process. Below is an example output
root@ubuntu:~# carbonio-bootstrap ---------------------------------- | 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]. As an additional condition, use of the entire software is conditional upon your acceptance that no liability whatsoever shall be attributable to Zextras except that for gross negligence or malice. Nothing in this condition detracts from the provisions of the single licenses for the same case. Should you not accept this condition you use of the software would not be permitted and your licenses would be terminated. No trademark license is granted nor implied. Trademark use, where expressly permitted, is subject to the then-current trademark policy of Zextras. [https://www.zextras.com] -------------------------------------------------------------------------------- Operations logged to /tmp/zmsetup.20230509-213603.log Bootstrap mode: new install Installing LDAP configuration database...done. Setting defaults... Querying DNS for "A" record of current hostname mail.imanudin.web.id...done. Querying DNS for "MX" record of imanudin.web.id...done. Querying DNS for "A" record of mail.imanudin.web.id...done. MX: mail.imanudin.web.id (192.168.1.27) Interface: 127.0.0.1 Interface: ::1 Interface: 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 done. Checking for port conflicts Main menu 1) Common Configuration: 2) carbonio-directory-server: Enabled 3) carbonio-mta: Enabled 4) carbonio-appserver: Enabled 5) 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
# Setup Carbonio Mesh
service-discover setup-wizard
Insert IP that used (with netmask). Please insert the password for mesh secret. Below is an example output
Setup of first service-discover server instance ens160 192.168.1.27/24, fe80::20c:29ff:fee9:cd29/64 Specify the binding address for service discovery: 192.168.1.27/24 Create the cluster credentials password (will be used for setups): Type the credential password again:
To complete the installation of Carbonio Mesh, please run the command below
pending-setups -a
Insert mesh secret password that input formerly. The mesh secret password is saved at /var/lib/service-discover/password file
# Create Main DB Role and Database for Carbonio CE
su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password 'DB_ADM_PWD';\""
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
Note: Please adjust DB_ADM_PWD with strong password
# Initial Carbonio Files Databases
Please run the following command
PGPASSWORD=DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
Note: Please adjust DB_ADM_PWD with strong password
Below is an example output
root@ubuntu:~# PGPASSWORD=DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1 Database: 127.0.0.1:5432 user carbonio_adm Check postgres connection: OK CREATE ROLE CREATE DATABASE ==================================================== carbonio-files-db database initialized successfully! ====================================================
Restart Zextras services
su - zextras zmcontrol stop zmcontrol start
# Change Zextras admin password
Zextras Carbonio CE use zextras@domainname as Global Admin. Please change the password for that user for login
zmprov setpassword zextras@imanudin.web.id NewStrongpassword
# Test Zextras Carbonio Admin and Webmail
To access Zextras Carbonio CE, please access URL: https://ip-address for webmail and URL: https://ip-address:6071 for Admin. Login as default user zextras@imanudin.web.id. Below is some screenshot from Zextras Carbonio CE




Good luck 🙂
I found this build it works great Zimbra 10 FOSS from INTALIO
https://zintalio.com/download.html
tell what you think
Hi,
Thank you for your information. I have not tried it yet. I tried to register from the download link. However, the email instructions have not been received
Hello, very clever guy 🙂
Very big thank for your manuals!
Can you please help me with external mail warning, like you wrote about zimbra 8 🙂
Its not working in Carbonio CE 🙁 smthing changed there 🙁
Hello,
I have not tried in Carbonio CE. However, I recommend you to use PMG to get it
– https://imanudin.net/2023/02/15/proxmox-mail-gateway-how-to-add-external-warning-on-email-subject/
– https://imanudin.net/2023/02/16/adding-an-external-warning-to-email-bodies-in-proxmox-mail-gateway-a-simple-guide/