Ubuntu Server documentation¶
Ubuntu Server is a version of the Ubuntu operating system designed and engineered as a backbone for the internet.
Ubuntu Server brings economic and technical scalability to your data center, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.
This documentation always targets the latest LTS version of Ubuntu. When there are differences towards older LTS releases, they are noted in the guide.
In this documentation¶
Getting started¶
The tutorial walks you through a fresh installation and the first steps of operating an Ubuntu Server.
Installation: System requirements • Basic installation • Ubuntu Pro subscription
System basics: Managing software • Customizing package files • Third party repository usage
Networking¶
Configure network interfaces, provide name and address services, share resources, and synchronize time.
Understanding networks: Key concepts • About Netplan • Time synchronization
Configuration: Using Netplan • Domain Name System (DNS) • Dynamic Host Configuration Protocol (DHCP)
Securing your network: Install OpenSSH • Firewalls • DNS Security Extensions (DNSSEC)
High throughput: Open vSwitch with DPDK • About DPDK
Sharing: Files with NFS • Printers with CUPS
With Windows systems: Samba • Windows Active Directory
Security¶
Protect your system with access controls, firewalls, encrypted communications, and network authentication. For more general information about security in Ubuntu, refer also to the Ubuntu Security documentation.
Understanding security: Introduction • Security suggestions
Basic security: User management • AppArmor
Authentication: Install Kerberos • Set up SSSD with LDAP • Smart cards
Cryptography: Cryptographic libraries • About certificates • OpenSSL
VPNs: OpenVPN • WireGuard VPN
Managing your system¶
Install, update, upgrade, and troubleshoot the software packages running on your system.
Managing software: Package management • etckeeper • Get older package versions using snapshots
Update considerations: Automatic updates • Phased updates • Testing updates in advance
Upgrade Ubuntu version: Release upgrades • Upgrade a virtual machine
Troubleshooting: Report a bug • Debugging with debuginfod • Kernel crash dump
Data and storage¶
Store and manage data using directory services, databases, logical volumes, and backup tools.
Databases: MySQL • PostgreSQL
Directory services: Introduction to OpenLDAP • Install OpenLDAP • OpenLDAP replication
Device mapper multipathing: Intro to multipathing • Multipath configuration options and overview
Storage: About LVM • Manage logical volumes • Sharing data storage with iSCSI
Version control: gitolite
Web and mail services¶
Serve web content, proxy traffic, write server-side applications, and handle email.
Web servers: About web servers • Apache2 • nginx
Squid proxy server: About Squid proxy • Install a Squid proxy server
Virtualisation and containers¶
Run workloads in virtual machines and containers using lightweight and full-virtualisation tooling.
Understand virtualization: Intro to virtualisation
Virtual machines: Multipass • QEMU • QEMU microvm
VM tooling: libvirt and virsh • virt-manager • Nested virtualization
Containers: Docker for system admins • Docker storage, networking, and logging • Run rocks on your server
Deployment: Find cloud images • About cloud-init • LXD
Performance¶
Set up GPU resources and optimize system performance.
GPU resources: Install Nvidia drivers • GPU virtualization
Performance: • CPU P-states • hwloc
Optimization: CPU power management • TuneD • Profile-Guided Optimization
High availability: Introduction to High Availability • Set up DRBD • Migrate from crmsh to pcs
How this documentation is organized¶
This documentation uses the Diátaxis documentation structure.
The Tutorial takes you step-by-step through installing and setting up your first Ubuntu Server system.
How-to guides assume basic familiarity with Ubuntu Server and walk you through specific tasks.
Reference provides system requirements, a glossary, and other technical specifications.
Explanation includes topic overviews, background and context, and detailed discussion of key concepts.
Project and community¶
Ubuntu Server is a member of the Ubuntu family. It’s an open source project that welcomes community projects, contributions, suggestions, fixes and constructive feedback.
If you find any errors or have suggestions for improvements, please use the “Give feedback” button at the top of every page. This will take you to GitHub where you can share your comments or let us know about bugs with any page.
- Releases
- PDF versions of this documentation
Current PDF (for Ubuntu 20.04 LTS onward)
Ubuntu 18.04 LTS PDF (and earlier)
- Commercial support
Thinking about using Ubuntu Server for your next project? Get in touch!