Linux Installation notes: Ubuntu

Introduction

There is a Ubuntu package which takes care of all dependency packages. You don't need to install or compile any other package.

Procedure

Install Ubuntu, enable the SSH server, ensure that the network connectivity is OK and update with the latest patches.

Login via SSH, and do an sudo to root. If you do not have a root shell, then all commands in the installation will need to be prefixed with 'sudo'.
Note -if you are using the FreeNAC virtual machine: The password sudo will ask for is the password of the logged on user, in the case of the VM - freenac.

Modify the installation sources by un-commenting the lines starting with deb from the /etc/apt/sources.list file and comment out the lines with deb cdrom.

vi /etc/apt/sources.list
apt-get update

Installing the Ubuntu/Debian package

Get the package from the downloads section.

Since the package is a simple deb and not embedded in a repository, dependency handling can not be done by apt. The dependency list must be extracted from the deb and fed to apt manually to install all needed packages.
NOTE: Even if you want to get FreeNAC from Subversion, rather than installing the Ubuntu package, the package can still be used to nicely install all dependencies.

$ sudo dpkg -f freenac_*deb depends | sed -e 's/,//g' | xargs sudo apt-get -qy install

That command installed MySQL and all other packages you need. Nice!

Now install the freenac package:

$ sudo dpkg -i freenac_*deb

There are several packages that may be useful for system administration, these are not required for FreeNAC though: see also the Packages section below.

$ sudo apt-get install rcs iptraf whois links uudeview arpwatch screen zip unzip
Finally, insure that the latest version of package are installed:
$ sudo apt-get upgrade

You may now skip to the next chapter in the Installation Guide.

Notes

From the installation, you should have set your time zone properly. In case you haven't, copy from the /usr/share/zoneinfo directory the file that best suits your timezone.

In our case:

sudo cp /etc/localtime /etc/localtime.orig ; #create a backup of the original timezone
sudo cp /usr/share/zoneinfo/Europe/Zurich /etc/localtime ; # timezone of Switzerland

Packages used by FreeNAC

As part of the FreeNAC installation, the following packages are required, (see also ./contrib/package_files/control):.

libwrap0 apache2 apache2-prefork-dev
libapache2-mod-php5 apache2.2-common apache2-utils php5-common ucf libaprutil1 php5-mysql libdbi-perl libmysqlclient15off libplrpc-perl
php-pear php5-snmp libxml2-dev php5-sybase
mysql-client-5.0 mysql-server libdbd-mysql-perl mysql-server-5.0 mysql-common
libnet-daemon-perl libapr1 libexpat1 libxml2 libpcre3 libpq5
apache2-mpm-prefork flex python-dev
apt-file mailx nmap openssh-server zip unzip subversion
libsnmp-base libsnmp9-dev ncurses-dev libfreetype6-dev libjpeg-dev libpng12-dev graphviz

The following packages, are recommended:

  • freetds-dev (for MS-SQL connections: Wsus, Epo..)
  • syslog-ng (for syslog/primary servers: offers more fine grained control)

The following packages, are optional:

  • rcs (for file level revision control)
  • tcpdump (troubleshooting)
  • iptraf (troubleshooting)
  • whois (troubleshooting)
  • rsync (backups)
  • lynx (downloads)
  • links (downloads, web gui testing)
  • uudeview (uuencode can be useful)
  • ltrace (system level debugging)
  • arpwatch (optional network monitoring Layer 2)
  • smartmontools (hard disk monitoring)
  • traceroute (troubleshooting)
  • sharutils
  • screen (multiple logon sessions)
  • zip
  • unzip