How to Install Kolab Groupware on CentOS 7

Updated on November 21, 2023
How to Install Kolab Groupware on CentOS 7 header image

Kolab Groupware is a free and open source web-based groupware application. Its features consist of email communications, events, appointments, tasks, file cloud, contacts, and more. In this tutorial, you will learn how to install the latest version of Kolab Groupware on CentOS 7.

Prerequisites

  • A Vultr CentOS 7 server instance.
  • A sudo user.

Step 1: Software update

Before installing any packages on the CentOS server instance, it is recommended to update the system. Log into the system using the sudo user, then run the following commands to update the system.

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

Wait for the system to reboot, then log in again as the sudo user.

Step 2: Set hostname

It is important that your system has an FQDN (full qualified domain name) for a hostname that resolves back to the server through DNS.

sudo hostnamectl kolab.example.com

Edit the /etc/hosts file using your favorite editor.

sudo nano /etc/hosts

Enter the IP address and full FQDN of your server at the end of the file. For example:

192.0.2.0     kolab.example.com

Step 3: Disable SELinux

SELinux policies conflicts with some modules of Kolab Groupware, hence you will need to disable SELinux on your server. With Vultr instances, SELinux is disabled by default. Check SELinux status.

sestatus

To temporary disable SELinux, run the following command.

sudo setenforce 0

To completely disable SELinux, you will need to edit /etc/selinux/config file.

sudo nano /etc/selinux/config

Find the following line:

SELINUX=enforcing

Then change it to:

SELINUX=disabled

And finally, reboot the server. Log back in once the reboot completes.

sudo shutdown -r now

Step 4: Configure firewall

Allow the ports needed by Kolab Groupware through the system firewall.

sudo firewall-cmd --permanent --add-service=http 
sudo firewall-cmd --permanent --add-service=https 
sudo firewall-cmd --permanent --add-service=pop3s 
sudo firewall-cmd --permanent --add-service=imaps 
sudo firewall-cmd --permanent --add-service=smtp 
sudo firewall-cmd --permanent --add-service=ldap 
sudo firewall-cmd --permanent --add-service=ldaps
sudo firewall-cmd --permanent --add-port=110/tcp 
sudo firewall-cmd --permanent --add-port=143/tcp 
sudo firewall-cmd --permanent --add-port=587/tcp
sudo firewall-cmd --reload

Step 5: Install Kolab

Add the Kolab Groupware repository and GPG key to the system.

sudo wget http://obs.kolabsys.com/repositories/Kolab:/16/CentOS_7/Kolab:16.repo -O /etc/yum.repos.d/Kolab:16.repo
sudo rpm --import https://ssl.kolabsys.com/community.asc

Install the yum-plugin-priorities package.

sudo yum -y install yum-plugin-priorities

Give Kolab repository a higher priority over the EPEL repository using the following command.

 sudo bash -c 'for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done'

Install Kolab Groupware.

sudo yum -y install kolab

Step 6: Configure Kolab

Run the following command to configure the Kolab for first time. You will need to set a few administrator passwords for LDAP, Cyrus, and Kolab during this step. You will also need to set the domain name and MySQL database being used.

sudo setup-kolab

The following questions will be asked during setup, please follow the instructions provided along with them.

Administrator password:                            #Provide LDAP admin password for default user 'admin'
Directory Manager password [qhZlb2P9OYubDJv]:      #Provide LDAP directory manger password

User [dirsrv]:                                     #Press enter to use default
Group [dirsrv]:                                    #Press enter to use default

rackvoucher.com [Y/n]:                             #Check or provide the domain name, it may not be a full FQDN
dc=rackvoucher,dc=com [Y/n]:                       #Press enter

Cyrus Administrator password [Awt7z1O2UTl-HZs]:    #Provide Cyrus admin password
Kolab Service password [T_T4ut8pvE_G_Os]:          #Provide Kolab service admin password

What MySQL server are we setting up?
 - 1: Existing MySQL server (with root password already set).
 - 2: New MySQL server (needs to be initialized).
Choice: 2                                          #Provide choice 2 to initialize MySQL server

MySQL root password [E7FIj_MWGNEVXPF]:             #Provide new MySQL root password
MySQL kolab password [8MYG_Hveb4FPCW3]:            #Provide Kolab DB user password

Timezone ID [UTC]: Asia/Kolkata                    #Provide appropriate timezone

MySQL roundcube password [iz3gP7sqaBa6Vh6]:        #Provide Roundcube DB user password

Kolab is now installed and configured on your server. You can visit the following address to access the Kolab web interface.

http://your-vultr-server-ip/kolab-webadmin

Login with the username cn=Directory Manager and the password of the directory manager set during Kolab Setup. You will be presented with the Kolab Groupware dashboard.