Ubuntu Server modifications needed before FreeLCS installation

The FreeLCS installation instructions on the main user manual page describe installation on Ubuntu Desktop. Ubuntu Desktop has a graphical user interface and it is very user friendly. There is another version of Ubuntu called Ubuntu server. It has no graphical user interface and because of this it requires more Linux skills than the desktop version. Instructions below assume you know your way around the Ubuntu Server system.

The default Ubuntu Server installation has some small problems that will prevent FreeLCS from working correctly. Locale may be broken and the font that FreeLCS uses when printing the loudness history graphics file is not installed by default. These problems can be easily corrected.

Fixing Ubuntu 12.04 and 14.04 Server locale

For Ubuntu 16.04 use the Debian method described here.

Ubuntu Server locale is not configured correctly by default, this produces error messages during program package installation and stops the FreeLCS installer.

All following commands must be executed as root.

These next instructions fixes your locale if your language is Finnish (code: fi). You can find language code for you language in the file:   /usr/share/i18n/SUPPORTED
Find the line that mentions you language code and UTF-8. In my case the line is (my language is Finnish):

fi_FI.UTF-8   UTF-8

Copy the line and put it as the last line of the textfile:   /var/lib/locales/supported.d/local

Next you need to take first part of the line above and compose two lines text with it and add these lines at the end of the file:   /etc/environment
In the case of Finnish language the two lines are:

LC_ALL=fi_FI.UTF-8
LANG=fi_FI.UTF-8

Next run the command: dpkg-reconfigure locales

You need to log out and back in for the changes to take effect.

Fixing history graphics file fonts


Install liberation fonts:  sudo apt-get install fonts-liberation

Next create a link to the font that is used when FreeLCS creates history graphics files:

sudo   ln   /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf   /usr/share/fonts/truetype/arial.ttf



Installing FreeLCS on a computer without a graphical user interface

If your operating system is Debian, then you need to make some changes to the system before FreeLCS installation. Instructions are here.

If your operating system is Ubuntu Server, then you need to make some changes to the system before FreeLCS installation. Instructions are here.

Ubuntu Server does not have a graphical user interface and Debian can be installed also without one. Computers with these version of Linux are most likely servers running in a dedicated server room or virtualized in a server farm. The only way to access these servers is usually with a ssh connection.

The advantage of a operating system without a GUI is that it uses very little physical resources, for example Debian 7 without a GUI uses only 45 MB of Ram when it starts up.

FreeLCS installation requires a graphical user interface, but there are two methods to install it on a "headless" server.
  1. You can install FreeLCS on a computer that has a graphical user interface, make a backup of the installation and restore it on a "headless" server. The restoration process can be done over ssh. Instructions for this method are here.
  2. You can use X - forwarding over a ssh connection. This installation method is described below.


Installing FreeLCS over ssh with X - forwarding

FreeLCS installation requires either a connection to the internet or access to a local Debian / Ubuntu package repository.

This method requires two computers: one Linux or OS X machine with the X windowing system installed (Desktop computer) and the target server (server computer). When using this method the installer runs on the "headless" server, but its windows will appear on the Desktop computer.

ssh   -l   username   192.168.1.1

X11Forward yes
ssh  -X  -C  -l   username   192.168.1.1

sudo apt-get update

sudo  apt-get -y  install  python3  idle3  zip  unzip

wget  http://sourceforge.net/projects/freelcs/files/FreeLCS-3.0.zip

unzip FreeLCS-3.0.zip
cd freelcs
./installer.py

Now after a few seconds the window of the installer program should appear on the Desktop computer, even though the installer really runs on the server. Now you can follow the Ubuntu Desktop installation instructions.



Automatic security updates on Ubuntu Server and Debian

These instructions apply to Ubuntu Server and Debian. If your operating system is Ubuntu Desktop, then you can do the configuration more easily with graphical tools. Instructions for Ubuntu Desktop are here.

The next intructions sets the operating system to install all security updates automatically.

All following instructions must be run as the root user.
apt-get install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
nano -w /etc/apt/apt.conf.d/50unattended-upgrades
"${distro_id}:${distro_codename}-security";

"origin=Debian,archive=stable,label=Debian-Security";

nano -w /etc/apt/apt.conf.d/10periodic

nano -w /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "30";
APT::Periodic::Unattended-Upgrade "1";

The settings we made define that the server will download and install security updates daily. The downloaded installation packages are deleted after 30 days.

When updates are installed then details about the installation are recorded to log files in directory:

/var/log/unattended-upgrades/


Now you can setup automatic reboot once a week so that kernel updates are applied.


Static ip - address for Ubuntu Server and Debian without a GUI

In this example we assing the static ip-address of 192.168.1.1 to the network interface eth0. The default gateway to the internet is the computer at address: 192.168.1.200. We use OpenDNS - service as our name servers (ip-addresses: 208.67.222.222, 208.67.220.220). You need to change these settings to correspond to your network environment.

Important note:

Don't try to change network settings on a remote server through a ssh - connection. There is always the possibility that something goes wrong and you are not able to connect to the server anymore.


sudo nano -w /etc/network/interfaces
auto eth0
iface eth0 inet static

address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.200
dns-nameservers  
208.67.222.222   208.67.220.220

You may need to reboot the computer for the changes to take effect.