Version 19 (modified by mburillo@…, 10 months ago) (diff)

--

Essential Zentyal files for troubleshooting and tweaking

Introduction

The objective of the Zentyal GUI is to be an easy, yet powerful interface to perform all our system administration. Even then, is not always possible to do everything for everyone. In this document we are going to study the main configuration files and zentyal CLI commands for those who want to go a little deeper under the hood. Our goal will be the troubleshooting, lower level configuration review to gain better understanding on how Zentyal works and minor tweaks that we will be able to perform editing those files.

Zentyal specific configuration files

Let's start with the files located under /etc/zentyal, listing this directory, we will be able to see a bunch of .conf files

core.conf    firewall.conf  network.conf  ppa.gpg     zentyal.conf
dns.conf     hooks/         openvpn.conf  pre-save/
events.conf  logs.conf      post-save/    users.conf

And also some directories (hooks, post-save, pre-save) related with customs hooks, which will be covered in a different how-to.

If you manually change this files, they won't be overwritten by default since dpkg will use the force-confold option by default (although you can manually replace them with the package maintainer's version if you want.

the basic instructions for the formatting of this .conf are contained at the beginning of the file:

# Everything after a '#' character is ignored
#
# All whitespace is ignored
#
# Config keys are set this way:
#
# key = value
#
# They may contain comments at the end:
#
# key = value # this is ignored

Let's review some of these configurations

File: core.conf
redis_port = 6380  # Redis is an in-memory key-value data store for the zentyal configuration (a configuration database to say it roughly), by default the redis server only listens in the loopback interface, here you can change in which port.

widget_ignore_updates = yes # If you don't want to see the possible software updates in the Dashboard, you can choose 'no'.

desktop_services_enabled = yes
desktop_services_port = 6895   # Auto-configuration of desktop clients for the services provided by Zentyal (mail, samba, Jabber, VoIP, ...), is implemented as a webservice which listens on all interfaces (0.0.0.0:6895). The associated service ''Desktop Services'' is allowed by default in the firewall section ''Internal networks to Zentyal''.
File: firewall.conf
iptables_log_limit = 50 # Sometimes the firewall generates a huge amount of information, you can limit the maximum number of packages logged per minute.

iptables_log_burst = 10 # You may also want to avoid logging a lot of times the exact same event, this will limit the bursts of identical packets appearing in your logs.

iptables_log_drops = yes # Whether or not create logs of the dropped packets.

nat_enabled = yes # The default behavior is to NAT the internal networks when redirecting to external, but we may have a router in charge of this, or we may want a different behavior, like different external address assigned to different internal networks.

File: network.conf
ifaces_to_ignore = sit,tun,tap,lo,irda,ppp,virbr,vboxnet,vnet  # Types of interfaces that won't be displayed to be configured explicitly by Zentyal on the ''network'' section.
File: users.conf
mk_home = yes # whether to create user homes or not

dir_umask = 0077 # default mode for home directory (umask mode)

enable_quota = yes # enable quota support

slave_time = 5 # number of minutes between master pushes of LDAP changes to its slaves

multiple_ous = yes # This option allows you to have more than one organizational unit in the same ldap. This may be used, for example, to have multiple Zarafa domains.

File: zentyal.conf
debug = yes # Whether to enable the DEBUG> logs in ''/var/log/zentyal/zentyal.log'', this file will be commented below in this document. It's a good idea to enable it if we want to perform basic Zentyal troubleshooting.

dump_exceptions = yes # Show full stack trace in the Zentyal interface when you hit a bug, also very interesting for diagnosis.

override_user_modification = yes # Don't ask when a user modification is found. Override any user change using Zentyal's configuration.


Zentyal output and debugging files

As we did in the first section, let's have a look at the Zentyal log directory /var/log/zentyal:

access-desktop-services.log  access.log  error.log  redis-server.log  software.log  zentyal.log

Fist of all, as a general tip to reproduce a suspected problem, it's generally a good idea to execute tail -f <logfile> and then hit the Enter key a few times, this way you can see the last log and clearly see the new log files appearing in real time

Generic daemon output files

Useful commands and scripts