COMP 3000 2011 Report: Zentyal

From Soma-notes

Part 1

Background

Zentyal was formerly known as the eBox Platform. Zentyal is an open source unified network server software package or others would call it, a unified network platform developed by eBox Technologies to provide easy and affordable enterprise level computer networks to small and medium businesses in order to improve the reliability and security of their network infrastructure and reduce operational costs.

Zentyal can provide various networking services such as acting as a gateway to enforce security access and improve efficiency to users connecting to the internet via the gateway configurations. It also provides various networking tools that pertain to the operation, administration and maintenance of network systems or unified communications server or even an office server that can manage printer sharing or file sharing.

Zentyal can be freely obtained from their site (zentyal.org) by downloading from their server. It's approximately 625,000 KB big and the file is in disk image format. You can make a purchase for additional add on or server subscriptions (in euro).

Installation/Startup

Devices > CD/DVD Devices > Choose a virtual CD/DVD disk file...

Zentyal's disk image was downloaded from the official site and then installed on VirtualBox. I used the default settings for creating a virtual machine on VirtualBox:

Welcome page
Nothing needed to be done here
VM name and OS type
Name: Zentyal
Operating System: Linux
Version: Other linux
Memory
256MB
Virtual Hard Disk
Have the start up disk checked then create new hard disk
Welcome to virtual disk creation wizard
select VDI
Virtual disk storage details
Dynamically allocated
Virtual disk file location and size
The default setting is fine

After you have successfully created a virtual machine, power it on and since this is the first time you power on your virtual machine, it will ask you what you want to boot up since there's nothing installed onto your virtual machine. You then boot up the Zentyal disk image (this is the same as popping in the CD into your CD drive but you are actually "mounting" the .iso file onto your virtual CD drive) that you downloaded from the Zentyal site.

If for some reason, you aren't prompt for that option, you can mount the file using VirtualBox instead by going to VirtualBox's menu bar and selecting Devices>CD/DVD Devices>Choose a virtual CD/DVD disk file... and browse for your Zentyal's disk image file. If your menu bar isn't shown, press "Host + C". Afterwards, reboot your virtual machine and it will automatically boot from your virtual CD drive. It will then prompt you for a language then the boot menu will be displayed. Now, You have two options for installation:

Install Zentyal (delete all disk)
This is the default mode, it deletes all disk contents and creates the necessary configurations to run Zentyal
Install Zentyal (expert mode)
This option allows the user to manually configure specifications for Zentyal

I installed Zenyal using the default mode then went through the installation process. The installation process was quick, it didn't take me a long time as it did with Ubuntu. When I finished installing Zentyal and rebooting it, it automatically started up Firefox; this is used as a web interface that allows easy access to various networking administrative tools. There weren't many softwares installed, namely, only a few text editing programs (gedit and leafpad), an archive program, file managing program and Firefox.

Basic Operation

Zentyal can be used to act as a gateway to enforce access rules for internet connection or configure settings to improve efficient access to the internet (in other words, speed up the connection speed by various methods such as proxy caching or traffic shaping). So, after starting up Zentyal for the first time, you will find that there are barely anything installed.

Firefox will automatically start up every time you start up the Linux and prompt you for credentials (username and password). The username and password are the same ones you had put in during the installation process. This web interface allows you to have access to network administrative tools and configurations as well as modules that you can install with ease.

There are many variety of modules that can be downloaded and installed, and it may be confusing for some. I found it confusing as to which to download and install, so I selected the option to view as packages (which is a group of modules that will be used for a specific task). Instead of having 50 modules to look at, I have 5 packages to choose from: Gateway, UTM (Unified Threat Management), Infrastructure, Office and Unified Communications.

Gateway
This package provides system administrators tools configure a firewall and routing rules for multiple internet connections. It allows system administrators to increase internet speed by caching web pages and enhance security by blocking dangerous web threats.

UTM
This package provides system administrators to configure a VPN (virtual private network) to allow users to have remote access to a local area network over the internet.

Infrastructure
This package allows system administrators to manage the network infrastructure.

Office
This package allows system administrators to manage the users or groups of users as well as the server for file and printer sharing.

Unified Communications
This package provides system administrators tools to easily configure a communication server.

In an attempt to create and configure an instant messaging server, I installed the Unified Communication package then enabled the modules via the web interface. But I was unable to successfully set up the instant messaging server as it seems like I was missing some required components that allows such set up (the Ubuntu server was needed to be installed).

Usage Evaluation

Zentyal is a good distribution with regards in managing networking or server activities. It is made to ease the configurations for both network and server settings as well as setting them up quickly. Although, having a necessary amount of knowledge about networking principles would be required to use Zentyal as well as optimizing the use of the features available.

It was a bit cumbersome for me to set up a simple instant messaging server and network activity monitoring system because I only had a limited amount of understanding of networking principles as well as I needed to install other components from Ubuntu. There are variety of tutorials that can be found on the internet but it would be better to have a good general understanding of how networks or server works, even though Zentyal provided a web interface, it is likely that it is not as flexible as configuring settings using a terminal.

References

http://www.distrowatch.com/table.php?distribution=zentyal. Retrieved 2011-10-12
http://www.zentyal.org/. Retrieved 2011-10-12
http://www.howtoforge.com/zentyal-as-a-gateway-the-perfect-setup. Retrieved 2011-10-13
http://www.unix-tutorials.com/go.php?id=4510. Retrieved 2011-10-15
http://www.unix-tutorials.com/go.php?id=4237. Retrieved 2011-10-15
http://www.zentyal.com/en/server/gateway/. Retrieved 2011-10-17
http://www.zentyal.com/en/server/utm/. Retrieved 2011-10-17
http://www.zentyal.com/en/server/infrastructure/. Retrieved 2011-10-17
http://www.zentyal.com/en/server/office/. Retrieved 2011-10-17
http://www.zentyal.com/en/server/communication/. Retrieved 2011-10-17

Part 2

Software Packaging

Zentyal is built on top of Ubuntu which is derived from the Debian, so the package management for this distributive is obviously dpkg which uses the .deb format. It also has RPM package manager.

Commands:

 dpkg -l will output the list of packages
 dpkg -r will remove an installed package
 dpkg -i will install a package

Zentyal also has an APT package handling utility. It can be executed by using the command like apt-get.

Major Package Versions

(at least 10 required)

  • Linux Kernel
    • Linux Zentyal 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:09:46 UTC 2011 i686 GNU/Linux
  • libc
    • Ubuntu ELIBC 2.11.1-0ubuntu7.8
  • shell
    • Bash
  • software packaging
    • dpkg (.deb)
    • CPAN (programming library and package manager for PERL)
  • Web browser
    • FireFox

Initialization

1. BIOS (Basic Input/Output System)
BIOS will search, load and execute the Master Boot Record.

2. MBR (Master Boot Record)
The MBR is located in the first sector of the bootable disk, it loads and executes the GRUB boot loader.

3. GRUB (Grand Unified Bootloader)
The GRUB has the knowledge of the filesystems. It will load and execute the Kernal and initrd (Initial RAM Disk that will be used by the kernel as a temporary root filesystem until the kernel is booted and the real root filesystem is mounted) images (scheme for loading temporary filesystem into memory).

4. Kernel
The Kernel will mount the root filesystem then executes the init program. This is the first thing that the kernel executes.

 $ ps -ef|grep init
 root	1	0	0	17:41	?	00:00:00 /sbin/init
 1000	1954	1927	0	19:11	pts/1	00:00:00 grep --color=auto init

5. Init
The Init will look in the /etc/cron.d file (this file handles upstart) to decide the linux run level. It identifies the default initlevel and loads the appropriate programs.

6. Runlevel Programs
The system will execute the programs from one of the following directories:

 run level 0 - /etc/rc.d/rc0.d/
 ...

and in those directories, there are programs that will start with S and K (S is used during startup and K is used during shutdown and the numbers next to S and K are sequence number, similar to priorities).

Example:

 S12syslog (start syslog daemon) will start before S80sendmail 
 (start sendmail daemon) because the sequence number for syslog is lower than sendmail.

The log files for Zentyal are located in /var/log. This directory contains all the information of this linux distribution.

Other files:

 boot.log contains the boot information
 cron contains cron logs
 messages contains the post-book kernel information

References

http://www.linuxquestions.org/questions/linux-newbie-8/how-to-check-kernal-version-90413/. Accessed on 11/02/2011
http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/. Accessed on 11/02/2011
http://en.wikipedia.org/wiki/Zentyal. Accessed on 11/02/2011
http://www.thegeekstuff.com/2011/02/linux-boot-process/. Accessed on 11/02/2011
http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html. Accessed on 11/03/2011
http://distrowatch.com/table.php?distribution=zentyal. Accessed on 11/05/2011
http://en.wikipedia.org/wiki/List_of_software_package_management_systems. Accessed on 11/05/2011
http://forums.techarena.in/operating-systems/1228021.htm. Accessed on 11/05/2011
http://www.ghacks.net/2009/02/16/learning-linux-log-files/. Accessed on 11/05/2011
http://en.wikipedia.org/wiki/Initrd. Accessed on 11/05/2011
http://en.wikipedia.org/wiki/Upstart. Accessed on 22/05/2011

Part 3

References