Ubuntu Server 26.04 LTS Installation

Ubuntu Server 26.04 LTS Installation

Bitnesia Aug 28, 2026 1 ID

After learning about the server environment characteristics and the new features in Ubuntu Server 26.04 LTS in Chapter 1, it is time to move on to the practical phase: installing the operating system from scratch. An Ubuntu Server installation may seem simple at first glance, but every choice we make here, from the partitioning scheme to network configurations, will determine how easy this server will be to manage in the future. Experienced sysadmins know that minor mistakes made during the installation phase often only manifest their impacts months later when the server is already in production.

In this chapter, we will install Ubuntu Server 26.04 LTS "Resolute Raccoon" from scratch, starting from preparing the installation media until the server is ready to be accessed via SSH. All steps in this chapter use the official Ubuntu Server installer, allowing us to practice directly on physical computers, virtual machines, or the cloud.

1. Installation Preparation

1.1 Minimum Specifications

Before starting, we need to ensure the hardware used meets the minimum specifications. Based on official Ubuntu Server documentation, the resource requirements are much lighter compared to Ubuntu Desktop because there is no desktop environment to run.

Installation TypeMinimum RAMMinimum StorageRecommended RAMRecommended Storage
Server ISO (standard installation)1.5 GB5 GB3 GB or more25 GB or more
Cloud image1 GB4 GB3 GB or more25 GB or more

The minimum figures above are sufficient for a lightweight server, such as simply running a single small service. When we start running databases or multiple containers simultaneously, the RAM and storage requirements will naturally increase far beyond these minimum numbers. As a practical benchmark, field sysadmins usually prepare at least 2 vCPUs, 4 GB RAM, and 20 GB storage for beginner-class production servers.

1.2 Server ISO vs Live Server Installer (Subiquity)

Ubuntu Server 26.04 LTS uses Subiquity as its official installer. Subiquity is a text-based UI installer that replaces the old debian-installer. Although its appearance is simple and text-based, navigation is quite intuitive. We just use the arrow keys, Tab, and Enter to navigate between options.

There is only one ISO type for Ubuntu Server, which is the live server installer. Unlike Ubuntu Desktop which includes a "Try Ubuntu" option to try the OS without installing, the Server ISO directly leads us to the installation process upon booting.

1.3 Creating a Bootable USB

After downloading the Ubuntu Server 26.04 LTS ISO from the official site ubuntu.com/download/server, the next step is creating a bootable installation media. For installation on physical computers (bare metal), we need to write the ISO to a USB flash drive.

  • On Windows, use a tool like Rufus.
  • On macOS, use balenaEtcher.
  • On Linux, we can use the dd command directly from the terminal.

Here is an example of creating a bootable USB from Linux using dd (replace /dev/sdX with the correct flash drive device, double-checking beforehand with lsblk to avoid accidentally overwriting the wrong disk):

lsblk
sudo dd if=ubuntu-26.04-live-server-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync

If the installation target is a virtual machine, this step can be skipped. The ISO file can simply be mounted directly as a virtual optical drive in VirtualBox, KVM, or other hypervisors.

2. Step-by-Step Installation with Subiquity

Boot the computer or VM from the installation media, then follow the workflow below. This workflow is consistently used by Subiquity across various architectures (amd64, arm64, and others), though the detailed interface may vary slightly depending on the version.

2.1 Language, Keyboard, and Installer Updates

The first screen asks us to select the installer interface language (choose English so technical terms are not awkwardly translated), followed by the keyboard layout. Subiquity usually offers an update for the installer itself if an internet connection is detected. We can choose to update or continue with the installer version included in the ISO.

2.2 Network Configuration during Installation

Subiquity automatically detects available network interfaces. If there is a DHCP server on the network (common in labs or VMs using NAT/bridge), an IP is obtained automatically and we can simply proceed. For production servers, sysadmins usually configure a static IP directly at this stage so that the server address does not change after a reboot.

On the network configuration screen, select the active interface (for example enp0s3), then select Edit IPv4 to change from Automatic (DHCP) to Manual. Fill in the subnet, address, gateway, and name servers according to our network requirements. Further network configuration using Netplan will be covered in depth in Chapter 8.

2.3 Disk Partitioning: Guided vs Manual (LVM by Default)

This stage is one of the most crucial. Subiquity offers two paths:

  • Guided storage configuration: the installer automatically creates the partitioning scheme. Since the last few LTS releases, this guided option uses LVM (Logical Volume Manager) as the default scheme, instead of standard ext4 partitions.
  • Manual (custom storage layout): we manually configure each partition, size, and filesystem. This option suits custom requirements, such as separating the /var partition for large server logs, or setting up software RAID.

Why has LVM become the default? The reason is that LVM provides the flexibility to resize volumes without needing downtime, which is highly valuable on production servers where data continuously grows. Complete details regarding LVM, from physical volumes to snapshots, will be thoroughly covered in Chapter 7. For the exercises in this chapter, choose Use an entire disk with the Set up this disk as an LVM group option so that we become accustomed to this scheme from the start.

2.4 Initial User Account Creation

Unlike some other distributions, Ubuntu Server creates a user account right in the middle of the installation process rather than after a reboot. We will be prompted to fill in:

  • Full name
  • Your server's name: the server hostname
  • Pick a username: the login username
  • Password (typed twice for confirmation)

This account is automatically added to the sudo group, allowing it to run administrative commands immediately after logging in. As a note, the root account in Ubuntu Server is not enabled by default, adhering to the security principles we will discuss in depth in Part VIII.

Subiquity also offers an Import SSH identity option from GitHub or Launchpad. If we already have SSH keys registered on a GitHub account, this option directly fetches those public keys so that the server is ready for key-based SSH access right from the initial installation without manual setup. Note that importing SSH keys at this stage does not automatically disable password-based SSH login. Password login remains active alongside key login, so we still need to manually disable it in sshd_config if we want the server to accept key-based authentication only. These SSH hardening details will be discussed in Chapter 3.

2.5 Automatic Driver Installation (OEM/HWE Kernel)

Servers sometimes require hardware support newer than what is provided by the default GA (General Availability) kernel of an LTS release. This is where the OEM kernel and HWE (Hardware Enablement) kernel come into play. Both are kernel variants with newer hardware support compared to the standard GA kernel.

Starting with Ubuntu Server 26.04 LTS, Subiquity automatically detects hardware during installation and installs the matching OEM or HWE packages if needed. This feature was previously only available on Ubuntu Desktop. Sysadmins who prefer to stick with the standard GA kernel for long-term stability, especially on production servers that prioritize predictability over the latest hardware features, can disable this behavior. The exact steps have not been verified against the latest official documentation yet, so check the Subiquity 26.04 release notes before relying on this option for production servers.

2.6 Confirmation and Installation Process

Once all options are configured, Subiquity displays a configuration summary before actually writing data to the disk. Recheck the storage section once more, because after this phase the disk will be formatted and old data (if any) will be lost. The installation process runs automatically, while the duration depends on storage speed and internet connection speed for downloading package updates.

# After the installation is complete, the installer will display the message:
Installation complete!
# Remove the installation media (USB/ISO), then select Reboot Now

3. Minimal Installation vs Installation with Built-in Snaps

During the software selection phase (server profile), Subiquity offers a minimal installation option and options to directly add several popular snaps, such as openssh-server, docker, or nextcloud.

For production needs, most sysadmins opt for a minimal installation and then add packages one by one as needed. The reason is simple: the principle of a minimal attack surface. The less software installed, the fewer security vulnerabilities to manage. We will discuss this principle in more detail in Chapter 30. If you indeed require an OpenSSH server for remote access (almost always needed), check the Install OpenSSH server option at this stage so you do not need to attach a monitor again after rebooting.

4. Other Installation Options

4.1 Installation on Virtual Machines (VirtualBox/KVM)

For exercises in this series, installing via a virtual machine is far more practical than bare metal. The general steps are as follows:

  1. Create a new VM in VirtualBox or KVM, allocating a minimum of 2 GB RAM and 20 GB storage for a comfortable experience.
  2. Mount the Ubuntu Server 26.04 LTS ISO file as a virtual optical drive.
  3. Boot the VM, then follow the Subiquity installation workflow as discussed above.
  4. After the installation finishes, unmount the ISO from the virtual optical drive before rebooting so that the VM does not boot back into the installer.

Sysadmins in development environments often use VMs like this to experiment before configurations are applied to actual production servers.

4.2 Cloud Images and cloud-init: Introduction to Concepts

Besides ISOs, Ubuntu also provides cloud images, which are pre-built system images tailored specifically for cloud platforms such as AWS, Azure, GCP, or hypervisors like KVM/OpenStack. Cloud images do not undergo an interactive installation process like Subiquity. Instead, cloud-init directly boots and configures the system automatically as soon as the instance powers on.

In short, cloud-init is an industry-standard tool that reads initial configurations (users, SSH keys, hostname, and packages to be installed) from a metadata file provided by the cloud platform, then automatically applies them when the instance first boots up. Because cloud-init is a major topic on its own with many automation use cases, we will cover it thoroughly in Chapter 37. For now, simply understand that a cloud image is an installation path more suitable for cloud environments and automated infrastructure (Infrastructure as Code) compared to an ISO installer, which is better suited for manual installations.

Verification & Troubleshooting

After the server reboots and you successfully log in (either via console or SSH), perform a few basic checks to ensure the installation went smoothly.

# Check the installed Ubuntu version
lsb_release -a

# Check the running kernel (including verifying whether HWE/OEM kernels are active if relevant)
uname -r

# Check IP address configuration
ip a

# Check remaining storage and partition/LVM layout
df -h
sudo lvs

Some common issues typically encountered by beginner sysadmins at this stage:

  • Server does not receive an IP address. Check if DHCP is available on the network, or if the static IP configuration during installation was correct (subnets and gateways are often mistyped).
  • Cannot SSH into the server. Ensure the Install OpenSSH server option was checked during installation. If missed, this service can still be installed manually via apt install openssh-server through console access.
  • VM keeps booting into the installer after reboot. This situation usually occurs because the installation ISO has not been unmounted from the virtual optical drive. Check the boot order settings in the hypervisor.

The server is now installed and accessible, making us ready to proceed to Chapter 3 to delve deeper into remote access via SSH. That chapter will also cover initial configuration hardening to prevent the server from easily becoming an attacker target from the outside.