Ubuntu Server 26.04 LTS Installation Guide
This article explains how to install Ubuntu Server 26.04 LTS from scratch, including downloading the image, creating bootable media, the installation process, and initial configuration.
System Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | 1 GHz 64-bit processor | 2 GHz+ multi-core processor |
| RAM | 1 GB | 4 GB or more |
| Disk | 2.5 GB | 25 GB or more |
| Network | Optional | Network connection recommended |
Download the Image
# Download Ubuntu Server 26.04 LTS ISO from the official site
wget https://releases.ubuntu.com/26.04/ubuntu-26.04-live-server-amd64.iso
# Verify file integrity
wget https://releases.ubuntu.com/26.04/SHA256SUMS
sha256sum -c SHA256SUMS 2>/dev/null | grep ubuntu-26.04-live-server-amd64.isoMirror Sites
If the official download is slow, you can use a mirror:
# Example mirrors
wget https://mirrors.edge.kernel.org/ubuntu-releases/26.04/ubuntu-26.04-live-server-amd64.iso
# Check https://launchpad.net/ubuntu/+cdmirrors for a full list of mirrorsCreate Bootable Media
On Linux
# Identify the USB drive (double-check the device name to avoid data loss)
lsblk
# Write the ISO to the USB drive (replace /dev/sdX with the actual device name)
sudo dd if=ubuntu-26.04-live-server-amd64.iso of=/dev/sdX bs=4M status=progress oflag=syncOn Windows
Use Rufus or balenaEtcher :
- Download and open Rufus
- Select the USB drive
- Select the downloaded ISO file
- Choose GPT (UEFI) or MBR (BIOS) for the partition scheme
- Click “Start” to write
Installation Steps
1. Boot the Installer
After booting from the USB drive, select Try or Install Ubuntu Server. The Subiquity installer will guide you through the entire process.
2. Select Language
Choose the installation language. For server environments, English is recommended to avoid character encoding issues in the terminal. If you need another locale, you can configure it after installation.
3. Keyboard Layout
Select the default English (US) keyboard layout, or choose the one that matches your keyboard.
4. Installation Type
- Ubuntu Server: Standard installation
- Ubuntu Server (minimized): Minimal installation, suitable for containers and cloud environments
5. Network Configuration
The installer will automatically obtain network configuration via DHCP. To manually configure a static IP:
- Select the network interface
- Select Edit IPv4
- Change the method to Manual
- Enter the IP address, subnet mask, gateway, and DNS
6. Proxy Settings
If your network requires a proxy, enter the proxy address here (e.g., http://proxy.example.com:8080). Otherwise, leave it blank.
7. Mirror Address
The default is http://archive.ubuntu.com/ubuntu. You may change it to a closer mirror for faster downloads.
8. Disk Partitioning
Use Entire Disk (Recommended for Beginners)
Select Use an entire disk, with the option to enable LVM:
- Set up this disk as an LVM group: Recommended for easier future expansion
- Encrypt the LVM group with LUKS: Disk encryption, requires setting a passphrase
Custom Partitioning
Select Custom storage layout for manual partitioning. A suggested layout:
| Partition | Size | Filesystem | Mount Point | Purpose |
|---|---|---|---|---|
| EFI | 512 MB | fat32 | /boot/efi | UEFI boot (required) |
| /boot | 1 GB | ext4 | /boot | Boot partition |
| swap | Equal to RAM | swap | - | Swap space |
| / | Remaining space | ext4/xfs | / | Root partition |
If using LVM, consider further splitting:
/ 20 GB System root
/home Variable User data
/var Variable Logs and data
/tmp 5 GB Temporary files9. Create User
Fill in the following information:
- Your name: Your full name
- Your server’s name: Hostname (e.g.,
ubuntu-server) - Pick a username: Login username
- Choose a password: Set the password
10. SSH Setup
It is strongly recommended to select Install OpenSSH server. You can also import SSH public keys from GitHub or Launchpad:
- Select Import SSH identity
- Enter your GitHub username
11. Featured Server Snaps
Select optional pre-installed Snap packages as needed:
- docker
- nextcloud
- postgresql
- etc.
12. Begin Installation
After confirming your settings, the installation begins. Security updates will be downloaded automatically during installation. Once complete, select Reboot Now.
Post-Installation Configuration
First Login
# Remove the USB drive, reboot, and log in with the user you created
# First, update the system
sudo apt update && sudo apt upgrade -yConfigure Timezone
# Check current timezone
timedatectl
# Set timezone (example: US Eastern)
sudo timedatectl set-timezone America/New_York
# Enable network time synchronization
# Note: the default time-sync daemon on a fresh 26.04 install is Chrony
# (chrony.service); timedatectl set-ntp only takes effect with systemd-timesyncd.
# Pick one of the following based on the service you actually use:
# Path A: Use Chrony (the 26.04 default) -- manage it with systemctl/chronyc
sudo systemctl enable --now chrony
chronyc tracking # Check sync status
# Path B: Use systemd-timesyncd only (when Chrony is not installed) -- use timedatectl
# sudo timedatectl set-ntp true
# timedatectl show-timesync
# Check which service is handling synchronization
systemctl is-active chrony >/dev/null 2>&1 && echo "Using Chrony" || timedatectl show-timesyncConfigure Locale (Optional)
# Generate the desired locale
sudo locale-gen en_US.UTF-8
# Set as default (if not already)
sudo update-locale LANG=en_US.UTF-8Change APT Mirror (Optional)
# Back up the original source list
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
# Example: use a closer mirror (26.04 uses DEB822 format)
sudo tee /etc/apt/sources.list.d/ubuntu.sources << 'EOF'
Types: deb
URIs: http://archive.ubuntu.com/ubuntu
Suites: resolute resolute-updates resolute-backports resolute-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
sudo apt updateConfigure the Firewall
# Ubuntu comes pre-installed with ufw (Uncomplicated Firewall)
# Allow SSH connections
sudo ufw allow ssh
# Enable the firewall
sudo ufw enable
# Check rules
sudo ufw status verboseConfigure Static IP (If Not Set During Installation)
# Edit the Netplan configuration
sudo tee /etc/netplan/01-static.yaml << 'EOF'
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
EOF
# Apply the configuration
sudo netplan applySet the Hostname
# Set the hostname
sudo hostnamectl set-hostname my-server
# Edit /etc/hosts
echo "127.0.1.1 my-server" | sudo tee -a /etc/hostsCommon Installation Issues
Installer Fails to Start
- Check that USB boot is enabled in BIOS/UEFI settings
- Verify Secure Boot settings (Ubuntu supports Secure Boot, but some hardware may require disabling it)
Disk Not Detected
# If using a RAID controller, you may need to switch to AHCI mode in BIOS
# or manually load drivers during installationNo Network Connectivity
- Check the cable connection
- Some network adapters may require additional firmware packages. After installation, run:
sudo apt install linux-firmwareNext Steps
After installation is complete, consider the following:
- Configure SSH remote access
- Set up automatic security updates
- Install the service software you need