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 firstname.lastname@example.org failed because start of the service was attempted too often. See "systemctl status email@example.com" and "journalctl -xe" for details. To force a start use "systemctl reset-failed firstname.lastname@example.org" followed by "systemctl start email@example.com" again. Created symlink from /etc/systemd/system/multi-user.target.wants/amavisd.service to /usr/lib/systemd/system/amavisd.service. Created symlink from /firstname.lastname@example.org 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 :
Replace the IP or Hostname as per your setup.
Use user name as ‘cn=Directory Manager‘ and password that we set in above step.
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‘
From the Contact Tab, verify the email address of the user.
From the System Tab, we can get the password for the user and also we can generate new password as well.
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.
Use the user name as Primary email id, in my case user name is ‘email@example.com’ and password that we set while creating user.
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 🙂