Open-Xchange Syslog Configuration

Abstract

Open-Xchange provides OSGi packages (open-xchange-log4j and open-xchange-commons-logging-log4j) to enable remote logging via syslog. This is useful for distributed setups or if a logging strategy is already present at the environments the servers are running. If you choose syslog to be the logging mechanism, the syslog service needs some configuration to accept remote logging, even if the service is running on localhost.

The syslog remote logging will open port 514/udp, so don't forget to firewall it properly if it's a security risk for you. The default logging facility of Open-Xchange is defined at the /opt/open-xchange/{groupware,admindaemon}/etc/log4j.xml file. For more granular log filtering this facility can be changed. Please refer to the syslog and syslog-ng documentation for further information.

Installation on OX AppSuite

Debian GNU/Linux 6.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb http://software.open-xchange.com/OX6/stable/DebianSqueeze/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/stable/updates/DebianSqueeze/ /

and run

$ apt-get update
$ apt-get install open-xchange-log4j open-xchange-commons-logging-log4j

Debian GNU/Linux 7.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb http://software.open-xchange.com/OX6/stable/DebianWheezy/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/stable/updates/DebianWheezy/ /

and run

$ apt-get update
$ apt-get install open-xchange-log4j open-xchange-commons-logging-log4j

SUSE Linux Enterprise Server 11

Add the package repository using zypper if not already present:

$ zypper ar http://software.open-xchange.com/OX6/stable/SLES11 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/stable/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-log4j open-xchange-commons-logging-log4j

RedHat Enterprise Linux 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=http://software.open-xchange.com/OX6/stable/RHEL6/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/stable/updates/RHEL6/
# gpgkey=http://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-log4j open-xchange-commons-logging-log4j

CentOS 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=http://software.open-xchange.com/OX6/stable/RHEL6/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/stable/updates/RHEL6/
# gpgkey=http://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-log4j open-xchange-commons-logging-log4j

Configuration

Debian GNU/Linux 4.0

Debian Etch comes with the traditional syslog service. Find the configuration parameter SYSLOGD_OPTIONS at /etc/default/syslogd and add the -r option.

#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-r"

Then restart the syslog service to enable logging.

$ /etc/init.d/sysklogd restart

By default, all Open-Xchange log messages are put to /var/log/syslog.

Debian GNU/Linux 5.0

Debian Lenny comes with the rsyslog service. In contrast to the old syslogd service, the parameter configuration is now completely done at a configuration file at /etc/rsyslogd.conf. Note: this only applies if you are using a new installation of Debian 5.0 - if you upgrade from 4.0, the old syslogd configuration will still be valid.

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

Then restart the rsyslog service to enable remote logging.

$ /etc/init.d/rsyslog restart

By default, all Open-Xchange log messages are put to /var/log/syslog.

Debian GNU/Linux 6.0

If you have an old updated system since 4.0, the old setting in the paragraph "Debian GNU/Linux 4.0" still apply.

RedHat Enterprise Linux 5

RHEL5 comes with the traditional syslog service. Find the configuration parameter SYSLOGD_OPTIONS at /etc/sysconfig/syslog and add the -r option.

# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-r -m 0"

Then restart the syslog service to enable logging.

$ /etc/init.d/syslog restart

By default, all Open-Xchange log messages are put to /var/log/messages.

SUSE Linux Enterprise Server 10

SLES10 comes with syslog-ng, modify the configuration at /etc/syslog-ng/syslog-ng.conf:

source src {
       #
       # include internal syslog-ng messages
       # note: the internal() soure is required!
       #
       internal();

       #
       # the following line will be replaced by the
       # socket list generated by SuSEconfig using
       # variables from /etc/sysconfig/syslog:
       #
       unix-dgram("/dev/log");

       #
       # uncomment to process log messages from network:
       #
       udp(ip("0.0.0.0") port(514));
};

Uncomment the last statement of the src definition and restart the syslog service to enable logging.

$ /etc/init.d/syslog restart

By default, all Open-Xchange log messages are put to /var/log/messages.

SUSE Linux Enterprise Server 11

SLES11 comes with syslog-ng, modify the configuration at /etc/syslog-ng/syslog-ng.conf:

source src {
       #
       # include internal syslog-ng messages
       # note: the internal() soure is required!
       #
       internal();

       #
       # the default log socket for local logging:
       #
       unix-dgram("/dev/log");

       #
       # uncomment to process log messages from network:
       #
       udp(ip("0.0.0.0") port(514));
};

Uncomment the last statement of the src definition and restart the syslog service to enable logging.

$ /etc/init.d/syslog restart

By default, all Open-Xchange log messages are put to /var/log/messages.