EGroupware is a an open source collaboration, groupware software based on PHP, JS and HTML and distributed under the terms of GNU General Public License (GPL) Version 2. You can use EGroupware via its native web-interface, allowing platform-independent access, or by using different supported clients using CalDAV/CardDAV or ActiveSync protocol. In this guide, we will walk you through the installation of EGroupware CE on Ubuntu 18.04 Linux.

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.

Now that you’re ready for installation, follow the steps outlined in the next section to install EGroupware CE on Ubuntu 18.04 (Bionic Beaver) Linux.

Step 1: Update Ubuntu System

Update the system packages to the latest available versions.

sudo apt update
sudo apt -y upgrade && sudo systemctl reboot

Step 2: Add EGroupware APT Repository

We will be doing installation of EGroupware 19.x which is based on Docker containers. We need to add the repository which provides the packages needed for running EGroupware on Ubuntu.

Import repository GPG key:

sudo apt update
sudo apt -y install gnupg
wget -nv https://download.opensuse.org/repositories/server:eGroupWare/xUbuntu_18.04/Release.key -O - | sudo apt-key add -

Then add the actual repository contents to Ubuntu:

echo 'deb http://download.opensuse.org/repositories/server:/eGroupWare/xUbuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/server:eGroupWare.list

Step 3: Install EGroupware on Ubuntu 18.04

Start the installation of EGroupware packages:

sudo apt update
sudo apt install egroupware-docker egroupware-collabora-key egroupware-rocketchat

You can review dependencies and accept installation:

The following additional packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils bridge-utils cgroupfs-mount containerd docker-compose docker.io galera-3
  golang-docker-credential-helpers libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcgi-fast-perl libcgi-pm-perl
  libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl libjemalloc1 liblua5.2-0 liblwp-mediatypes-perl libmysqlclient20
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libsecret-1-0 libsecret-common libterm-readkey-perl libtimedate-perl liburi-perl
  mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server mariadb-server-10.1 mariadb-server-core-10.1 mysql-common pigz python
  python-asn1crypto python-backports.ssl-match-hostname python-cached-property python-certifi python-cffi-backend python-chardet python-cryptography
  python-docker python-dockerpty python-dockerpycreds python-docopt python-enum34 python-funcsigs python-functools32 python-idna python-ipaddress
  python-jsonschema python-minimal python-mock python-openssl python-pbr python-pkg-resources python-requests python-six python-texttable
  python-urllib3 python-websocket python-yaml python2.7 python2.7-minimal runc socat ssl-cert ubuntu-fan
Suggested packages:
  www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom ifupdown aufs-tools debootstrap docker-doc rinse zfs-fuse | zfsutils
  egroupware-epl-jdots egroupware-epl-phpbrain egroupware-epl-sitemgr egroupware-epl-wiki libclone-perl libmldbm-perl libnet-daemon-perl
  libsql-statement-perl libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx mariadb-test tinyca python-doc python-tk python-cryptography-doc
  python-cryptography-vectors python-enum34-doc python-funcsigs-doc python-mock-doc python-openssl-doc python-openssl-dbg python-setuptools
  python-socks python-ntlm python2.7-doc binutils binfmt-support openssl-blacklist
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils bridge-utils cgroupfs-mount containerd docker-compose docker.io egroupware-collabora-key
  egroupware-docker egroupware-rocketchat galera-3 golang-docker-credential-helpers libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl libjemalloc1 liblua5.2-0
  liblwp-mediatypes-perl libmysqlclient20 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libsecret-1-0 libsecret-common
  libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common mariadb-server mariadb-server-10.1
  mariadb-server-core-10.1 mysql-common pigz python python-asn1crypto python-backports.ssl-match-hostname python-cached-property python-certifi
  python-cffi-backend python-chardet python-cryptography python-docker python-dockerpty python-dockerpycreds python-docopt python-enum34
  python-funcsigs python-functools32 python-idna python-ipaddress python-jsonschema python-minimal python-mock python-openssl python-pbr
  python-pkg-resources python-requests python-six python-texttable python-urllib3 python-websocket python-yaml python2.7 python2.7-minimal runc socat
  ssl-cert ubuntu-fan
0 upgraded, 87 newly installed, 0 to remove and 0 not upgraded.
Need to get 95.7 MB of archives.
After this operation, 537 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Ensure docker and mariadb services are set to start at boot.

sudo systemctl enable --now mariadb docker

Confirm status of Docker containers.

$ sudo docker ps
CONTAINER ID        IMAGE                                     COMMAND                  CREATED              STATUS              PORTS                      NAMES
fc4f352cd34c        nginx:stable-alpine                       "nginx -g 'daemon of…"   About a minute ago   Up About a minute   127.0.0.1:8080->80/tcp     egroupware-nginx
f82e275de510        egroupware/egroupware:latest              "https://computingforgeeks.com/entrypoint.sh php-…"   About a minute ago   Up About a minute   9000/tcp                   egroupware
01010b89de5e        containrrr/watchtower                     "https://computingforgeeks.com/watchtower --sched…"   About a minute ago   Up About a minute                              egroupware-watchtower
aa469bef5375        rocketchat/rocket.chat:latest             "bash -c 'for i in `…"   About a minute ago   Up About a minute   127.0.0.1:3000->3000/tcp   rocketchat
789500f3ef5e        mongo:4.0                                 "docker-entrypoint.s…"   About a minute ago   Up About a minute   27017/tcp                  rocketchat-mongo
b95c75e8a053        quay.io/egroupware/collabora-key:stable   "https://computingforgeeks.com/bin/sh -c 'bash st…"   3 minutes ago        Up 3 minutes        127.0.0.1:9980->9980/tcp   collabora-key

Step 4: Accessing EGroupware CE Dashboard

Obtain Login credentials after installation of EGroupware on Ubuntu 18.04 LTS.

$ 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:      [email protected]

EGroupware username: sysop
           password: uka(x3j2OO|?=2gZ

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

Go to http://example.org/egroupware page to login to the dashboard with credentials:

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/04/echo/Install-EGroupware-CE-CentOS-Linux-1-1024×575.png5ea6c9b60bc36.jpg" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

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

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/04/echo/Install-EGroupware-CE-CentOS-Linux-2-1024×575.png5ea6c9b61c909.jpg" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

You can start administering EGroupware and configuring third party integrations.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/04/echo/Install-EGroupware-CE-CentOS-Linux-3-1024×575.png5ea6c9b6286e7.jpg" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

For CentOS refer to:

Install EGroupware CE on CentOS 7 / CentOS 8