Introducing the Zentyal configuration backup

Communication, Community members, Development  Tagged , , , , , , 4 Comments »

I am sure that I don’t need to drill you about the importance of backing up your system. Ideally the whole system is backed up, but this costs time and space.

However, as very convenient shortcut, there is an easy (and free) way of backing up the Zentyal server configuration. With this configuration backup you can quickly restore your Zentyal server to a production state. And it does not need to be the same box, you can also use the configuration backup to apply the configuration to a new server.

The configuration backup also includes all the user and group accounts so your users can continue logging in to the services they use.

There are several ways to make and restore the configuration backup. The more versatile is to use Zentyal Cloud Service that comes with the Free Account registration: this way the backup will reside in the cloud and you could apply it to any of your Zentyal boxes. You can get a free account here.

To access to this feature in the web interface, you must click in System -> Import/Export configuration. A console interface is also available through the programs ‘/usr/share/zentyal/make-backup’ and ‘/usr/share/zentyal/restore-backup’.

How this works?

To the curious among us, let me explain its internal workings. The backup is just an archive file in TAR format, that includes the files describing the configuration.

First, the backup process writes some files with metadata, like the current date or the packages installed in the system. Then it loops through the installed modules making each one to dump its configuration.

Remember that the configuration values we see reflected in the web interface are stored in a Redis backend. So each module must dump its Redis keys and value to a file. However the Redis keys are not sufficient for all modules. Remember that the users and its related data are stored in LDAP. In this case the users module does a dump of the full directory in LDIF format.

Likewise the samba module dumps its internal database and the modules which use OpenSSL certificates to store them in the backup archive.

When the backup is finished, it is stored in your local file system: you can download or restore it from the Zentyal web interface.

For restoring a backup the same process is run in reverse, picking each of the files and importing them to our Zentyal system.

Configuration backup and the Backup module

As you may known Zentyal also has a file backup module which allows you to set the files to be backed up, the destination of the backup and its frequency.

A configuration backup is added to the backup of the selected files to have better recovery odds.

Backup in the cloud

One problem remains in this configuration backup schema and it is to store it in a remote, always-accessible location. The location which meets these requirements is the Internet, now dubbed cloud.

Zentyal Remote offers this service. It checks daily your Zentyal configuration and the contents of the LDAP directory, if it finds any changes, it makes automatically a backup and sends it to the cloud.

The number of simultaneous held backups depends on the type of edition you have. A community edition with Free Account can store one configuration backup, a Small Bussiness or Enterprise edition can have up to seven configuration backups. Furthermore, the seven configuration backup-limit only applies to automatic backups, you can have as many manual backups as you like.

Once you have your backup in the cloud, you can restore it in any of your subscribed Zentyal servers using the web interface.

Post written by Javier Amor Garcia

A post by Julio José García Martín

Zentyal Internal Plumbing (Part II): Mail with groupware

Communication No Comments »

Hello again my fellow Zentyal plumbers. This post is very related with the first one, this time covering Zarafa and related subsystems.


Zarafa is a groupware suite, including mail, calendars, contacts, task and notes which offers fully-fledged collaboration, sharing and access permission mechanisms. A remarkable feature of Zarafa is its integration with Microsoft clients and mobile synchronization protocols.

Let’s jump to the plumbing diagram already:

(click to enlarge image)

First of all, this diagram is a simplified and Zentyal-contextualized version of some parts of the Zarafa documentation: Zarafa Architecture, Zarafa Components. We encourage you to visit the official Zarafa documentation to continue learning about this platform.

Point by point:

A: Most of the mail subsystem components explained in the first post Plumbing part I are exactly the same for this version, so you still have Postfix as your MTA and the optional parts like Amavis security suite, Postgrey, Fetchmail and so on. Zarafa replaces the MDA, and adds the groupware services and gateways for several protocols and platforms.

B: The zarafa-dagent is the equivalent of a MDA (performing some of the roles of Dovecot for the former blogpost), it uses LMTP, a simplified and local-only version of the SMTP protocol to communicate with the MTA. Take into account that different MDA means different mailboxes for your users, if you migrate your virtual mail domain from Dovecot to Zarafa, the user mail addresses may remain the same, but they are accessing a different Inbox in different storage backend.

C: MySQL database, related to the last point. Zarafa stores mail and some mail metadata in a proper database, as opposed to the file-system based mail storage present in traditional mail systems.

D: The zarafa-spooler sends the mail waiting in the outgoing queue through the MTA.

E: Zarafa is tightly integrated with the Apache server in Zentyal, so the ‘Web Server’ module is required to offer all the web-based interfaces and protocols available to the users.

F: ‘Web access’ and ‘Web app’ are two web interfaces that offer the user a very convenient and fully featured way to access the mail and groupware services by just using their web browser. ‘Web access’ is oriented to look and feel like a microsoft outlook interface, while ‘Web app’ uses modern web protocols to improve the experience and can even integrate with chat and voice IP subsystems.

G: Z-push, an implementation of Microsoft’s ActiveSync protocol, available in all the major smartphone operative systems. Using this gateway you can synchronize all your mail, contacts and calendars information in your phone, bidirectionally, without installing additional apps and over the air.

H: Zarafa gateway for common mail services, IMAP4(S) and POP3(S), take into account that if your plan to offer a mail gateway, IMAPS for example, first you have to make sure that this port is disabled in Dovecot.

I: Microsoft Oulook offers MAPI, an interface to perform the synchronization against third party software. The Zarafa Windows Client needs to be installed in the Desktop OS. It bridges the Zarafa groupware protocols and Microsoft Outlook clients in transparent way for the users.

J: The MAPI commands are encoded in web-service SOAP and synchronized against Zarafa server.

Hope you have now a clearer vision of all the features and possibilities that Zarafa brings to the table. An important piece is missing in the diagram: how Zarafa server and Postfix connect to the LDAP to retrieve user auth and directory information. In the next post I intend to cover the Samba and Kerberos subsystems.

A post by Mateo Burillo

Upgraded translation platform & how to see your translations right away

Communication No Comments »

We have now updated our Pootle translation platform to a newer version, fixing some persistent problems with the string search functions. We are migrating the translations and accounts to the new system, so the users should not notice any major changes. Please, send us a notification if you detect any problem with your account or your translations.

The internationalization packages are updated from time to time, so you can get a new language-pack-zentyal- containing your language fixes eventually. If you don’t like waiting and want to try your translations right away, you can click on the ‘Translate’ tab inside your language section and then download the ‘zentyal.po’ file, using the ‘Download’ link.

You will need a local copy of the github Zentyal repository:

apt-get install git (if needed)
git clone git://

You will then, replace the ‘.po’ file in the repository. In my example I will overwrite zentyal/extra/language-packs/po/es.po. The file downloaded from pootle is named zentyal.po, so you will need to rename it.

mv ~/Downloads/zentyal.po ~/repos/zentyal/extra/language-packs/po/es.po

You will also need the package building tools:

apt-get install dpkg-dev

By default behavior is to build all the language packs, you probably don’t want this, so make a backup of the zentyal/extra/language-packs/debian/control file and then delete the unwanted packages.

Example for Spanish only:

Source: zentyal-language-packs
Section: web
Priority: optional
Maintainer: Zentyal Packaging Maintainers
Build-Depends: debhelper (>= 5.0.0), cdbs, po-debconf
Standards-Version: 3.8.2

Package: language-packs-zentyal-all
Architecture: all
Depends: language-pack-zentyal-es
Description: Zentyal translations for all supported languages
Zentyal is a Linux small business server that can act as
a Gateway, Unified Threat Manager, Office Server, Infrastructure
Manager, Unified Communications Server or a combination of them. One
single, easy-to-use platform to manage all your network services.
This metapackage includes the translations for all the languages.

Package: language-pack-zentyal-es
Architecture: all
Depends: zentyal-common (>= 3.0), ${misc:Depends}
Description: Zentyal translations for language Spanish
Zentyal is a Linux small business server that can act as
a Gateway, Unified Threat Manager, Office Server, Infrastructure
Manager, Unified Communications Server or a combination of them. One
single, easy-to-use platform to manage all your network services.
This package contains translations for the Spanish language.

Then, from the directory zentyal/extra/language-packs you will
execute the command dpkg-buildpackage -us -uc. When this process
is complete, you will find the .deb package in zentyal/extra,
language-pack-zentyal-es_3.0.1_all.deb in my case.

Then, just copy and install this package to your Zentyal machine:

dpkg -i language-pack-zentyal-es_3.0.1_all.deb

Restart the web interface…

service zentyal apache restart

And you should be able to see your updated Strings.

We encourage you to review the state of your native language translation and take the effort to help make Zentyal native for the people around you.

A post by Mateo Burillo

Zentyal supports the Python Software Foundation

Communication, Development  Tagged , , , , No Comments »

Few weeks ago the Python Software Foundation asked for help in a trademark issue that involves “Python”.

As Zentyal uses Python as main programming language for our cloud based services and in the testing of Zentyal Server, we have decided to submit a letter for helping the Python Software Foundation as much as we can.

Please, if you use Python in any way, support them!!

Check out this letter template that might help you to send your own support letter to the Python Software Foundation.




A post by Julio José García Martín

WordPress Theme & Icons by N.Design Studio. WPMU Theme pack by WPMU-DEV.
Entries RSS Comments RSS Log in