Installation¶
Generally speaking, Zentyal is meant to be installed exclusively on one (real or virtual) machine. However, this does not prevent you from installing other applications, that are not managed through the Zentyal interface, like for example a database engine. These applications must be manually installed and configured.
Zentyal runs on top of Ubuntu [1] server edition, always on LTS (Long Term Support) [2]. LTS editions have longer support periods, covering five years.
You can install Zentyal in two different ways:
- Using the Zentyal installer (recommended option),
- On top of an existing Ubuntu Server Edition installation.
In the second case the official Zentyal repositories must be added [3], after updating the software sources, you can install Zentyal base system and any of the modules.
However, in the first case, the installation and deployment process is easier as all dependencies are found on a single DVD or USB. Another benefit of using the DVD or USB is to have a graphical environment that allows the use of a web interface and desktop environment from the server host itself.
[1] | Ubuntu is a Linux distribution developed by Canonical and the community, focused on laptops, PCs and servers: http://www.ubuntu.com/. |
[2] | For a detailed description about the publication of Ubuntu versions it is recommended you consult the Ubuntu guide: https://wiki.ubuntu.com/Releases. |
[3] | For more information about installing from the repository please go to https://wiki.zentyal.org/wiki/Installation_Guide |
It is recommended to have an Internet connection available for the host where you are installing Zentyal, this way, the most recent updates and fixes will be installed automatically.
Zentyal installer¶
The first iteration of the Zentyal installer is based on the Ubuntu Server installer. Those already familiar with this installer will find the installation process very similar.
Warning
The steps below apply to all Zentyal editions, but if you are installing a commercial edition, you will be asked for a valid license key (obtained when you purchased your edition), otherwise the installation process will not continue.
To start with, you choose the installation language, in this example English is chosen.
You can install Zentyal by using the default mode which deletes all disk contents and creates the partitions required by Zentyal by using LVM [4] or you can choose the expert mode which allows customized partitioning. Most users should choose the default option unless they are installing on a server with RAID software or they want to create special partitioning according to specific requirements. Using the expert mode you can also choose to perform a headless installation (without local desktop environment).
In the next step you have to choose the language for the installer interface, which will be the default language for the installed system as well.
Then you are asked for your geographical location, in this example the United States is chosen.
You can use automatic detection for setting the keyboard: a few questions are asked to ensure the model you are using is correct. Otherwise, you can select the model manually by choosing No.
If you have multiple network adapters, the installer will ask you for your primary one, the one that will be used to access the Internet during the installation. The installer will try to auto configure it using DHCP. If you only have one interface, you will not see this step.
Now choose a name for your server: this name is important for host identification within the network. The DNS service will automatically register this name. Samba will also use this host name by default.
Next, the installer will ask you for the administrator account. This user will have administration privileges and will be used to access the Zentyal interface.
In the next step you are asked for the user password. It is important to note that the user defined earlier, can access, using the same password, both system (via SSH or local login) and the Zentyal web interface. Therefore you must be really careful to choose a secure password (more than 12 characters including letters, numbers and symbols).
Here, insert the password again to verify it.
In the next step you are asked for your time zone. It is automatically configured depending on the location chosen earlier, but you can modify it if the guessing is not correct.
The installation progress bar will now appear. You must wait for the basic system to install. This process can take approximately 20 minutes, depending on the connection and performance of the hardware.
Once installation of the base system is completed, you can eject the installation CD and restart the server.
You have completed the first iteration of the installation. After reboot, the system will automatically launch a desktop session with a web browser where you can perform the remaining steps. The first boot will take longer than then next ones, as it needs to initialize the core Zentyal modules.
Your Zentyal system is now installed! A graphical interface in a web browser is displayed and you are able to access the administrative interface. The first boot will take an extra time while it configures core Zentyal modules. You will notice that the first time you boot, the graphical environment is automatically started in order to ease the process. Next boot sequences will require you to authenticate first.
You need to provide the username and password configured in the last steps to continue with the process. Later on, you can add any system user to the sudo group. This user will be able to access the web GUI and, of course, the local operative system as root.
[4] | LVM is the logical volume manager in Linux, you can find an introduction to LVM management in http://www.howtoforge.com/linux_lvm. |
Initial configuration¶
When you access the web interface for the first time, you will be presented a configuration wizard.
Any of the parameters that you configure using this wizard can be modified later on accessing the appropriate service or component configuration.
First of all, you will be asked about the functionality that you want to install and configure in your server. Some of these components depend on others, but Zentyal will manage those dependencies automatically. The next steps of this wizard will depend on the functionality you choose here. In any case, you can install/remove/update any of the components later on from the server’s interface.
For this example, the Domain Controller, Groupware and Firewall components will be installed.
Zentyal will inform you of the dependencies that will be installed to support the components you have chosen in the previous step.
The system will start the installation process of the required modules. Progress bar shows information of the modules being installed and you are provided information regarding the commercial version.
Next, you will be asked for the basic network information. First of all, which interfaces are External (generally speaking, connected to the Internet gateways), and which ones are Internal (generally speaking, LAN interfaces). This will impact the firewall default policies, network masquerading, default listen interfaces for other modules, etc.
Next, you will carry out basic configuration of each one of these interfaces. External interfaces can be configured using DHCP, if you have another network device providing the leases. In any case, if you use DHCP to configure any of the Zentyal interfaces, it is recommended to use an static lease.
Next you need to choose the domain associated to your server and the type of server, you have these options:
- Standalone: First domain controller of the domain.
- Additional domain controller: Join an existing domain as an additional controller.
For the sake of simplicity, Standalone mode will be selected for this example. You can read more about the other directory modes in the Domain Controller and File Sharing chapter.
To configure this mode, you only need to specify the domain name for your directory entities. Be careful not to confuse this with the DNS domain, which is a highly related, but actually different context.
In the next step, you will choose the default virtual mail domain. By default, the domain name will be used to autocomplete this form, but that may not be your case.
Zentyal will proceed to apply the initial configuration for the installed components.
And, that’s it! Your Zentyal server is ready to be used.
Now you can access the Dashboard and the specific configuration of each one of the components. In the next chapter, you can go through the basic concepts and behavior of the Zentyal GUI.
Hardware requirements¶
Zentyal runs on standard x86_64 (64-bit) hardware. However, you must ensure that Ubuntu Xenial 18.04 LTS (kernel 4.15) supports the hardware you are going to use. You should be able to check this information directly from the vendor. Otherwise you can check Ubuntu Linux Hardware Compatibility List [5] or Google Search.
The Zentyal server hardware requirements depend on the modules you install, how many users will use the services and what their usage patterns are.
Some modules have low resource requirements, like Firewall, DHCP or DNS. Others, like Mailfilter or Antivirus need more RAM memory and CPU. Proxy and File sharing modules benefit from faster disks due their intensive I/O usage.
A RAID setup gives a higher level of security against hard disk failures and increased speed on read operations.
If you use Zentyal as a gateway or firewall, you will need at least two network cards, but if you use it as a standalone server, one network card is enough. If you have two or more Internet connections, use one network card for each router or connect them to one network card keeping them in the same subnet. Using VLANs is also an option.
Also, it is always recommended that a UPS is deployed along with the server.
For a general purpose server with normal usage patterns, these are the recommended minimum requirements:
When combining more than one profile, you should think in terms of higher requirements. If you are deploying Zentyal in an environment with more than 100 users, a more detailed analysis should be done including usage patterns, benchmarking and considering high availability strategies.
[5] | https://certification.ubuntu.com/server |