Skip to content

EGroupware EPL Installation

Hadi Nategh edited this page May 22, 2018 · 18 revisions

WikiInstallation instructionsEGroupware EPL Installation

Content


Short Overview

The application EGroupware is external represented by a central webserver. A standard webbrowser is used as client. Therefore the application EGroupware is universal available.

As data storage a SQL database and the web-server filesystem is used.

The EGroupware itself consist of php-, javascript-, html- and css-programs, that will be installed in a directory on the server filesystem. The default installation directory is /usr/share/egroupware/.

The EGroupware installation workflow:

  • provision a server with an operating system - preferable Linux
  • installation of a web server software like apache (httpd)
  • installation of the programming language “php” with the extensions “pear” and “pecl”
  • installation of a sql database software
  • installation of the EGroupware software itself
  • configuration of the web server, “php” and the database server
  • creation of the EGroupware database with tables and to execute the EGroupware setup steps
  • activate license for EGroupware GmbH EPL Version 16.1

With the provision of the EGroupware EPL repository for various Linux distributions on our download server the installation process is simplified and reduced to following steps:

  • providing a Linux Server - now a minimal installation is sufficient, which most distributions provide with a so called minimal installation media
  • configuring the EGroupware EPL repository and adding additional repositories to the Linux system of your choice
  • an update / install with the shell command installer of your distribution; all additional dependent software packages will be installed too
  • if possible and wanted a differing configuration from the standard installation defaults

The EGroupware GmbH Support will be available to support you on installations that differ from the here described standard installation. Please contact us.

With the purchase of the EGroupware EPL product the login credentials to our download server were provided to you labeled with “EPL Software Repository” access. After successful log in, you will find the available repository packets under: http://download.egroupware.org/repos/stylite-epl/.

Check here whether a packet repository for your Linux distribution is available. We work hard to have a packet repository available within 1-2 weeks after a Linux distribution issued a new release.

Before you begin to update an already in use EGroupware installation, you should do a backup of the following:

  • the EGroupware database content
  • the content of the directories “files” and “backup” located on the server filesystem

The easiest way to do a database backup is with an administrator privileged account in EGroupware in the modul “Admin” - “DB backup and restore”. The same function you will find in the EGroupware setup panel. The database export will be stored on your server filesystem in the directory you have defined in the setup under the panel “edit current configuration” (//backup/). You will find there also the path of the file directory you should backup. They are called:

  • “full path for users and group files”
  • “full path to the backup directory”

The default directory of the above files and backup directories is: /var/lib/egroupware/

After the installation you will need to restore and migrate the saved database backup using EGroupware setup. You may need to add/change your egroupware database password in /var/lib/egroupware/header.inc.php. The variables you need to change are: db_user and db_pass.

For any Linux distribution the installation steps has to be done as user root and with root rights in a terminal session.

Please consider that your network and firewall on your server is configured to allow ports http/80, https/443 traffic.

Help on commands used through the installation process is always available on your system in kind of the manual pages - man commandname -, by entering the command with option -h or --help or entering the command without any options, which show usually a brief usage info of the command.

back to Content

Installer command: yum (rpm)

Available versions:

For all RedHat und CentOS 6.x : RHEL_6
For all RedHat und CentOS 7.x : RHEL_7

Attention should be paid to SE-Linux on RedHat and CentOS:

SE-Linux enforced may lead to problems accessing file paths for the webserver and the database server that needs to be accessable by EGroupware. The EGroupware install process tries to enable the used default file paths for SE-Linux but it does no harm to disable SE-Linux during the installation process. To disable SE-Linux set in file /etc/selinux/config the variable from SELINUX=enforcing to SELINUX=disabled. To activate that change a reboot of your Linux system is necessary.

Information how SE-Linux works and how to configure it after installation of EGroupware can be found at: http://wiki.centos.org/HowTos/SELinux

Please note: for CentOS7 and RedHat 7 the installation differ from the 2. step on from the Centos 5/6 and RedHat 5/6. In RedHat7 / CentOS7 the services startup has changed from SysVinit to SystemD. To make yourself familiar with SystemD have a look at: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/chap-Managing_Services_with_systemd.html

Step 1 - all versions:

  • Recommendation: Enable auto-update for packages and run an update:
yum -y install yum-cron
yum -y update

Setup the EGroupware EPL repository.

Switch to directory /etc/yum.repos.d/

cd /etc/yum.repos.d/

Create file egroupware-epl.repo

vi egroupware-epl.repo

with following content:

[egroupware-epl]
name=EGroupware EPL (RHEL_VERSION)
type=rpm-md
baseurl=http://USER:PASWORD@download.egroupware.org/repos/stylite-epl/VERSION/
gpgkey=http://USER:PASSWORD@download.egroupware.org/repos/stylite-epl/VERSION/repodata/repomd.xml.key
gpgcheck=1
enabled=1

Replace USER and PASSWORD with your EPL software repository credentials and VERSION with your RedHat, CentOS version, e.g:

[egroupware-epl]
name=EGroupware EPL (RHEL_7)
type=rpm-md
baseurl=http://peter:secret@download.egroupware.org/repos/stylite-epl/RHEL_7/
gpgkey=http://peter:secret@download.egroupware.org/repos/stylite-epl/RHEL_7/repodata/repomd.xml.key
gpgcheck=1
enabled=1

Save the file.

Step 2 - Installation RedHat6 - CentOS6:

Installation of the IUS repositories:

Switch to the root home directory:

cd /root

Download with wget the installation rpm files: (Consider: if CentOS was installed from minimal install media you must install wget)

yum install wget

For 32 Bit systems and RHEL6 / CentOS6 version:

wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-14.ius.el6.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/epel-release-6-5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/yum-plugin-replace-0.2.7-1.ius.el6.noarch.rpm

For 64 Bit systems and RHEL6 / CentOS6 version:

wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ius-release-1.0-14.ius.el6.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/epel-release-6-5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/yum-plugin-replace-0.2.7-1.ius.el6.noarch.rpm

If your download fails, please check on the web page whether a newer version is supplied.

http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/
http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/

After the successful download of the rpm files in the /root/ directory, install the repositories as follows:

rpm -i epel-release*.rpm
rpm -i ius-release*.rpm
rpm -i yum-plugin*

Step 2 - Installation RedHat7 - CentOS7:

Installation of the epel-release repository from the Fedora-Projekt:

Switch to the root home directory:

cd /root

Download with wget the installation rpm files: (Consider: if CentOS was installed from minimal install media you must install wget)

yum install wget
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

If your download fails, please check on the web page whether a newer version is supplied.

http://dl.fedoraproject.org/pub/epel/7/x86_64/e/

After the successful download of the rpm file in the /root/ directory, install the repository as follows:

rpm -ivh epel-release-7-8.noarch.rpm

Step 3 - Installation RedHat6 - CentOS6:

Now the EGroupware software with the needed and dependend software will be installed. Set your language variable for the installation first:

export LANG=en

Check whether a php version is already installed on your server with:

php -v

As a result the php version is returned or the message: not found

Is a php-version installed, replace it with the php54 IUS version:

yum replace php --replace-with php70u

If php isn't installed install it with:

yum install php70u

After the successful installation of php, set for php the timezone of your region. Find file php.ini in directory /etc:

find /etc -name php.ini

Edit file php.ini and add variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone definitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

Now install mysql-server, necessary php extensions and EGroupware with the commands below in given order:

yum install mysql-server
yum install php70u-pecl-apc
yum install php70u-ldap
yum install egroupware-epl

Step 3 - Installation RedHat7 - CentOS7:

Now the EGroupware software with the needed and dependent software will be installed. Set your language variable for the installation first:

export LANG=en

Check whether a php version is already installed on your server with:

php -v

As a result the php version is returned or the message: not found

PHP Installation:

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y mod_php71u php71u-cli php71u-common php71u-gd php71u-mbstring php71u-mcrypt php71u-mysqlnd php71u-xml
sudo systemctl restart httpd

Is php already installed, set for php the timezone of your region. Find file php.ini in directory /etc:

find /etc -name php.ini

Edit file php.ini and add variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone definitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

If no php version is installed, set date.timezone after the successful installation of EGroupware as described above.

To activate the timezone settings a webserver restart is necessary.

systemctl restart httpd

Install now MySQL server and EGroupware in the given order (PHP, Pear, Pecl and the web server will be installed per defined dependencies with EGroupware):

yum install mariadb-server
systemctl start mariadb
yum install egroupware-epl
yum install mod_ssl
yum install php-pecl-apcu
yum install php-pecl-zendopcache
yum install php-pecl-smbcw
yum install php-ldap
systemctl restart httpd

To reach your EGroupware via your browser set ports 80/443 in your firewall according to your network setup.

e.g:

firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

To set the services start at boot time, you must enable them as follows:

systemctl enable mariadb
systemctl enable httpd

All versions

After successful installation the EGroupware login credentials are written at the end of the file /root/egroupware-epl-install.log.

If errors occur during the installation you will find hints and error descriptions in /root/egroupware-epl-install.log and in logfiles located in directory /var/log/.

According to your requirements and the amount of users using your installation the mysql database system and php may need adjustments. Details are specified in chapter MySQL and PHP adjustments.

back to Content

Installer command: zypper

Available versions:

For OpenSuSE 13.2 : openSUSE_13.2
For OpenSuSE Leap 42.3 : openSUSE_Leap_42.3
For SLES 12 : SLE_12

Installation OpenSUSE

Step 1:

Setup the needed EGroupware EPL repository.

Switch to directory /etc/zypp/repos.d/

cd /etc/zypp/repos.d/

Create file egroupware-epl.repo

vi egroupware-epl.repo

with following content:

[egroupware-epl]
name=EGroupware EPL (openSUSE VERSION)
type=rpm-md
baseurl=http://USER:PASWORD@download.egroupware.org/repos/stylite-epl/VERSION/
gpgkey=http://USER:PASSWORD@download.egroupware.org/repos/stylite-epl/VERSION/repodata/repomd.xml.key
gpgcheck=1
enabled=1
autorefresh=1

Replace USER and PASSWORD with your EPL software repository credentials and VERSION with your openSUSE version, e.g:

[egroupware-epl]
name=EGroupware EPL (openSUSE 13.2)
type=rpm-md
baseurl=http://peter:secret@download.egroupware.org/repos/stylite-epl/openSUSE_13.2/
gpgkey=http://peter:secret@download.egroupware.org/repos/stylite-epl/openSUSE_13.2/repodata/repomd.xml.key
gpgcheck=1
enabled=1
autorefresh=1

Save the file.

Step 2:

Installation of MySQL and EGroupware

Set your language variable for the installation first:

export LANG=en

Check whether a php version is already installed on your server with:

php -v

As a result the php version is returned or the message: not found

Is a php version installed, set for php the timezone of your region. Find file php.ini in directory /etc

find /etc -name php.ini

Edit file php.ini and add the variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone definitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

If no php version is installed, set date.timezone after the successful installation of EGroupware as described above.

Now install mariadb server and EGroupware with following command:

zypper install mariadb egroupware-epl
a2enmod php7

All versions

After successful installation the EGroupware login credentials are written at the end of the file /root/egroupware-epl-install.log.

If errors occur during the installation you will find hints and error descriptions in /root/egroupware-epl-install.log and in logfiles located in directory /var/log/.

According to your requirements and the amount of users using your installation the mysql database system and php may need adjustments. Details are specified in chapter MySQL and PHP adjustments.

Installation SLES

Step 1:

Setup the needed EGroupware EPL repository.

Switch to directory /etc/zypp/repos.d/

cd /etc/zypp/repos.d/

Create file egroupware-epl.repo

vi egroupware-epl.repo

with following content:

[egroupware-epl]
name=EGroupware EPL (SLE VERSION)
type=rpm-md
baseurl=http://USER:PASWORD@download.egroupware.org/repos/stylite-epl/VERSION/
gpgkey=http://USER:PASSWORD@download.egroupware.org/repos/stylite-epl/VERSION/repodata/repomd.xml.key
gpgcheck=1
enabled=1
autorefresh=1

Replace USER and PASSWORD with your EPL software repository credentials and VERSION with your SLE version, e.g:

[egroupware-epl]
name=EGroupware EPL (SLE 12)
type=rpm-md
baseurl=http://peter:secret@download.egroupware.org/repos/stylite-epl/SLE_12/
gpgkey=http://peter:secret@download.egroupware.org/repos/stylite-epl/SLE_12/repodata/repomd.xml.key
gpgcheck=1
enabled=1
autorefresh=1

Save the file.

Step 2:

Installation of MySQL and EGroupware

Set your language variable for the installation first:

export LANG=en

Check whether a php version is already installed on your server with:

php -v

As a result the php version is returned or the message: not found

Is a php-version installed, set for php the timezone for your region. Find file php.ini in directory /etc

find /etc -name php.ini

Edit file php.ini and add the variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone definitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

If no php version is installed, set date.timezone after the successful installation of EGroupware as described above.

Now install mysql and EGroupware with following command:

zypper install php54 mysql egroupware-epl

All versions

After successful installation the EGroupware login credentials are written at the end of the file /root/egroupware-epl-install.log.

If errors occur during the installation you will find hints and error descriptions in /root/egroupware-epl-install.log and in logfiles located in directory /var/log/.

According to your requirements and the amount of users using your installation the mysql database system and php may need adjustments. Details are specified in chapter MySQL and PHP adjustments.

back to Content

Installer command: apt-get and aptitude

Available versions:

For Debian 7 (Wheezy) : Debian_7.0
For Debian 8 (Jessi) : Debian_8.0
For Debian 9 (Stretch): Debian_9.0

Step 1:

Setup the needed EGroupware EPL repository.

Switch to directory /etc/apt/sources.list.d

cd /etc/apt/sources.list.d/

Create file egroupware-epl.sources.list

vi egroupware-epl.sources.list

with following content:

# EGroupware EPL repository
deb http://USER:PASSWORD@download.egroupware.org/repos/stylite-epl/VERSION/ ./

Replace USER and PASSWORD with your EPL software repository credentials and VERSION with your Debian version, e.g:

# EGroupware EPL repository
deb http://peter:secret@download.egroupware.org/repos/stylite-epl/Debian_9.0/ ./

Save the file.

Step 2:

Import the download PGP keys with following command (replace USER and PASSWORD with your EPL software repository credentials):

wget -O - http://USER:PASSWORD@download.egroupware.org/build%40egroupware.org | apt-key add -

Step 3:

Update aptitude with:

aptitude update

Install the database server, web server and the EGroupware software with:

aptitude install mysql-server egroupware-epl apache2-mpm-prefork

During the installation you will be prompted to enter user and passwords for the mysql server etc.; If you have already installed mysql-server with a given mysql root password, you need to enter the given password if you are prompted to enter the mysql root password.

All versions

After successful installation the EGroupware login credentials are written at the end of the file /root/egroupware-epl-install.log.

Set for php the timezone for your region. Find file php.ini in directory /etc

find /etc -name php.ini

Edit file php.ini and add the variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone definitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

If errors occur during the installation you will find hints and error descriptions in /root/egroupware-epl-install.log and in logfiles located in directory /var/log/.

According to your requirements and the amount of users using your installation the mysql database system and php may need adjustments. Details are specified in chapter MySQL and PHP adjustments.

back to Content

Installer command: apt-get und aptitude

Available versions:

For Ubuntu 14.04 LTS : xUbuntu_14.04
For Ubuntu 15.10 LTS : xUbuntu_15.10
For Ubuntu 16.04 LTS : xUbuntu_16.04

Step 1:

Setup the needed EGroupware EPL repository.

Switch to directory /etc/apt/sources.list.d

cd /etc/apt/sources.list.d/

Create file egroupware-epl.sources.list

vi egroupware-epl.sources.list

with following content:

# EGroupware EPL repository
deb http://USER:PASSWORD@download.egroupware.org/repos/stylite-epl/VERSION/ ./

Replace USER and PASSWORD with your EPL software repository credentials and VERSION with your Ubuntu version, e.g:

# EGroupware EPL repository
deb http://peter:secret@download.egroupware.org/repos/stylite-epl/xUbuntu_16.04/ ./

Save the file.

Step 2:

Import the download PGP keys with following command (replace USER and PASSWORD with your EPL software repository credentials):

wget -O - http://USER:PASSWORD@download.egroupware.org/build%40egroupware.org | apt-key add -

Step 3:

Update with:

apt-get update

Install the database server, web server and the EGroupware software with:

apt-get install mysql-server egroupware-epl apache2-mpm-prefork

Off Version 15.04 and higher use:

apt-get install egroupware-epl

During the installation you will be prompted to enter user and passwords for the mysql server etc.; If you have already installed mysql-server with a given mysql root password, you need to enter the given password if you are prompted to enter the mysql root password.

All versions

After successful installation the EGroupware login credentials are written at the end of the file /root/egroupware-epl-install.log.

Set for php the timezone for your region. Find file php.ini in directory /etc

find /etc -name php.ini

Edit file php.ini and add the variable date.timezone for your region like:

date.timezone = Europe/London

Further timezone defnitions are listed on the web pages: http://php.net/date.timezone and http://de2.php.net/manual/de/timezones.php

If errors occur during the installation you will find hints and error descriptions in /root/egroupware-epl-install.log and in logfiles located in directory /var/log/.

According to your requirements and the amount of users using your installation the mysql database system and php may need adjustments. Details are specified in chapter MySQL and PHP adjustments.

back to Content

At the end of the previous described installation with repositories a script configures the major part you normally do with the EGroupware setup panels.

The post-install script executes this function. It is located in and named:

/usr/share/egroupware/doc/rpm-build/post_install.php

The below listed option values of the script can be stored temporarily in a environment variable called EGW_POST_INSTALL with export before you use yum, aptitude respectively zypper to install EGroupware.

Usage: ./egroupware/doc/rpm-build/post_install.php [-h|--help] [-v|--verbose] [--distro=(suse|rh|debian)] [options, ...] 

options and their defaults: 
--php /usr/bin/php 
--source_dir /usr/share/egroupware 
--data_dir /var/lib/egroupware 
--header $data_dir/header.inc.php 
--setup-cli $source_dir/setup/setup-cli.php 
--domain default 
--config_user admin 
--config_passwd <16 char random string> 
--db_type mysql 
--db_host localhost 
--db_port 3306 
--db_name egroupware 
--db_user egroupware 
--db_pass <16 char random string>
--db_grant_host localhost 
--db_root root 
--db_root_pw 
--backup 
--admin_user sysop 
--admin_passwd <16 char random string> 
--lang de 
--charset utf-8 
--start_db /usr/sbin/service mysql 
--autostart_db /usr/sbin/update-rc.d mysql defaults 
--start_webserver /usr/sbin/service apache2 
--autostart_webserver /usr/sbin/update-rc.d apache2 defaults 
--distro debian 
--account-auth sql 
--account_min_id 
--ldap_suffix dc=local 
--ldap_host localhost 
--ldap_admin cn=admin,$suffix 
--ldap_admin_pw 
--ldap_base o=$domain,$suffix 
--ldap_root_dn cn=admin,$base 
--ldap_root_pw <16 char random string>
--ldap_context ou=accounts,$base 
--ldap_search_filter (uid=%user) 
--ldap_group_context ou=groups,$base 
--mailserver 
--smtpserver localhost,25 
--postfix 
--cyrus 
--sieve 

Examples for using EGW_POST_INSTALL are:

EGW_POST_INSTALL='--db_root_pw secret --db_root root' yum install egroupware-epl

export EGW_POST_INSTALL='--db_port 5432 --db_type=postgres --db_host=localhost'
aptitude install egroupware-epl

/usr/share/egroupware/doc/rpm-build/post_install.php --distro=rh --start_db /usr/sbin/service mysql

back to Content

Prerequisite

If not already installed, install the packages php-ldap and php-pecl-smbcw (additional needed packages will be installed as dependent packages).

For PHP 7 in Ubuntu 16.04 or RHEL/CentOS 7 with IUS repo you have to use smbclient php extension instead of EGroupware's php-pecl-smbcw, thought it is working fine for older PHP versions too. It is extrem slow in currently released version 0.8, so it's recommended to install development version 0.9-dev.

Please note, that the package names can be vary depending on your Distribution and PHP-Version. Use the search/list options of your installer to find the correct package name if you get a message like package not found.

Debian/Ubuntu

aptitude install php5-pecl-smb
aptitude install php5-ldap

CentOS/RedHat

yum install php-pecl-smbcw 
yum install php-ldap

SuSE/SLES

zypper install php5-ldap
zypper install php-pecl-smbcw

embed direcotries

After the packages as described under prerequisites are installed execute the steps in a Terminal as follows:

under Samba 3

cd /usr/share/egroupware/

enter following command in one line to mount your home share (replace <…> with your values):

filemanager/cli.php mount --user root_admin --password  'smb://$user:$pass@/$user' '/MyDocuments'

Analog any other share may be mounted:

filemanager/cli.php mount --user root_admin --password  'smb://$user:$pass@/directory' '/directory'

Remarks: 
the “root_admin” is the setup admin user (the “admin” may be named different in your installation) with the 
mandatory header “root_”

in smb://.../$user stands “$user” for the directory 
that is to mount (for the most part, users home share) – the following with “blank” 
separated “directory” is the EGroupware directory the samba directory will be bind to

under Samba 4

Under Samba 4 the Domain must be prefixed:
smb://domain\$user:$pass@host/share

e.g: 
filemanager/cli.php mount --user root_admin --password  'smb://domain\$user:$pass@/$user' '/MyDocuments'
invoking
filemanager/cli.php
without options show all possible options of the command.

With smb://<samba_server>/ embedded directories and the EGroupware target directory will be stored in the EGroupware Database and mounted with every access by User and Password of the User EGroupware session.

Connectivity-Tests in Case of Problems

With the above mentioned packets the program “smbclient” was also installed. This program lets you test the connectivity to your samba-server in case of troubles.

An example:

The example-sambaserver has IP = 192.168.48.12 the share you want to see is: files

The example userid = karl  with password = xab
(please replace with your server/userdata)

then the commandline command is like follows:
smbclient -I 192.168.48.12 -U karl \\\\192.168.48.12\\files
or:
smbclient //192.168.48.12/files -U karl

with adding the option “-d 4” you get more debug messages:
smbclient -I 192.168.48.12 -U karl \\\\192.168.48.12\\files -d 4
smbclient //192.168.48.12/files -U karl -d 4

With: 
smbclient --list=192.168.48.12 --user=karl

you get more information about your samba shares and workgroups.

After successful connect you will be prompted for the password. Is the password 
accepted, you are seeing the content of the “files” directory with “dir”.
In case of errors, use adding option “-d 4” to the command to get more detailed 
debug messages for finding out what went wrong (Network, Firewall, samba service name etc.).

back to Content

Example Configurations for MySQL respectively Maria DB can be found under the directory /usr/share of your server. Those can be copied as my.cnf for MySQL or server.cnf for Maria DB to directory /etc. To find them enter:

find /usr/share -name my\*.cnf

We recommend the my-huge.cnf which should fit for most customers. Replace the my.cnf / server.cnf you find in /etc with the my-huge.cnf file:

e.g.
find /etc -name \*.cnf

cp /usr/share/doc/MariaDB-server-5.5.23/my-huge.cnf /etc/mariadb/server.cnf

or

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

If you don't connect from other servers or systems to the MySQL database over the network, you should uncomment the variable #skip-networking for security reasons. If you don't use a mysql cluster environment, comment log_bin or set al least expire_logs_days = 5, to avoid a large amount of mysql binary logs in /var/lib/mysql directory. After making adjustment in my.cnf a mysql server restart is required (e.g. /etc/init.d/mysqld restart).

For php some more adjustments may be done in the /etc directory tree in php.ini and the egroupware.conf like already discussed in the section time zone settings during the install. Following values listed below maybe changed mostly increased. If in doubt, try some values until you are satisfied with the result. After changes in those files, the apache webserver must be restartet or reloaded to take effect.

php_value max_execution_time 90
php_value memory_limit 128M
php_value session.gc_maxlifetime 14400
php_value upload_max_filesize 64M
php_value post_max_size 65M

The two values you mostly adjust are:

php_value upload_max_filesize will determine the size of files users will be able to upload in filemanager or links.

php_value session.gc_maxlifetime determine the time in seconds of inactivity before a user session will be terminated.

back to Content

If you are accessing your EGroupware from the internet, it should be only done encrypted via ssl - https. Port 80 should be disabled and port 443 as default enabled in the web server and as well in your firewall.

Is the apache module mod_ssl installed a basic so called root server certificate is put in /etc/pki. Most or all of the browsers don't accept this by default. You can manually accept it after entering the URL and a secure https session will be established. If your staff accept this behaviour you might be done, but most of them will be annoyed. In this case you need to buy a SSL or SSL wildcard certificate for your domain and install it.

For the purchase of such a certificate, you need a so called certificate request created on your web server.

Assumed your company is called IT-perfect Ltd. and is located in Cardiff, Wales and the domain is it-perfect.co.uk. The request is generated on your EGroupware server as follows:

Single domain SSL (your EGroupware URL is: https://egroupware.it-perfect.co.uk/egroupware):

openssl req -new -newkey rsa:2048 -nodes -sha256 -out egroupware_it-perfect_co_uk.csr \
-keyout egroupware_it-perfect_co_uk.key \
-subj "/C=UK/ST=Wales/L=Cardiff/O=IT-perfect Ltd./CN=egroupware.it-perfect.co.uk"

Wildcard SSL:

openssl req -new -newkey rsa:2048 -nodes -sha256 -out star_it-perfect_co_uk.csr \
-keyout star_it-perfect_co_uk.key \
-subj "/C=UK/ST=Wales/L=Cardiff/O=IT-perfect Ltd./CN=*.it-perfect.co.uk"

The content of file egroupware_it-perfect_co_uk.csr or star_it-perfect_co_uk.csr needs to be copied during your purchase in the field where to paste the certficate request.

After your identity and/or domain was validated and the purchase is made you will get your certificate file and a so called intermediate or root certificate (CA). Those files with the ending of .crt or .pem needs to be copied where you have the .csr and .key file generated in the previous steps. Then you need to create the .pem file for your web server apache from the .key and .crt file as follows:

cat star_it-perfect_co_uk.key star_it-perfect_co_uk.crt >> star_it-perfect_de.pem
or
cat egroupware_it-perfect_co_uk.key egroupware_it-perfect_co_uk.crt >> egroupware_it-perfect_de.pem

Now only your web server apache needs to know where to find your certificate files. Edit /etc/httpd/conf.d/ssl_conf and add the full path to your certificate files e.g:

SSLCertificateFile //egroupware_it-perfect_de.pem
# here the place for the intermediate / root certificate of your certificate provider 
SSLCertificateChainFile //CA.crt

After a restart/reload of your webserver the browser should now show a valid certificate of your certificate provider while accessing your EGroupware URL.

back to Content

It is good practice to update your system regularly with patches and security fixes. We recommend to do it once per week.

RedHat and CentOS:

Manual update:

yum update

Automatic update:

The software packet yum-updatesd or yum-cron needs to be installed.

In file /etc/yum/yum-updatesd.conf change do_update=no to do_update=yes. Then restart yum-updatesd: service yum-updatesd restart or /etc/init.d/yum-updatesd restart.

You'll find a description of yum-cron on: http://man7.org/linux/man-pages/man8/yum-cron.8.html

SuSE:

Manual update:

zypper update

Automatic update: Enter Yast; there is a menu item called online update configuration where you can configure your system update behaviour.

Debian and Ubuntu:

Manual update:

aptitude update; aptitude safe-upgrade;

Automatic update: Install unattended-upgrades if it's not already installed:

sudo apt-get install unattended-upgrades

Now you need to add egroupware packages into list of allowed packages in 50unattended-upgrades config file:

vi /etc/apt/apt.conf.d/50unattended-upgrades

find the Unattended-Upgrade::Allowed-Origins and based on your distro you should add the following line:

"*stylite-epl*:";

If you are using other debians like deb 8/9 instead of Unattended-Upgrade::Allowed-Origins you need to look for Unattended-Upgrade::Origins-Pattern and add the following line:

"o=obs://build.opensuse.org/stylite-epl/Debian_8.0,a=";

In order to check if the unattended-upgrades works with the given packages, you may run the following command:

unattended-upgrades --dry-run --debug

--dry-run: only downloads the upgradable packages but will not install them unless you run the unattended-upgrades command with no parameter. If you wish to check logs and see what has happened with packages, you may read the following logs:

/var/lib/unattended-upgrades/unattended-upgrades.log
/var/lib/unattended-upgrades/unattended-upgrades-shutdown.log 
/var/lib/unattended-upgrades/unattended-upgrades-dpkg.log

From EGroupware EPL version 14 on a license system is established.

With the purchase of your EGroupware EPL, you got a license for a certain amount of users in EGroupware.

To be able to add users within EGroupware EPL, you need to activate your license.

Activate your license as follows:

  • login into your EGroupware with the admin user; standard installation admin user is sysop
  • choose module Admin
  • in the left small window below Admin, click on the plus symbol to open the applications list
  • another click on the plus symbol of EPL-Features show you the License Key option; click on it to select the option
  • in the right window the licensekey management is now shown
  • into the fields of username and password write your my.egroupware.org user and password and click save
  • your license is now active

back to Content


End of Document

Clone this wiki locally