How to Install Carbonio CE on Oracle Linux 8 Easily

Posted by

In this guide, I am using Oracle Linux 8. However, you can adapt it for Rocky 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. I will create a separate guide for enabling those features.

System Information

Domain : imanudin.web.id
Hostname : carbonio
IP Address : 192.168.1.242
Hostname (FQDN) : carbonio.imanudin.web.id

# Configure /etc/hosts

Adjust /etc/hosts as below :

127.0.0.1     localhost
192.168.1.242  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 ol8_baseos_latest
dnf config-manager --set-enabled ol8_appstream
dnf config-manager --set-enabled ol8_codeready_builder
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.242
host-record=carbonio.imanudin.web.id,192.168.1.242" > /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.242

# 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.242/24, fe80::20c:29ff:fee9:cd29/64
Specify the binding address for service discovery: 192.168.1.242/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 🙂

Leave a 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.