In this guide, I am using Rocky Linux 8. However, you can adapt it for Oracle Linux 8 or AlmaLinux 8. Additionally, this guide only covers the basic installation for email usage. It does not include features such as chat, office, or file sharing. You can see here for enabling those features.
System Information
Domain : imanudin.web.id Hostname : carbonio IP Address : 192.168.1.27 Hostname (FQDN) : carbonio.imanudin.web.id
# Configure /etc/hosts
Adjust /etc/hosts as below :
127.0.0.1 localhost 192.168.1.27 carbonio.imanudin.web.id carbonio
# Configure Hostname
Please run the following command
hostnamectl set-hostname carbonio.imanudin.web.id
# Configure /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
# Configure Selinux and Firewall
sed -i s/'SELINUX='/'#SELINUX='/g /etc/selinux/config echo 'SELINUX=disabled' >> /etc/selinux/config setenforce 0 service firewalld stop service iptables stop service ip6tables stop systemctl disable firewalld systemctl disable iptables systemctl disable ip6tables
# Enable Repository
dnf config-manager --set-enabled baseos dnf config-manager --set-enabled appstream dnf config-manager --set-enabled powertools dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# Install and configure DNSMasq (local DNS)
dnf install dnsutils screen dnsmasq
Please run the following command
echo "server=8.8.8.8 mx-host=imanudin.web.id,carbonio.imanudin.web.id,10 host-record=imanudin.web.id,192.168.1.27 host-record=carbonio.imanudin.web.id,192.168.1.27" > /etc/dnsmasq.d/imanudin.web.id.conf
Please open file /etc/dnsmasq.d/imanudin.web.id.conf and adjust with your system
# Restart dnsmasq service
systemctl enable --now dnsmasq systemctl restart dnsmasq
Test DNS using host command
host -t MX imanudin.web.id host -t A carbonio.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 carbonio.imanudin.web.id. root@mail:~# host -t A carbonio.imanudin.web.id mail.imanudin.web.id has address 192.168.1.27
# Configure Zextras Carbonio CE Repository
Please run the following command
cat << EOF > /etc/yum.repos.d/zextras.repo [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 EOF
# Install Zextras Carbonio CE
Please run screen (for background process) before starting the installation.
screen
dnf install service-discover-server \ carbonio-directory-server \ carbonio-proxy carbonio-webui \ carbonio-mta \ carbonio-appserver carbonio-storages-ce \ carbonio-message-broker \ carbonio-user-management
# Initial Configuration
carbonio-bootstrap
Just type y and click the enter button for the initialization process. Below is an example output
Main menu 1) Common Configuration: 2) carbonio-antivirus: Enabled 3) carbonio-directory-server: 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 Saving config in /opt/zextras/config.18258...done. Operations logged to /tmp/zmsetup.20250324-140819.log Setting local config values...
# 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
# Setup Memcached
su - zextras carbonio prov ms $(zmhostname) zimbraMemcachedBindAddress $(hostname -i)
# Restart Zextras Carbonio CE services
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
Hi Iman,
have you explored archival installation for carbonio. if so please share doc for the same.
Thanks
Hi Balu Mahendran,
I will write the guide soon
Hi Balu Mahendran,
Here we go: https://imanudin.net/2025/04/04/how-to-set-up-archiving-on-carbonio-ce/