If your company has a need for a small business server, chances are you might have overlooked open source. That would be a mistake, as there are plenty of solutions that do a great job of servicing just about any sized company. One such server, focused on the small business, is Zentyal. Zentyal is an easy to install and even easier to use business-class server for SMBs.

Zentyal features the likes of:

  • Directory and Domain server
  • Mail server
  • Gateway
  • DHCP, DNS, and NTP server
  • Certification Authority
  • VPN
  • Instant Messaging
  • FTP server
  • Antivirus
  • SSO authentication
  • File sharing
  • And much more

At the moment, Zentyal does not support the latest releases of Ubuntu (18.04), but it does support the previous Long Term Support (LTS) release 16.04. I’m going to walk you through the process of installing Zentyal on Ubuntu Server 16.04. Hopefully, in the near future, the developers will support the latest LTS release of Ubuntu. Until then, let’s install on Xenial Xerus. The only thing you’ll need is a Ubuntu 16.04 server and an account with sudo privileges.

SEE: Securing Linux policy (Tech Pro Research)


There isn’t much to do for preparations. Prior to adding the necessary repository and key, you’ll want to run an update/upgrade. Before you do this, know that if your kernel is upgraded, you will have to reboot in order for the changes to take effect. Because of this, you will want to run the upgrade process at a time when a reboot is feasible.

To run the update/upgrade, open a terminal window (or log into your Ubuntu server via SSH) and issue the following commands:

sudo apt-get update
sudo apt-get upgrade

Next, add the repository and key. We’ll install Zentyal 5.1, so the commands to do this are:

sudo add-apt-repository "deb http://archive.zentyal.org/zentyal 5.1 main extra"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 10E239FF wget -q http://keys.zentyal.org/zentyal-5.1-archive.asc -O- | sudo apt-key add -


Now that you’ve added the repository and key, you can run the installation command:

sudo apt-get install zentyal

The installation pulls down quite a large number of dependencies, so give it some time (roughly 5-10 minutes). During the installation, you’ll be asked to set a password for MySQL. If you don’t want to change your MySQL password, leave this field (Figure A) blank.

Figure A

The next configuration option is to set the port to be used by Zentyal. By default, it wants to use port 8443 (Figure B). If that port won’t work, change it here.

Figure B

Once your command prompt is returned to you, the installation is complete.

Logging in

The next step is to log into Zentyal. You can login with any user on the Linux server. Point your browser to https://SERVER_IP:8443 (where SERVER_IP is the IP address of your server) and login with a user account. Once you’ve logged in, you will be required to walk through the initial setup (Figure C).

Figure C

Click on the Continue button and walk through the initial setup wizard. The first page will have you install the Zentyal packages that satisfy your company needs (Figure D).

Figure D

Select all of the packages you want, and then click the INSTALL button. Depending on how many packages you select, this step can take some time.

A caveat

If you find a dependency error loop during installation, you’ll need to install the modules you want via the command line. Fortunately, this is fairly simple. Go back to your terminal window and issue the command:

sudo apt-get install zentyal-MODULE

Where MODULE is one of the following:

  • core
  • common
  • network
  • objects
  • services
  • firewall
  • ntp
  • dhcp
  • dns
  • ca
  • openvpn
  • users
  • squid
  • samba
  • printers

If you find some of the modules still do not install, you’ll need to upgrade Perl via cpan. To do this, issue the commands:

sudo cpan

Once that completes, you should have a newer version of Perl, which allows for the installation of the necessary Zentyal modules. This upgrade can take some time (up to, or longer than, an hour). In the end, you should finally be able to complete the Zentyal initial setup and have a running instance of an outstanding, flexible small business server.