ANSTE 0.11 released!

January 31, 2014

It has been a long time since a new version of ANSTE was officially published, but this is also the biggest release so far. It’s not only a bugfixing release with minor improvements, this one has big changes. It’s not 1.0 yet, but we’re almost there :)

So, let’s summarize the main highlights:

  • New anste-init command to easily create the skeleton of a new project
  • Added python-anste wrapper for python-selenium
  • Completed migration to YAML format, removed old XML support
  • Allow to auto-download images from a server instead of creating them
  • Use QCOW2 format instead of RAW for images
  • Snapshots support via new anste-snapshot tool
  • Tons of fixes and improvements

Full changelog is availabe at:

You have all the information about ANSTE at the brand new webpage, which features a fresh and renewed style, and also a demo screencast will be published coming very soon! :)

And by the way, if you are going to FOSDEM, don’t miss the ANSTE talk there!


Status of the Samba 4.0 integration in Zentyal 3.0

December 13, 2012

As you may already know, when we started the Zentyal 2.3 development, we took the decision of integrating Samba4, which was about to enter the beta phase. This sounded risky and was questioned by some, but as we have the ambitious goal of being a full Active Directory replacement, and improve the migration processes from Windows server environments we decided to go for Samba4 integration and we do not regret it.

During the whole year Samba4 has been evolving really fast and we were confident that at some point around the release date of Zentyal 3.0, or not too late, there would be a final Samba 4.0 stable version solving the problems of the first beta versions. We can also say that during this development we have tried to contribute as much as possible with the Samba team, by giving feedback, coding and sending patches.

The thing is that Samba 4.0 stable has been released already and sadly, as you can see in the official announcement, it has been released still with known issues that affect some scenarios that Zentyal aims to provide.

So, how to solve this situation in these scenarios? To start with, we have written a brief list of the current known issues. In the next days we are going to detail them, provide as much documentation as possible about the different scenarios, what works and what doesn’t, and what can be done, including best practices for deployments. The documentation will be ready during next week. We also plan to implement more checks in the Zentyal Samba module to avoid common configuration mistakes, and add the possibility to recover from them, for example, allowing easy reconfiguration if Samba has been provisioned with a wrong domain name.

We can assure you that we will keep working hard making Zentyal a full Active Directory replacement and you should expect clear information about the current issues and the updates on the zentyal-samba packages.

Thanks for using Zentyal and keep the feedback coming so that we can all make it the best Linux alternative to Windows Server!

The UDS experience

May 22, 2012

About a week ago, Jorge Salamero (a.k.a. bencer) and me returned from California, where we attended the Ubuntu Developer Summit in Oakland.

As Zentyal is Ubuntu-based distribution and we are every time more and more integrated in the Ubuntu project, we wanted to spread the word about Zentyal among those Ubuntu developers who didn’t know about Zentyal yet, get more involved in the Ubuntu community, meet people face to face, learn about the plans for the next Ubuntu releases, etc. Moreover, we had the chance to give some workshops about power management, better integration with Ubuntu, graphical interface for Active Directory and integration with Edubuntu. I hope Jorge will have some time to write a post about the conclusions of them Also, we were able to do a quick Zentyal demo during the Jam Session on Thursday.

In overall, the whole week was very funny and successful, but there was something that was really cool: Christophe Sauthier (a.k.a huats) participated in the Juju charms development contest implementing the deployment of a Zentyal master-slave scenario just with three commands (I also hope he will blog about this more deeply). The thing is that from between the 25 charms participating in the contest, they picked Zentyal with just a few more to deploy a sample scenario during the plenary sessions to demonstrate the power of Juju ;)!

Here are a couple of photos of the Juju demonstration (sorry for the bad quality):

Diagram of the juju deployment with the two Zentyal servers in the middle

Dashboard of Zentyal deployed with juju

I also want to highlight the huge amount of nice people we met there for the first time. Here are some photos of people who won the Zentyal t-shirt, featuring James Page and John Lenton, both with Jorge:

James Page happy with his brand new Zentyal t-shirt

Chipaca and Bencer wearing the Zentyal t-shirts

And also Jono Bacon with the limited Heavy Metal special edition:

Jono feeling the power of Zentyal

See you in next UDS!

Zentyal Mobile Edition coming soon!

April 1, 2012

Warning: This was an April’s fools joke!

We’ve been working on this new edition of Zentyal server during the past months, and now we have the first results, we wanted to share it with the all community to get feedback and start recruiting volunteers for testing.

We think mobile computing is the future, but the recent merge of Android into the Linux 3.3 has definitely enlightened us. And we’ve made it! A native port of Zentyal for Android phones. You have an out-of-the-box gateway in your mobile, using the 3G/4G as external interface and the WiFi hotspot of the USB cable as the internal one if you only need one client. All the Zentyal services are now in your phone. You can use it to serve web pages, share files, or make VoIP calls. Exciting, isn’t it?

Now the bad news: we will try to improve this in the future, but currently it only runs on mobiles shipping a dual-core processor and 1GB of memory. Also you will need a rooted terminal for obvious reasons.

Below you can see the Zentyal 2.3 packages converted from .deb to .apk running on my Galaxy Nexus:

Zentyal Mobile Edition

This is still alpha, but the first beta will be available for free on the Android Market (aka Google Play) in a couple of weeks!

We are not forgetting iPhone users, but they’ll have to wait some months to download it on the Apple Store for just $10 or €10 depending on your country.

What’s new in Zentyal 2.2 usability?

August 1, 2011

Zentyal 2.2 will come with many cool new features and improvements, but in this post I would like to highlight the usability improvements this new stable Zentyal version will introduce. Some of the most visible improvements would probably include: new package selection interface on the installer, warnings in the configuration screen when the module is disabled, explanatory diagrams in the firewall packet filter section (they also increase the clickable surface), possibility to define objects with IP ranges and a lot more changes, most of them related with the redistribution of elements on the interface. We hope you enjoy them all, and I can assure you that this is only the beginning, as we hope to go much further with Zentyal 3.0!

One of the major changes – and something we’re very proud of because we believe this improvement really increases the productivity of system administration when interacting with some Zentyal modules – is the possibility of adding elements (such as objects or services) directly from the drop-down list instead of having to go to their own configuration pages.

Let’s see this with an example. In Zentyal 2.0, if you want to add a firewall rule, you are asked to introduce some fields like source, destination or ports, which can be defined as objects, or services. Maybe you have already created all the objects and services you need, but if not, you’ll realize that it’s a bit uncomfortable to have to go to the Objects or Services menu, add the desired object, go back to the firewall section you were before, and maybe even have to retype some fields you already entered.

In Zentyal 2.2 this is much easier: when you open the drop-down list, besides to the objects or services that you have already added, you’ll see a new “Add new…” option in the top. When you click it, a new dialog will pop up allowing you to, not only create a new element, but also automatically select it right after closing the dialog. Nice, huh? Let’s see a couple of screenshots of what this looks like:

First step of adding a new service

Final step of adding a new service

Of course the firewall is just an example. As this is implemented at the framework level, any other interface using this schema, for example the DHCP objects for configuring fixed addresses, also benefits from it.

Oh, and I almost forgot to mention that we have made great performance improvements in this release, so, although this is not directly an usability improvement, it should also greatly improve the user experience.

So, what are you waiting to test the current Zentyal 2.2-rc1 installer and see all this with your own eyes? We’re waiting for your feedback!

Good bye Linux, say hello to Zentyal Hurd!

April 1, 2011

Zentyal Hurd logo

Warning: This was an April’s fools joke!

When we started Zentyal we had in mind that a good design for any server software has to be based on modularity and security, so, after a long deliberation we have finally decided to give an important (and unavoidable) step in the evolution of this project. From 2.2 on, Zentyal won’t be based anymore on Linux in favor of GNU/Hurd.

We have made this decision after the recent visit of Richard Stallman to our region. We had the opportunity to talk to him and he dedicated great words to this microkernel project “The Hurd offers interesting, powerful capabilities. For instance, you can write your own filesystem, so you could implement any sort of behavior you want and package it as a file. It offers the possibility of implementing sandboxes, where you can run a program but have another program monitoring all its I/O to make sure it doesn’t start writing in files it wasn’t expected to”, great advantages for a project like Zentyal. These capabilities will allow us to map our modules to kernel services providing a new generation of small bussiness servers with the highests standards of robustness and security.

Not everything are good news though, some of the software we depend on is not available for this operating system, so from now on, we’ll need more than ever your contributions, join the Hurd!

Zentyal 2.1 beta release: Changes for users

February 24, 2011

I’m going to talk again about changes, as I already did with my earlier post about rebranding changes. This time the changes are also mainly related to the rebranding from eBox Platform to Zentyal, but more from a technical point of view.

When we prepared the Zentyal 2.0 release, we focused our attention on the most visible stuff: logos, brand texts and the like. We avoided making more “low-level” changes in order to not jeopardize the stability of the product. But once the 2.1 development has started, we have paid some more attention to this, trying to remove most of the eBox Platform references, mainly in file names and URLs. So far I think we have done a good job, and despite 2.1 being a beta release, it is currently pretty stable. On a side note, I want to encourage you to help us testing this beta version so that we can improve it further ;)!

So, here is the list of the most relevant changes that may affect you in some way while administering your Zentyal Server:

  • Probably one of the most important changes is this new way to restart services in commandline: /etc/init.d/zentyal $modulename restart
  • We have changed all the packages names, so that now they are all zentyal-* instead of ebox-*. In addition, the “ebox” package is now zentyal-core and the old “libebox” package is now “zentyal-common“. There is also one minor change in the name (ebox-usersandgroups has become zentyal-users), and finally the usercorner functionality is now inside the new zentyal-usercorner package, making its installation completely optional. The “zentyal” package is a metapackage depending on the core plus the Software Management module.
  • The i18n system has been revamped and this has helped us to fix lots of issues, but furthermore it also comes with a big change: the translations for each country code are now on separated language packages, for example: language-pack-zentyal-es for Spanish
  • If you face any problems, this is another important file to check: the main log has been moved from /var/log/ebox/ebox.log to /var/log/zentyal/zentyal.log
  • In general any “ebox” directory in the filesystem is now called “zentyal”, for example: /etc/zentyal, /var/lib/zentyal, /usr/share/zentyal-*
  • Utility script names have also changed, all the “ebox-*” prefixes have been removed to avoid redundancy with the directory name, for example, the old /usr/share/ebox-usersandgroups/ebox-usersandgoups/reinstall is now just /usr/share/zentyal-users/reinstall
  • All the URLs on the administration web interface are now https://your_ip/zentyal instead of /ebox. This shouldn’t affect you too much, because even if you have bookmarks to them, there is also a redirection for making the transition easier
  • As you can imagine, there are many more changes in this 2.1 release, if you’re interested you can see the full changelog here. If you have any questions, please don’t hesitate to ask in the community forum or as a comment in this post.

    How to customize the configuration files generated by Zentyal

    January 4, 2011

    As you know, the Linux small business server Zentyal automatically configures all the network services needed by a SMB. This includes writing of all the necessary configuration files (/etc/samba/smb.conf, /etc/squid/squid.conf, …). Typically most of the users don’t want or simply don’t need to manually edit these files because the Zentyal administration interface provides enough elements to customize the configuration of the services. But there is a bunch of advanced users that usually need to go further, fine tuning the automatically generated configuration to better fit their needs or even set up features that are not covered (yet :P) by Zentyal server.

    The aim of this post is to tell you about a new feature that was recently included (in the 2.0.10 version of the core package) to ease the customization of the configuration templates. But first let me briefly explain how the templates system work and what were the customization possibilities the users had before this new improvement.

    The actual configuration files of each service are overwritten each time the service is restarted or changes are saved from the administration interface. The contents of each file are generated by using a Mason template which mainly consist of a skeleton of the actual file including some substitution variables and some small pieces of code like conditions or loops.

    For example, the template that corresponds to he main Squid configuration file, /etc/squid/squid.conf, is located at /usr/share/ebox/stubs/squid/squid.conf.mas. In general, all the templates follow the rule /usr/share/ebox/stubs/<modulename>/<filename>.mas.

    Having this in mind, you should never be tempted to directly edit a configuration file managed by Zentyal in /etc. It’s clearly better to edit the template, because that way it doesn’t matter if the configuration is rewritten, it will always contain your modifications. But this is not a perfect solution, what happens when the Zentyal module that contains the template is updated? Yes, the template is also overwritten. To avoid this, we introduced a hooks mechanism some time ago.

    Under /etc/ebox/hooks you can add scripts (in any language) that will be executed before and after writing the configuration, and also before and after restarting the service daemons. In this directory you can find generic example files for the four types of supported hooks (presetconf, postsetconf, preservice and postservice). And in addition, you find here an already created firewall.postservice hook script that directly allows you to add any custom iptables rule you may want to add.

    Let’s see a practical example. Imagine you want to add ad-blocking capabilities to the Zentyal content filter and you’ve found this post in the community forum explaining how to do it. A better way to do the second step without modifying the template file would be to create a /etc/ebox/hooks/squid.postsetconf script with the following line:

    echo "url_rewrite_program /usr/bin/adzapper.wrapper" >> /etc/squid/squid.conf

    That way, right after the squid.conf file generation is finished, our customized line will be appended to the end of the file.

    So, let’s go now with the new possibility. Maybe it’s a bit overkill in this case, but it is really useful if instead of adding a new line you want to make deeper changes in the configuration template. Just execute the following commands:

    mkdir -p /etc/ebox/stubs/squid
    cp /usr/share/ebox/stubs/squid/squid.conf.mas /etc/ebox/stubs/squid
    echo "url_rewrite_program /usr/bin/adzapper.wrapper" \
        >> /etc/ebox/stubs/squid/squid.conf.mas

    After that, our custom line will be added forever to our custom template, and this template will be used for generating the configuration instead of the default one. It won’t get overwritten by any software update. Easy, right?

    Finally, I don’t want to finish the post without thanking Oliver, the community member who not only gave the idea, but also sent a patch with his modifications in the Zentyal code. This allowed us to add this improvement quickly. I also want to encourage any of you to follow Oliver’s steps and become active contributors. Together we can make a great project!

    What does the new Zentyal name means for you as an eBox user?

    August 31, 2010

    Hi all!

    There is only a day left before our brand new release! I want to explain you some things about the name change from the technical point of view, but if you are a current fan of eBox, I’ll explain also what other things you should do if you haven’t done them yet 😉

    First of all, our websites and emails are going to change from tomorrow on. It’s simple:

  • is now
  • All the email addresses are now
  • is now
  • All the email addresses are now
  • Remember to update your bookmarks and address books!

    If you use Facebook or Twitter, don’t forget to become a fan of Zentyal or follow us in our new Zentyal twitter account.

    IRC and mailing lists have also changed: you will be automatically switched to the new mailing lists (and probably you have already received the mails notifying that). Anyway, here’s a reminder of the new lists:

  • ebox-announce will become zentyal-announce
  • ebox-commits will become zentyal-commits
  • ebox-devel will become zentyal-devel
  • ebox-i18n will become zentyal-i18n
  • ebox-user will become zentyal-users
  • ebox-user-es will become zentyal-users-es
  • If you are an IRC user, remember to change your client configuration to point to the new channels: #zentyal and #zentyal-es (for Spanish speakers). The IRC server is still

    Let’s go now with the software-related stuff. First of all, here are the new launchpad PPA with the official packages and the Zentyal SourceForge project with the ISO images.

    Finally, as doing a complete rebranding of the product just before a stable release is a bit risky, we have decided to use still some references to eBox to avoid any potential trouble. For this reason, you will still find “eBox” in the URL’s of the web application, in the name and path of the scripts, log files (/var/log/ebox/ebox.log), configuration files (/etc/ebox), etc. However, these references will be changed in the future but we’ll have to live with it in 2.0.

    Making eBox rock solid

    May 16, 2010

    As my few readers may already know, this week we released a new eBox 1.4-2 installer. Although it contains new exciting features like the support for delay pools in squid, that allows to configure bandwidth throttling together with transparent proxy, the real work that I want to emphasize is in the amount of bugfixing we have done.

    I think that eBox 1.4 was a pretty stable release since the beginning, but as you know, the community always helps to find issues for some specific corner cases and I want to thank all of them because we really appreciate their work in helping to make eBox a better product every day. Anyway, let me tell you a short story about the samba module (probably one of the most popular modules in eBox) in this 1.4 release.

    One of the starred features in 1.4 was the support for Windows 7 clients and we added it by including a new backported version of the samba package (3.4.5). Unfortunately this version had a bug in the full_audit feature, that is required to make the samba logs work, so if full_audit was enabled, the samba module didn’t work at all. Therefore we had to do a sacrifice and temporary disable that feature to include the Windows 7 support which demand was in constant increase.

    Later, samba 3.4.6 was released and according to its changelog the full_audit problem was fixed, so after backporting it and making some successful tests we uploaded the new samba package and also a new version of ebox-samba to the 1.4-proposed repository enabling the logs again. Few days later people started reporting that in some cases (only when trying to directly open or create a file instead of copying or moving it) the file sharing feature was broken after the upgrade. We only could give them a temporary workaround (manually disabling the full_audit feature again). Then we hoped to find this bug fixed in the next samba release, but it wasn’t.

    So we did more research and finally we found a very simple patch in the samba bugzilla, so we applied it to our backported samba version and uploaded the new package, that has been also included in the new 1.4-2 version. As we have not received any further reports regarding this issue, it seems that we can finally have Windows 7 support and logs working together! Improvements like this, made with the help of eBox users, make us to improve eBox day after day and we’re truly excited seeing how the project is shaping up!