How to Install Carbonio CE on Rocky Linux 8

Posted by

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

Zextras carbonio CE webmail
Zextras carbonio CE mail folder
Zextras carbonio CE admin
Zextras carbonio CE admin dashboard

Good luck 🙂

3 comments

  1. Hi Iman,

    have you explored archival installation for carbonio. if so please share doc for the same.

    Thanks

Leave a Reply to Imanudin Ahmad Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.