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?


Solution 1:

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 104.16.17.44, 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.

Solution 2:

I'll try to be as brief and simple as possible.

OpenSSH Server:-

It is a server that allows remotely controlling or transferring of files between computers. It allows you to remotely control the files on the sever via an OpenSSH client application.

DNS Server:-

It is a server that points a domain name to an Ip address of a computer. Its like a phonebook which tells you the number (Ip Address) of a person when you search by his name ( In the below example, google.com).For example, when you open google.com in your browser a request is sent to Google's DNS servers which then connects you to one of their servers (For example:- 74.125.130.101). If their were no DNS servers, we would have to remember The Ip Address of askubuntu.com instead of typing in domain name.

LAMP Server:-

It is a name given to a set of software usually required to run a website. The software are Linux+Apache+MySQL+PHP.

Mail Server:-

As the name suggests, it helps in transfer of email messages. It maps a email to an email address and domain. In short, its like a postman who delivers a letter to the right door.

PostGreSQL Server:-

It is one of the types of SQL servers. They help in storing and managing data in a structured form for faster access. SQL stands for Structured Query Language.

Print Server:-

As the name suggests, it allows you to print your documents remotely through a Print Server connected to printer(s). Just like a mail server, it delivers a client's print request to the right printer.

Samba File Server:-

It is just like OpenSSH for windows with an advantage over OpenSSH that Samba servers can be used as a print server without installing any other Print Server Application.

Tomcat J̶a̶v̶a̶ Server:-

Its not Tomcat Java Server, Just Tomcat Server. Tomcat is a version of Apache. Its not a application server but a webserver used to serve websites.

Virtual Machine Host:-

It is more like a Virtual Box for Ubuntu. It allows you to emulate a given hardware for testing without the presence of the hardware. It is commonly used to run various servers on a single Ubuntu install. You may need heavy hardware to run a VM Host.

Manual Package Selection:-

As I see, you are either installing a Ubuntu Server or reading a guide on how to do it. Manual Package Selection option in Ubuntu Server Installation allows you to manually select the packages that you need.

I hope this helps !