Install Kolab 16 Groupware Server on CentOS 7.x / RHEL 7.x

Kolab is a free and Open source groupware software for Unix like operating system. Kolab Groupware provides solution for email server (SMTP), Calender / Events, Address book (LDAP) and more.

Kolab can be accessed via various clients like Outlook in Windows, KDE (Kontact) in Linux and RoundCube Web Interface.

In this article i am going to install kolab 16 Groupware on a single Server (CentOS 7.x / RHEL 7.x ) which will include the services like SMTP, IMAP, LDAP, HTTP and database Server (MariaDB Server).

Below are the details of my Server

  • Hostname = kolab.linuxtechi.com
  • IP Address = 192.168.1.21
  • OS = CentOS 7.x / RHEL 7.x

Step:1 Disable SELinux and Set hostname

As per the Kolab documentation, Kolab groupware components are not compatible with SELinux, so we will disable it using below commands .

[root@kolab ~]# setenforce 0
[root@kolab ~]# getenforce 
Permissive
[root@kolab ~]#

Above command will set SELinux in permissive mode temporary, so to disable it permanently, edit its config file ‘ /etc/sysconfig/selinux‘ change the parameter ‘SELINUX=enforcing‘ to ‘SELINUX=disabled‘ and reboot the server.

To Set the hostname permanently use hostnamectl command.

[root@kolab ~]# hostnamectl set-hostname "kollab.linuxtechi.com"

Update the host file in case you don’t have local DNS server.

[root@kolab ~]# vi /etc/hosts
192.168.1.21 kolab.linuxtechi.com

Step:2 Allow Kolab Standard ports in firewall.

Use the below commands to allow kolab standart ports in OS firewall.

[root@kolab ~]# firewall-cmd --permanent --add-service=ssh
success
[root@kolab ~]# firewall-cmd --permanent --add-service=http
success
[root@kolab ~]# firewall-cmd --permanent --add-service=https
success
[root@kolab ~]# firewall-cmd --permanent --add-service=pop3s
success
[root@kolab ~]# firewall-cmd --permanent --add-service=imaps
success
[root@kolab ~]# firewall-cmd --permanent --add-service=smtp
success
[root@kolab ~]# firewall-cmd --permanent --add-service=ldap
success
[root@kolab ~]# firewall-cmd --permanent --add-service=ldaps
success
[root@kolab ~]# firewall-cmd --permanent --add-port=110/tcp
success
[root@kolab ~]# firewall-cmd --permanent --add-port=143/tcp
success
[root@kolab ~]# firewall-cmd --permanent --add-port=587/tcp
success
[root@kolab ~]# firewall-cmd --reload
success
[root@kolab ~]#

Step:3 Enable EPEL and Kolab Repository

Use below commands to enable epel and kolab repository,

[root@kolab ~]# rpm -Uhv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@kolab ~]# cd /etc/yum.repos.d/
[root@kolab yum.repos.d]# wget http://obs.kolabsys.com/repositories/Kolab:/16/CentOS_7/Kolab:16.repo

Use below command to import the key which will be used to sign the packages

[root@kolab ~]# rpm --import https://ssl.kolabsys.com/community.asc
[root@kolab ~]#

Install yum-plugin-priorities package

[root@kolab ~]# yum install yum-plugin-priorities

Set the High priority for Kolab repository using below command.

[root@kolab ~]# for f in /etc/yum.repos.d/Kolab*.repo; do echo "priority = 60" >> $f; done
[root@kolab ~]#

Step:4 Install and Configure Kolab.

Use the below yum command to install kolab

[root@kolab ~]# yum install kolab

Now time to configure Kolab by executing below ‘setup-kolab‘ command and specify LDAP password, domain info and Database password.

[root@kolab ~]# setup-kolab

Created symlink from /etc/systemd/system/multi-user.target.wants/guam.service to /usr/lib/systemd/system/guam.service.

Please supply a password for the LDAP administrator user 'admin', used to login
to the graphical console of 389 Directory server.

Administrator password [jzucZOpwwwGQ0KO]: 
Confirm Administrator password:

Please supply a password for the LDAP Directory Manager user, which is the
administrator user you will be using to at least initially log in to the Web
Admin, and that Kolab uses to perform administrative tasks.

Directory Manager password [e58Z-DlULxLcEeF]: 
Confirm Directory Manager password:

Please choose the system user and group the service should use to run under.
These should be existing, unprivileged, local system POSIX accounts with no
shell.

User [nobody]: 
Group [nobody]:

This setup procedure plans to set up Kolab Groupware for the following domain
name space. This domain name is obtained from the reverse DNS entry on your
network interface. Please confirm this is the appropriate domain name space.

linuxtechi.com [Y/n]: Y

The standard root dn we composed for you follows. Please confirm this is the root
dn you wish to use.

dc=linuxtechi,dc=com [Y/n]: Y

Setup is now going to set up the 389 Directory Server. This may take a little
while (during which period there is no output and no progress indication).

Created symlink from /etc/systemd/system/multi-user.target.wants/dirsrv.target to /usr/lib/systemd/system/dirsrv.target.

Please supply a Cyrus Administrator password. This password is used by Kolab to
execute administrative tasks in Cyrus IMAP. You may also need the password
yourself to troubleshoot Cyrus IMAP and/or perform other administrative tasks
against Cyrus IMAP directly.

Cyrus Administrator password [0Oc4nmyeTpnjTW2]: 
Confirm Cyrus Administrator password:

Please supply a Kolab Service account password. This account is used by various
services such as Postfix, and Roundcube, as anonymous binds to the LDAP server
will not be allowed.

Kolab Service password [sGU25rl-5Q7Ewic]: 
Confirm Kolab Service password: 
Job for clamd@amavisd.service failed because start of the service was attempted too often. See "systemctl status clamd@amavisd.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed clamd@amavisd.service" followed by "systemctl start clamd@amavisd.service" again.
Created symlink from /etc/systemd/system/multi-user.target.wants/amavisd.service to /usr/lib/systemd/system/amavisd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/clamd@amavisd.service to /etc/systemd/system/clamd@.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/wallace.service to /usr/lib/systemd/system/wallace.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
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

Please supply a root password for MySQL. This password will be the administrative
user for this MySQL server, and it should be kept a secret. After this setup
process has completed, Kolab is going to discard and forget about this password,
but you will need it for administrative tasks in MySQL.

MySQL root password [-nwxIMrNyT_0cRB]: 
Confirm MySQL root password:

Please supply a password for the MySQL user 'kolab'. This password will be used
by Kolab services, such as the Web Administration Panel.

MySQL kolab password [yO2zsl5PEyTmbti]: 
Confirm MySQL kolab password:

Please supply the timezone PHP should be using. You have to use a Continent or
Country / City locality name like 'Europe/Berlin', but not just 'CEST'.

Timezone ID [UTC]: Asia/Kolkata

Please supply a password for the MySQL user 'roundcube'. This password will be
used by the Roundcube webmail interface.

MySQL roundcube password [rUf1emw_km1TLMB]: 
Confirm MySQL roundcube password: 
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/kolab-saslauthd.service to /usr/lib/systemd/system/kolab-saslauthd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/cyrus-imapd.service to /usr/lib/systemd/system/cyrus-imapd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/kolabd.service to /usr/lib/systemd/system/kolabd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/manticore.service to /usr/lib/systemd/system/manticore.service.
[root@kolab ~]#

Step:5 Access Kolab Web Admin Console

Access the kolab web admin console using the below URL :

http://192.168.1.21/kolab-webadmin/
OR
http://<HostName>/kolab-webadmin/

Replace the IP or Hostname as per your setup.

Use user name as ‘cn=Directory Manager‘ and password that we set in above step.

Kolab-Web-Admin-Panel-Credentials

Kolab-Web-Admin-Panel-Dashboard

Now Let’s try to create a mail user from admin Panel. Click on Users Icon in web Admin Panel.

Specify Account Type as ‘Mail-enabled POSIX User

Mail-user-from kolab-admin-panel

From the Contact Tab, verify the email address of the user.

User-email-account

From the System Tab, we can get the password for the user and also we can generate new password as well.

password-email-account

From the Configuration Tab we can set the email Quota for the User. Once you are done with all the configuration , click on Submit to create user.

Step:6 Login to Kolab Roundcube Webmail

Use the below URL to access the Kolab Roundcube Webmail.

http://192.168.1.21/roundcubemail/

OR

http://<HostName>/roundcubemail/

Use the user name as Primary email id, in my case user name is ‘pradeep.kumar@linuxtechi.com’ and password that we set while creating user.

Kolab-Groupware-Roundcubemail

Kolab-Groupware-Roundcube-overview

As we see that from the Roundcube webmail we can access the mail, address book, calenders and tasks.

That’s conclude this article and try to explore the Kolab Groupware further and have fun 🙂

2 Responses

  1. visal soeun says:

    Hello, when I install Kolab during this processing it shows me error about php-mysql and php-mysqlnd as well. I like this website, and I hope this website post more service in Linux. Thank you

  2. yaya says:

    Hi
    How to add email group and email alias ?
    Thank you
    Yaya

Leave a Reply

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