You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

EGroupware is a Web based groupware server written in PHP. EGroupware is an open-source software created for companies, research institutes and clubs and any other suiting use case. In this guide, we will look at how you can install EGroupware Community edition on CentOS 7 / CentOS 8 Linux system.

Ubuntu installation: Install EGroupware CE on Ubuntu 18.04 Linux

EGroupware is based on PHP, JS and HTML and the software is distributed under the terms of GNU General Public License (GPL) Version 2. The software is used either via its native web-interface, allowing platform-independent access, or by using different supported clients using CalDAV/CardDAV or ActiveSync protocol.

Features of EGroupware

  • File Manager – Provides a detailed rights administration, archiving options and reading access to files for external partners make it easy.
  • Calendar – Schedule meetings, vacations and group appointments online.
  • Web Admin – Lots of needful tools and preferences to maintain the whole platform
  • Email Client – The integrated E-Mail Client is perfectly connected with the other modules like Calendar or InfoLog.
  • Tasks and Projects – Manage information and responsibilities for your whole team efficiently.

If you’re not sure of the version to go with, check the EGroupware pricing page for more details on feature comparisons.

Install EGroupware on CentOS 8 / CentOS 7 Linux

You can grab binary packages directly and install EGroupware on CentOS 7 / RHEL 7 from binary packages. The other option is adding the EGroupware repository manually and installing EGroupware on CentOS 7 / RHEL 7 from the repository. I prefer the latter because it eases updates.

Step 1: Add EGroupware repository

Add the repository by running the commands below in your terminal.

--- CentOS 7 ---
sudo yum -y install wget
sudo wget https://download.opensuse.org/repositories/server:eGroupWare/CentOS_7/server:eGroupWare.repo -O  /etc/yum.repos.d/eGroupWare.repo

--- CentOS 8 ---
sudo yum -y install wget
sudo wget https://download.opensuse.org/repositories/server:eGroupWare/CentOS_8/server:eGroupWare.repo -O  /etc/yum.repos.d/eGroupWare.repo

You can check the repository file contents with cat command.

$ cat /etc/yum.repos.d/eGroupWare.repo
[server_eGroupWare]
name=EGroupware (CentOS_7)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/server:/eGroupWare/CentOS_7/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/server:/eGroupWare/CentOS_7/repodata/repomd.xml.key
enabled=1

Step 2: Install MariaDB Database Server

Add MariaDB repository:

CentOS 7:

cat <<EOF | sudo tee /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

CentOS 8:

sudo tee /etc/yum.repos.d/MariaDB.repo<<EOF 
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Install and start MariaDB service:

CentOS 7:

sudo yum -y install MariaDB-server MariaDB-client
sudo systemctl enable --now mariadb

CentOS 8:

sudo dnf install boost-program-options
sudo dnf install MariaDB-server MariaDB-client --disablerepo=AppStream 
sudo systemctl enable --now mariadb

Step 3: Install EGroupware on CentOS 8 / CentOS 7

For CentOS 8, install Docker Manually from Docker CE repository:

Only CentOS 8:

sudo curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
sudo dnf -y  install docker-ce --nobest
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

RHEL/CentOS 8 uses nftables instead of iptables, which does not work with current docker-ce. You need to configure firewalld to use iptables by editing:

$ sudo vi  /etc/firewalld/firewalld.conf
#FirewallBackend=nftables
FirewallBackend=iptables

$ sudo systemctl restart firewalld

After addition of the repository, proceed to install EGroupware on CentOS 7 / RHEL 7 Linux machine.

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
sudo yum install egroupware-docker egroupware-collabora-key egroupware-rocketchat

Start installation by accepting the prompt given with y key.

Dependencies Resolved

=======================================================================================================================================================
 Package                                           Arch              Version                                        Repository                    Size
=======================================================================================================================================================
Installing:
 egroupware-docker                                 noarch            19.1.20200409-1.1                              server_eGroupWare            296 k
Installing for dependencies:
 PyYAML                                            x86_64            3.10-11.el7                                    base                         153 k
 apr                                               x86_64            1.4.8-5.el7                                    base                         103 k
 apr-util                                          x86_64            1.5.2-6.el7                                    base                          92 k
 atomic-registries                                 x86_64            1:1.22.1-29.gitb507039.el7                     extras                        35 k
 audit-libs-python                                 x86_64            2.8.5-4.el7                                    base                          76 k
 centos-logos                                      noarch            70.0.6-3.el7.centos                            base                          21 M
 checkpolicy                                       x86_64            2.5-8.el7                                      base                         295 k
 container-selinux                                 noarch            2:2.107-3.el7                                  extras                        39 k
 container-storage-setup                           noarch            0.11.0-2.git5eaf76c.el7                        extras                        35 k
 containers-common                                 x86_64            1:0.1.37-3.el7.centos                          extras                        21 k
 device-mapper-event                               x86_64            7:1.02.158-2.el7_7.2                           updates                      190 k
 device-mapper-event-libs                          x86_64            7:1.02.158-2.el7_7.2                           updates                      189 k
 device-mapper-persistent-data                     x86_64            0.8.5-1.el7                                    base                         423 k
 docker                                            x86_64            2:1.13.1-109.gitcccb291.el7.centos             extras                        18 M
 docker-client                                     x86_64            2:1.13.1-109.gitcccb291.el7.centos             extras                       3.9 M
 docker-common                                     x86_64            2:1.13.1-109.gitcccb291.el7.centos             extras                        98 k
 docker-compose                                    x86_64            1.24.1-6.1                                     server_eGroupWare            4.0 k
 httpd                                             x86_64            2.4.6-90.el7.centos                            base                         2.7 M
 httpd-tools                                       x86_64            2.4.6-90.el7.centos                            base                          91 k
 libaio                                            x86_64            0.3.109-13.el7                                 base                          24 k
 libcgroup                                         x86_64            0.41-21.el7                                    base                          66 k
 libsemanage-python                                x86_64            2.5-14.el7                                     base                         113 k
 libyaml                                           x86_64            0.1.4-11.el7_0                                 base                          55 k
 lvm2                                              x86_64            7:2.02.185-2.el7_7.2                           updates                      1.3 M
 lvm2-libs                                         x86_64            7:2.02.185-2.el7_7.2                           updates                      1.1 M
 mailcap                                           noarch            2.1.41-2.el7                                   base                          31 k
 mod_ssl                                           x86_64            1:2.4.6-90.el7.centos                          base                         112 k
 oci-register-machine                              x86_64            1:0-6.git2b44233.el7                           extras                       1.1 M
 oci-systemd-hook                                  x86_64            1:0.2.0-1.git05e6923.el7_6                     extras                        34 k
 oci-umount                                        x86_64            2:2.5-3.el7                                    extras                        33 k
 policycoreutils-python                            x86_64            2.5-33.el7                                     base                         457 k
 python-IPy                                        noarch            0.75-6.el7                                     base                          32 k
 python-backports                                  x86_64            1.0-8.el7                                      base                         5.8 k
 python-backports-ssl_match_hostname               noarch            3.5.0.1-1.el7                                  base                          13 k
 python-ipaddress                                  noarch            1.0.16-2.el7                                   base                          34 k
 python-pytoml                                     noarch            0.1.14-1.git7dea353.el7                        extras                        18 k
 python-setuptools                                 noarch            0.9.8-7.el7                                    base                         397 k
 setools-libs                                      x86_64            3.3.8-4.el7                                    base                         620 k
 subscription-manager-rhsm-certificates            x86_64            1.24.13-4.el7.centos                           updates                      228 k
 yajl                                              x86_64            2.0.4-4.el7                                    base                          39 k
Updating for dependencies:
 audit                                             x86_64            2.8.5-4.el7                                    base                         256 k
 audit-libs                                        x86_64            2.8.5-4.el7                                    base                         102 k
 device-mapper                                     x86_64            7:1.02.158-2.el7_7.2                           updates                      294 k
 device-mapper-libs                                x86_64            7:1.02.158-2.el7_7.2                           updates                      322 k
 policycoreutils                                   x86_64            2.5-33.el7                                     base                         916 k

Transaction Summary
=======================================================================================================================================================
Install  1 Package  (+40 Dependent packages)
Upgrade             (  5 Dependent packages)

Total download size: 55 M
Is this ok [y/d/N]: y

You should see containers being started:

....
Digest: sha256:8616a861a5c769b7fe633625a4d5a4f76ae5a54d1d04874dcef827644c136684
Status: Downloaded newer image for docker.io/docker/compose:1.24.1
Creating network "egroupware-rocketchat_default" with the default driver
Creating volume "egroupware-rocketchat_mongo" with default driver
Pulling mongo (mongo:4.0)...
Trying to pull repository docker.io/library/mongo ... 
4.0: Pulling from docker.io/library/mongo
Digest: sha256:53fcee17f21474d55dcd62e7acaa011be69a548f26cb643e06b39966159e7269
Status: Downloaded newer image for docker.io/mongo:4.0
Pulling rocketchat (rocketchat/rocket.chat:latest)...
Trying to pull repository docker.io/rocketchat/rocket.chat ... 
latest: Pulling from docker.io/rocketchat/rocket.chat
Digest: sha256:6808869e4751d95273d468da5efd1262a01f3686bf8d2e8a6603dc6eb995295b
Status: Downloaded newer image for docker.io/rocketchat/rocket.chat:latest
Creating rocketchat-mongo ... done
Creating egroupware-rocketchat_mongo-init-replica_1 ... done
Creating rocketchat                                 ... done
  Installing : egroupware-collabora-key-1.3.20190911-4.1.noarch        
.....
Status: Downloaded newer image for docker.io/containrrr/watchtower:latest
Creating egroupware            ... done
Creating egroupware-watchtower ... done
Creating egroupware-nginx      ... done
....

Check running containers:

$ sudo docker ps
CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                      NAMES
db333abf8c4c        nginx:stable-alpine                       "nginx -g 'daemon ..."   5 minutes ago       Up 5 minutes        127.0.0.1:8080->80/tcp     egroupware-nginx
04fd31decde5        egroupware/egroupware:latest              "/entrypoint.sh ph..."   5 minutes ago       Up 5 minutes        9000/tcp                   egroupware
06db3adb5b2f        containrrr/watchtower                     "/watchtower --sch..."   5 minutes ago       Up 5 minutes                                   egroupware-watchtower
177424aefb2a        quay.io/egroupware/collabora-key:stable   "/bin/sh -c 'bash ..."   6 minutes ago       Up 5 minutes        127.0.0.1:9980->9980/tcp   collabora-key
c2da091e13f0        rocketchat/rocket.chat:latest             "bash -c 'for i in..."   6 minutes ago       Up 6 minutes        127.0.0.1:3000->3000/tcp   rocketchat
8599b69cde22        mongo:4.0                                 "docker-entrypoint..."   6 minutes ago       Up 6 minutes        27017/tcp                  rocketchat-mongo

Step 4: Accessing EGroupware CE Dashboard

Now that the containers are started, visit the Go http://example.org/egroupware page to login to the dashboard with credentials.

Obtain Login credentials after installation of EGroupware on CentOS 7 / CentOS 8:

$ sudo  cat /var/lib/egroupware/egroupware-docker-install.log 
Fix APC(u) configuration, set apc.shm_size=128M in /etc/php/7.3/cli/conf.d/20-apcu.ini
Timezones updated to version 2.2019c (546 records updated).
Timezones aliases updated to version 2020-04-09 09:54:19 (87 records updated).
You might need to clear the cache for changes to be visiable: Admin >> Clear cache!

EGroupware successful installed
===============================

Please note the following user names and passwords:

Setup username:      admin
      password:      EEaw?Tyws3MIJz-I

EGroupware username: sysop
           password: LEzs;itjm(HPxLgH

You can log into EGroupware by pointing your browser to http://localhost/egroupware/
Please replace localhost with the appropriate hostname, if you connect remote.

*** Database has no root password set, please fix that immediatly: mysqladmin -u root password NEWPASSWORD

Then use them on the Login page.

Use the credentials shown in the Docker compose run output to login.

You can start administering EGroupware and configuring third party integrations.

The Setup Page is accessible at http://example.org/egroupware/setup

Step 5: Stopping Docker Services

You can stop the containers anytime you want by changing to docker compose directory and running the command below.

# cd /etc/egroupware-docker/
# docker-compose stop
Stopping egroupware-nginx      ... done
Stopping egroupware            ... done
Stopping egroupware-watchtower ... done

Conclusion

The primary functions of EGroupware allow users to manage:

  • Contacts
  • Appointments
  • Projects
  • TO-DO Lists
  • Documents and Emails
  • and many more
You can support us by downloading this article as PDF from the Link below. Download the guide as PDF