COMP 3000 2011 Report: Zentyal: Difference between revisions
Line 107: | Line 107: | ||
==Major Package Versions== | ==Major Package Versions== | ||
There are a wide variety of packages installed in Zentyal.[[File:packages_installed_zentyal.txt]] but I've only chosen a few of them out of the list. | |||
<b>Bash</b><br> | <b>Bash</b><br> | ||
Line 113: | Line 114: | ||
debconf | <b>debconf</b><br> | ||
debconf is a software utility for performing system-wide configuration tasks on Unix operating systems. It is closely integrated with the Debian's package management, dpkg. The current version installed is 1.5.28ubuntu4 and the stable release is 1.5.41.<br> | |||
[https://launchpad.net/ubuntu/+source/debconf/+publishinghistory debconf publishing history] | |||
<b>dpkg</b><br> | |||
dpkg also known as Debian package Management System is used to manage (install, remove and provide information) .deb packages. The current version installed on Zentyal is 1.15.5.6ubuntu and the stable release is 1.15.72. This is the main package management for Zentyal even though RPM is also included in this distribution. I was unable to find the release history for this package.<br><br> | |||
<b>BusyBox</b><br> | <b>BusyBox</b><br> | ||
Line 129: | Line 128: | ||
FireFox | <b>FireFox</b><br> | ||
Firefox is the main web browser in Zentyal used as the main web interface to manage network capabilities for a more efficient usage (easier to set up and manage networking functions). The current version that's installed in Zentyal is 3.6.23+build+ and the current stable release is 8.0. By the look of the Mozilla Firefox timeline, it's been heavily modified over the years (there are big differences between both the UI and logo's early release to the present). <br> | |||
[http://en.wikipedia.org/wiki/History_of_Firefox Firefox release history] | |||
<b>Openbox</b><br> | |||
Openbox is a free window manager for the X Window System. It was derived from Blackbox 0.65.0 but it's now rewritten in C instead of C++. Since version 3.0, it has officially detached itself from Blackbox. It is designed to be small and fast and it also supports many features such as menus where users can control applications or displaying various dynamic information such as CPU usage, this is especially useful for system administrators to monitor network data flows more efficiently. The current version that is installed on Zentyal is 3.4.10-1ubuntu and the stable release version is 3.5.0, the currently installed version is not very far from the stable release. <br> | |||
[git.openbox.org/?p=dana/openbox.git;a=tags Openbox release history] | |||
<b>LXDE</b><br> | |||
LXDE is a desktop environment for UNIX. The current version installed in Zentyal is 0.5.0-3ubuntu2 and stable release version is 0.5.0-4ubuntu3, so it's fairly updated. This package is designed to work efficiently, having to use lowest memory usage as possible. This is a fairly new package since it's initial release was back in 2006.<br> | |||
[https://launchpad.net/ubuntu/+source/lxde-common/+publishinghistory LXDE release history] | |||
<b>Netcat-openbsd</b><br> | |||
Netcat is a simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. Zentyal has version 1.89-3ubuntu2 installed and the released stable version is 1.10. I think this package was already included in Debian.<br> | |||
[https://launchpad.net/ubuntu/+source/netcat netcat release history] | |||
<b>Apache</b><br> | |||
The Apache HTTP Server is often referred to as Apache. It is an HTTP server for modern operating systems including both the UNIX and Windows NT systems. Zentyal has Apache version 2.2.14-5ubuntu installed and the stable released version is 2.2.21. This has been included in Debian and it is an important component that deals with networking. From looking at the release history and changes log, it's been heavily modified.<br> | |||
[http://www.apachehaus.com/index.php?option=com_content&view=article&id=119:history-releases-apache&catid=41:catagory-change-logs&Itemid=93 Apache release history] | |||
<b>Xorg</b><br> | |||
The X.org provides an open source implementation of the X Window System. The version currently installed in Zentyal is 1:7.5+5ubuntu1 and the current stable release is 1.11.2. The Xorg version number has changed since xorg 7.0 where debian version of xorg is different from a non-Debian packaging version and each modules of Xorg has its own version. Xorg is the default X Window server since Debian 4.0, so that's probably why it was put in Zentyal.<br> | |||
[http://www.x.org/wiki/Releases Xorg version history] | |||
==Initialization== | ==Initialization== |
Revision as of 04:24, 12 November 2011
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
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 Debian. Zentyal's packaging format is .deb and the utility that manages its packages is dpkg (package management for Debian). It also includes a RPM (Red Had Package Manager) package manager that manages .rpm format files but will focus on dpkg since packages are mainly in .deb format.
Commands:
dpkg -l will display a list of packages dpkg -r will remove an installed package dpkg -i will install a package
Major Package Versions
There are a wide variety of packages installed in Zentyal.File:Packages installed zentyal.txt but I've only chosen a few of them out of the list.
Bash
Bash is a shell (command language interpreter, it stands for Bourne-Again SHell) for the GNU operating system. The current version that Zentyal has right now is 4.1-2ubuntu3
and the current stable release is 4.2
. So, the version in Zentyal is not far from the current stable release. By the look of the previous versions of Bash, it's been heavily modified by the distribution authors as it's been updated and patched up every year since 1994. This package was chosen for this distribution's standard install because Bash became a de facto standard, since it was used in early versions of the Unix operating system.
Bash version history
debconf
debconf is a software utility for performing system-wide configuration tasks on Unix operating systems. It is closely integrated with the Debian's package management, dpkg. The current version installed is 1.5.28ubuntu4 and the stable release is 1.5.41.
debconf publishing history
dpkg
dpkg also known as Debian package Management System is used to manage (install, remove and provide information) .deb packages. The current version installed on Zentyal is 1.15.5.6ubuntu and the stable release is 1.15.72. This is the main package management for Zentyal even though RPM is also included in this distribution. I was unable to find the release history for this package.
BusyBox
BusyBox is a mix of tiny versions of many common UNIX utilities into a single small executable, thus the name "The Swiss Army Knife of Embedded Linux". It provides a fairly complete environment for any small or embedded system. The current version installed on Zentyal is 1.13.3-1ubuntu11
and the current stable release is 1.19.2
. BusyBox was first released in 1999, so it's a fairly new package and there are probably a heavy load of modifications by the authors as it may have had a lot of bugs that needed to be patched up.
BusyBox version history
FireFox
Firefox is the main web browser in Zentyal used as the main web interface to manage network capabilities for a more efficient usage (easier to set up and manage networking functions). The current version that's installed in Zentyal is 3.6.23+build+ and the current stable release is 8.0. By the look of the Mozilla Firefox timeline, it's been heavily modified over the years (there are big differences between both the UI and logo's early release to the present).
Firefox release history
Openbox
Openbox is a free window manager for the X Window System. It was derived from Blackbox 0.65.0 but it's now rewritten in C instead of C++. Since version 3.0, it has officially detached itself from Blackbox. It is designed to be small and fast and it also supports many features such as menus where users can control applications or displaying various dynamic information such as CPU usage, this is especially useful for system administrators to monitor network data flows more efficiently. The current version that is installed on Zentyal is 3.4.10-1ubuntu and the stable release version is 3.5.0, the currently installed version is not very far from the stable release.
[git.openbox.org/?p=dana/openbox.git;a=tags Openbox release history]
LXDE
LXDE is a desktop environment for UNIX. The current version installed in Zentyal is 0.5.0-3ubuntu2 and stable release version is 0.5.0-4ubuntu3, so it's fairly updated. This package is designed to work efficiently, having to use lowest memory usage as possible. This is a fairly new package since it's initial release was back in 2006.
LXDE release history
Netcat-openbsd
Netcat is a simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. Zentyal has version 1.89-3ubuntu2 installed and the released stable version is 1.10. I think this package was already included in Debian.
netcat release history
Apache
The Apache HTTP Server is often referred to as Apache. It is an HTTP server for modern operating systems including both the UNIX and Windows NT systems. Zentyal has Apache version 2.2.14-5ubuntu installed and the stable released version is 2.2.21. This has been included in Debian and it is an important component that deals with networking. From looking at the release history and changes log, it's been heavily modified.
Apache release history
Xorg
The X.org provides an open source implementation of the X Window System. The version currently installed in Zentyal is 1:7.5+5ubuntu1 and the current stable release is 1.11.2. The Xorg version number has changed since xorg 7.0 where debian version of xorg is different from a non-Debian packaging version and each modules of Xorg has its own version. Xorg is the default X Window server since Debian 4.0, so that's probably why it was put in Zentyal.
Xorg version history
Initialization
1. BIOS
The first thing that starts up is the BIOS (which stands for basic input/output system) which performs system integrity checks or hardware startup tasks. Once hardware is started correctly, it will look for the boot loader program then load it onto memory and then BIOS will pass control to the boot loader program by executing it.
2. MBR
MBR (which stands for Master Boot Record) is a partition boot sector, this is located in the first sector of the bootable disk (it is less than 512 bytes in size). It loads and executes GRUB boot loader.
3. GRUB
The GRUB boot loader (which stands for Grand Unified Bootloader) has information about the filesystem. It will load and execute the default kernel and initrd images. Initrd (stands for Initial RAM Disk) is used to temporarily store the root filesystem by the kernel until the real filesystem is mounted. It contains important drivers for hardware usage.
4. Kernel
The kernel mounts the root filesystem then executes the init program. Since init is the first thing that the kernel executes, it has the PID of 1.
$ 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 program will look in /etc/cron.d file (since cron handles upstart) to decide the linux run level in order to identify the default initlevel to load necessary programs.
6. Runlevel Programs
When the system is booting up, various services are started:
list of services
Additional Information
There are log files for Zentyal which contains all the information regarding this linux distribution such as programs that are running, which utilities were used and boot information. The important files for this report are:
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