Linux Distribution for Web server – Debian, Ubuntu, CentOS

Linux Distribution for Web server – Debian, Ubuntu, CentOS
Photo by Kvistholt Photography / Unsplash

Any experienced system administrator will confidently voice the essential requirements for server software:

  1. Long-term stability of operation and the lifespan of software packages included in the system. This not only refers to the system's ability to update itself autonomously without disrupting the workflow and without requiring emergency intervention from the administrator but also entails the reliable prospects of the operating system's manufacturer.
  2. Timely security updates. The sooner versions with fixes for identified vulnerabilities are available, the greater the chances of avoiding unauthorized access to the system. At the same time, update packages must be prepared in a way that does not violate the first point.
  3. The presence of initially envisaged solutions that enhance the software's resistance to hacking attempts and the level of system control and auditing. This includes special package assembly methods, the use of comprehensive solutions such as SELinux, Grsecurity, or AppArmor, carefully selected software settings, and policies.
  4. Coverage of all or at least the overwhelming majority of server needs with the distribution's standard repository. Of course, any web server or SSH package can be installed separately, but this would negate the advantages of the first three points.
  5. Powerful technical support from the manufacturer, and in the case of non-commercial solutions, this criterion is replaced by the availability of detailed documentation and the responsiveness of the community in resolving operational issues.

Within these criteria, Debian, Ubuntu, and CentOS will be considered, as they are the most common non-commercial server solutions.

Debian

Debian

  • The long history, extensive community, support for over a dozen architectures, rich repositories, and a healthy conservatism make Debian the leading contender for the title of the best non-commercial server distribution, with very few able to compete in this arena.
  • While the support period for a single release is only 3-4 years, thanks to Debian's highly conservative development, it typically updates seamlessly from one release to another when using the stable branch of the repository. Within a single release, Debian can update without any administrator intervention. As for the distribution's prospects, they appear quite promising due to the massive community and the fundamental importance of the project to the Linux ecosystem.
  • A robust developer community ensures Debian receives timely security updates and features backported from new software versions. Even major and complex packages, such as the kernel or glibc, come with their own patches and are maintained throughout the release lifecycle.
  • Debian packages are compiled with enhanced security flags, utilizing GCC compiler technologies for buffer protection, memory address randomization, strict handling of references, and more. Several security systems are integrated into the distribution, including SELinux, AppArmor, and Grsecurity, although they are not configured or activated by default.
  • The standard Debian repository contains over 43,000 packages, with a dedicated focus on server categories. Administrators have at their disposal the apt package manager and an extensive set of tools for creating, configuring, securing, monitoring, auditing, and virtualizing servers for various services and tasks. These tools are supported by operational and stable updates.
  • While the Debian Wiki may not be the most comprehensive, it still provides essential information. The large number of Debian installations as a server OS ensures mutual support among administrators for technical issues. Consequently, the internet is filled with a wealth of articles, guides, instructions, tips, and other information on using Debian for server purposes, and hosting provider manuals likely describe how to set up a VPS on Debian.

Ubuntu

Ubuntu

  • Expanding on the Debian infrastructure, Ubuntu quickly gained popularity as a more user-friendly solution compared to its parent. As a product of a commercial enterprise, Ubuntu is initially aimed at consumer success, achieving this by relieving administrators of the need for extensive setup of future servers.
  • For servers, it is logical to use Ubuntu LTS (Long Term Support) releases, which are guaranteed updates and paid technical support for 5 years. The versions of packages used in Ubuntu are newer than those in Debian and can be upgraded within a single LTS release through major updates. However, updates from release to release do not go as smoothly as in Debian, largely due to the fresher software. The future of Ubuntu, like any commercial enterprise, depends on the commercial success of the distribution and currently appears somewhat uncertain.
  • The development focus of Ubuntu developers is on application programs, with minimal intervention in system components. Otherwise, repository support is at the level of Debian.
  • In addition to Debian's security measures, Ubuntu utilizes the AppArmor security system, a simplified counterpart to SELinux. AppArmor uses security profiles for access management, and developers already provide profiles for typical applications.
  • Ubuntu repositories are even more extensive than Debian's, similarly divided into release and updated package stores, security updates, and backports.
  • With the Debian community plus millions of Ubuntu users and the option to acquire technical support from Canonical for up to 5 years, Ubuntu LTS stands out as one of the most user-friendly server solutions.

CentOS

CentOS

  • This distribution is a non-commercial build of RHEL, lacking some of Red Hat's proprietary server tools and technical support. CentOS project was acquired by Red Hat itself, granting the project access to Red Hat's infrastructure and reducing the delay in the formation of new CentOS releases and its packages from several months to a few days.
  • Each release of CentOS is supported for 10 years. Version-to-version updates are as smooth as in Debian. The viability of CentOS is directly dependent on the future of Red Hat, a company that stands confidently and is expanding its presence in the server and workstation market.
  • The responsiveness of RHEL repositories is very high, with security updates released within hours or days. However, building updates from source codes for CentOS takes some time, resulting in a noticeable delay in CentOS repositories by several days.
  • The distribution utilizes GCC technologies such as SSP (stack protection), PIE (executable code address randomization), and others. Red Hat, and consequently CentOS, places emphasis on SELinux, currently one of the most powerful security systems for Linux. The distribution includes a set of pre-installed security policies for mandatory application access control. However, the level of SELinux support in CentOS predictably falls behind that of RHEL.
  • Red Hat has a large team of developers contributing significantly to the overall Linux ecosystem. Their patches to common projects and unique developments in kernel, virtualization, security, system components, networking, storage, desktop environments, and applications allow a CentOS administrator not only to run a server but also to build an entire infrastructure for a small enterprise. Just over 5000 packages cover the majority of server tasks.
  • Round-the-clock technical support from Red Hat is provided exclusively to paid RHEL users. However, distributions based on this company's infrastructure (CentOS, Fedora, Scientific) have long been popular in business, science, and home use, ensuring that a CentOS administrator is unlikely to be left without assistance in problem resolution. Detailed technical documentation from Red Hat is available to everyone without exception.

In December 2020, Red Hat announced the cessation of CentOS Linux development in favor of CentOS Stream.

The generation of updates for the classic CentOS 8 was halted on December 31, 2021. Maintenance for the CentOS 7 branch will continue unchanged until 2024.

On June 30, 2024, CentOS Linux 7 will reach End of Life (EOL). Explore Red Hat’s options to help ease your migration, including Red Hat Enterprise Linux for Third Party Linux Migration.

CentOS Stream is now a rolling release, meaning it continuously receives updates and serves as an intermediary between Fedora and RHEL. CentOS Stream is designed for those seeking earlier access to new features that will eventually be incorporated into RHEL.

This change sparked some concerns within the CentOS user community since CentOS Linux was valued for its stability and predictable release cycles. In response, other projects like Rocky Linux and AlmaLinux were community-created to offer alternatives to CentOS Linux with the same LTS principles.

As of 2023, CentOS Stream continues to exist and evolve as a more dynamic distribution, while Rocky Linux and AlmaLinux provide alternatives for those looking for something more akin to traditional CentOS Linux.

Read more