Ubuntu 14.04/Package selection

Package selection

If the provider offers a "minimal" default installation of "Ubuntu 14.04 (Trusty Tahr)", this can be taken as base system. Further package deinstallation is more trouble than it's worth. Independent from the provider also exists a minimalistic Ubuntu server distribution as base to install: Server install image

Integrate package repositories

(To deepen see also: Wiki)

It is recommended to use a mirror server in the area instead of the Canonical server, since mostly the connection is faster, and cost and bandwidth for the main server will be reduced. The example server chosen here is located in Germany (Aachen), making it suitable for central Europe.

Hint: Many Ubuntu installations use the command sudo to get administrator permissions. In this case in front of the commands mentioned here, the word sudo must be typed. In the next tutorial part „User + SSH“ we will configure a fully-fledged root account, and sudo will become obsolete.

Actual list of official mirror servers: https://launchpad.net/ubuntu/+archivemirrors

Enter repositories: /etc/apt/sources.list (Wiki: https://help.ubuntu.com/community/Repositories/CommandLine)
(Hint: Repositories which are needed only sometime or optional explanatory notes can be commented out with the # character at the beginning of a line.)

http://ftp.halifax.rwth-aachen.de/ubuntu trusty main restricted universe multiverse
http://ftp.halifax.rwth-aachen.de/ubuntu trusty-updates main restricted universe multiverse
http://ftp.halifax.rwth-aachen.de/ubuntu trusty-security main restricted universe multiverse
http://ftp.halifax.rwth-aachen.de/ubuntu trusty-backports main restricted universe multiverse

After changing the repositories, the new selection must be loaded again into the package manager:

apt-get update

Install Software Packages

Most likely in the new choosen repositories updates are available for some packages. These should be installed first of all:

apt-get upgrade

Install the following packages (and their dependencies) with:

apt-get install ...

=> mariadb-server
=> mono-complete
=> tmux

=> nginx (only necessary for webserver)
=> php5-fpm (only necessary for webserver with PHP-CGI scripts)
=> php5-mysql (only necessary for webserver with SQL connected over PHP, for example CMS, blogs or forums)

In brackets for optional packages a hint with possible uses is given.

With Linux kernel version 3.13 originally delivered with Ubuntu 14.04, OpenSim has proven to run unstable crashing Mono every view hours or even more often. So I recommend to activate the LTS Enablement Stack, which delivers a 4.4 kernel.

First simulate if the LTS Enablement will be possible without packaging conflicts. Examine the outputs and if you find errors, do not call the command before solving the problems.

 apt-get -s install --install-recommends linux-generic-lts-wily

After a successful simulation install the new packages by leaving out the option "-s".

apt-get install --install-recommends linux-generic-lts-wily

Next time the system will boot with the new kernel, you can check it with the "uname -a" command.

Optional update of the web server, if installed

Preparation: Install software tools to be able to install easily from Ubuntu PPA repositories:

apt-get install software-properties-common

With the following command line sequence the private repository (PPA) of a user is choosen as additional installation source, and from there a more actual version of Nginx is installed.

nginx=stable
add-apt-repository ppa:nginx/$nginx
apt-get update 
apt-get install nginx

Attention: Such private installation sources are not controlled by the Ubuntu team! Even though the data were uploaded to a Ubuntu server, the person or community referred in the PPA did it on their own account.



Continued: User accounts and hardening SSH