Learn how to – Install EGroupware CE on CentOS 7 / CentOS 8.
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
Leave a Reply
You must be logged in to post a comment.