Ubuntu – Difference between Software Selection Servers


I am installing Ubuntu Server, and I want to know what is the difference between these:

[ ] OpenSSH server
[ ] DNS server
[ ] LAMP server
[ ] Mail server
[ ] PostgreSQL server
[ ] Print server
[ ] Samba file server
[ ] Tomcat Java server
[ ] Virtual Machine host
[ ] Manual package selection

Can anyone explain?

Best Answer

The term "server" means a piece of software that offers a service to clients. A server usually waits for a client to contact it, and then sends the reply to the client. For further information, read about the Client-Server-Model

OpenSSH server

SSH (Secure Shell) is a protocol to get encrypted remote access to a machine. The machine you want to access needs to run a SSH server to accept incoming requests. OpenSSH is an implementation of SSH. Next to shell access and file transfer (SFTP, SCP), SSH enables fancy things, such as starting an application on the server, but show the GUI on the client (X11 forwarding).

DNS server

The Domain Name System, short DNS, resolves addresses, like askubuntu.com to IP addresses like, which makes the internet more usable to human beings. For DNS lookups, the clients, e.g. web browsers, send a request to a DNS server in order to retrieve the IP address of the required service.

LAMP server

LAMP = Linux Apache MySQL PHP, pretty much explains it: This package containes an Apache web server (a server that e.g. delivers websites), with a MySQL backend (A database management system), and a PHP interpreter (PHP is a scripting language that is executed on the server before sending the result to the client, in this setup through the Apache server).

Mail server

A server that is responsible for delivering E-Mail, both for sending and receiving, depending on the setup.

PostgreSQL server

PostgreSQL is, like MySQL, a database management system. A database server enables clients to send queries to the server and returns the results.

Print server

On a default Desktop Ubuntu, there is a printing system called CUPS installed. CUPS works as a server, on which the printers are installed. Every time you print something on Ubuntu, it sends the print job to a print server, either on the same system, or to another. E.g. in my school, there is a central print server students send their print jobs to, and then the print server takes care of the printing.

Samba file server

Samba is an implementation of the SMB (Server Message Block) protocol, which can be used as a network file system. SMB clients can mount drives published by a SMB server.

Tomcat Java server

Tomcat is another web service, responsible for delivering JSP content, i.e. dynamic website generation.

Virtual Machine host

This option installs KVM, a host for running virtual machines.

Manual package selection allows you to skip tasksel, the program that is offering you those precompiled package lists, and install the packages you need manually, which allows for a more fine-grained setup. However, this is much harder to accomplish, especially if you have no idea what packages are actually required to build, let's say, a web server.