Core Linux servers

The following is a list of Linux server software that is used in many, many situations to provide infrastructure to other services. If you want to be a sys admin you must know these.

  • OpenSSH: This server is used to provide authenticated command line access to remote servers. Additionally it can also be used to get limited graphical access and upload/download facilities.
  • dnsmasq: This is a lightweight combined DHCP and DNS server that makes it easy to automatically configure the network details of an office of around 5 – 50 computers from a single file.
  • xinetd: This is a program used for enabling and disabling servers on demand to ease the load on multipurpose machines.
  • ISC DHCP server: A more complex DHCP server suited for environments with multiple subnets that have different behaviors (e.g. Guest WiFi vs Staff Ethernet).
  • BIND9: This is the traditional DNS server on Unix. It’s configuration is rather arcane but unlike dnsmasq it is designed to handle very large numbers of hosts.
  • MySQL: This is the most popular Open Source Relational Data Base Management System (RDBMS). It’s use is to efficiently store and retrieve data on behalf of other programs. You will see this very, very often.
  • Apache: The traditional Linux web server application. Even if you are not hosting a proper website you may use it for graphical configuration of other services.

There are many other servers programs that you will often see but these are the ones I recommend learning first