How to Enable Files, Preview, Docs, and Editor Features on Carbonio CE

Posted by

In this guide, I will separate the basic email features from the additional features such as Files, Preview, Docs, and Editor in Carbonio CE. So, I have two servers: one for the basic email features and another for the additional features. I’m using this approach to make future upgrades easier.

However, if you want to use the additional features on the same server as the basic features, skip ahead to the “Install Database” step.

Please make sure you have already installed Carbonio CE by following this guide: How to Install Carbonio CE on Oracle Linux 8 Easily.

System Information

Domain : imanudin.web.id
Hostname : collaboration
IP Address : 192.168.1.243
Hostname (FQDN) : collaboration.imanudin.web.id

Preparation

# Configure /etc/hosts

Please adjust the /etc/hosts file on both servers (the basic features server and the additional features server) as shown below:

127.0.0.1     localhost
192.168.1.242  carbonio.imanudin.web.id  carbonio
192.168.1.243  collaboration.imanudin.web.id  collaboration

# Get ldap_master_host and ldap_root_password from basic features server

su - zextras
zmlocalconfig -s ldap_root_password
zmlocalconfig -s ldap_master_url

Example output

[root@localhost ~]# su - zextras
Last login: Wed Mar 26 10:48:21 WIB 2025 on pts/0
[zextras@carbonio ~]$ zmlocalconfig -s ldap_root_password
ldap_root_password = XBCaetJ5c
[zextras@carbonio ~]$ zmlocalconfig -s ldap_master_url
ldap_master_url = ldap://carbonio.imanudin.web.id:389

# Install files-ui on basic features server

dnf install carbonio-files-ui carbonio-files-public-folder-ui

# Configure Hostname

Please run the following command

hostnamectl set-hostname collaboration.imanudin.web.id

# Configure /etc/resolv.conf

Adjust /etc/resolv.conf as below :

nameserver 8.8.8.8
nameserver 1.1.1.1
search imanudin.web.id

# 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

For Oracle Linux 8

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
dnf install screen

For Rocky Linux 8

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
dnf install screen

# 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 service-discover-agent

dnf -y install service-discover-agent

# Install Database

Please run screen (for background process) before starting the installation.

screen
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql
dnf -y install postgresql16 postgresql16-server

# Initialise and enable the database

/usr/pgsql-16/bin/postgresql-16-setup initdb
systemctl enable --now postgresql-16

# Setup Database

export DB_ADM_PWD="StrongPass"
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;\""
su - postgres -c "psql --command=\"ALTER SYSTEM SET listen_addresses TO '*';\""
su - postgres -c "psql --command=\"ALTER SYSTEM SET max_connections = 500;\""
su - postgres -c "psql --command=\"ALTER SYSTEM SET shared_buffers = 5000;\""
echo "host    all             all             0.0.0.0/0            md5" >> /var/lib/pgsql/16/data/pg_hba.conf
systemctl restart postgresql-16

Note: Please adjust “StrongPass” with your desired password.

# Install Carbonio Database

dnf install carbonio-files-db carbonio-mailbox-db \
carbonio-docs-connector-db

# Initial Configuration

carbonio-bootstrap

Please type 1 then press enter. Please type 2 then press enter to configure ldap master host. Insert ldap server hostname (carbonio.imanudin.web.id)

Address unconfigured (**) items  (? - help) 1


Common configuration

   1) Hostname:                                collaboration.imanudin.web.id 
** 2) Ldap master host:                        UNSET                         
   3) Ldap port:                               389                           
** 4) Ldap Admin password:                     UNSET                         
   5) LDAP Base DN:                            cn=zimbra                     
   6) Secure interprocess communications:      no                            
   7) TimeZone:                                America/Los_Angeles           
   8) IP Mode:                                 ipv4                          
   9) Default SSL digest:                      sha256                        

Select, or 'r' for previous menu [r] 2

Please enter the ldap server hostname: carbonio.imanudin.web.id 

Please type 4 then press enter to configure Ldap Admin password

Common configuration

   1) Hostname:                                collaboration.imanudin.web.id 
   2) Ldap master host:                        carbonio.imanudin.web.id      
   3) Ldap port:                               389                           
** 4) Ldap Admin password:                     Not Verified                  
   5) LDAP Base DN:                            cn=zimbra                     
   6) Secure interprocess communications:      no                            
   7) TimeZone:                                America/Los_Angeles           
   8) IP Mode:                                 ipv4                          
   9) Default SSL digest:                      sha256                        

Select, or 'r' for previous menu [r] 4

Password for ldap admin user (min 6 characters): [XBCaetJ5c] XBCaetJ5c

Once everything is properly configured, type r to return to the previous menu. Then, type y and press Enter to continue with the bootstrap configuration.

Select, or 'r' for previous menu [r] r

Main menu

   1) Common Configuration:
   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.43242...done.
Operations logged to /tmp/zmsetup.20250326-115015.log
Setting local config values...done.
Updating ldap_root_password and zimbra_ldap_password...done.
Setting up CA...done.
Deploying CA to /opt/zextras/conf/ca ...done.
Creating server entry for collaboration.imanudin.web.id...done.
Setting IP Mode...done.
Saving CA in ldap...done.
Generating dhparam key...done.
Setting services on collaboration.imanudin.web.id...done.
Setting up syslog.conf...done.
Starting servers...
done.
Skipping creation of default domain GAL sync account - not a service node.
Setting up zextras crontab...done.

Moving /tmp/zmsetup.20250326-115015.log to /opt/zextras/log

Configuration complete - press return to exit 

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

Enter the mesh secret password, which can be found in the /var/lib/service-discover/password file on the basic features server.

# Bootstrap Carbonio Databases

PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1

# Install Carbonio Files and Docs

dnf install carbonio-files-ce carbonio-docs-editor carbonio-docs-connector-ce carbonio-preview-ce

To complete the installation, please run the command below

pending-setups -a

Insert mesh secret password

# Configure Memcached

Open file /etc/carbonio/preview/config.ini

vi /etc/carbonio/preview/config.ini

Adjust the line below. If it does not exist, please add it at the bottom of the file.

nginx_lookup_server_full_path_urls = https://192.168.1.242:7072
memcached_server_full_path_urls = 192.168.1.242:11211

Note:

– nginx_lookup_server_full_path_urls fill with the IP address of mailbox server
– memcached_server_full_path_urls fill with the IP address of proxy server

# Test Carbonio Files

Go to carbonio webmail and test upload files

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.