
Ubuntu Server is Canonical’s free, Linux-based server platform designed to run websites, applications, and network services without the overhead of a desktop interface. This guide breaks down what Ubuntu Server actually is, what hardware you need to run it, and how to get it up and running on a VPS, starting from your first SSH session through to a properly locked-down production setup.
What Is Ubuntu Server?
Ubuntu Server is a command-line-focused edition of the Ubuntu operating system, stripped of the desktop GUI and built specifically for server workloads. That means hosting websites, running databases, managing network infrastructure, or deploying containerized applications on physical servers, virtual machines, or cloud instances. The lack of a graphical desktop isn’t an oversight; it’s the entire point. Removing those components keeps the system lean, fast, and better suited to remote administration.
The Ubuntu operating system itself is built on the Linux kernel and has earned a reputation for stability across server environments. What sets the server edition apart from Ubuntu Desktop is simple: no GUI by default. That keeps resource consumption low and makes remote management through SSH the standard way to interact with the system. For anyone running a VPS Ubuntu setup or managing cloud infrastructure, that trade-off makes perfect sense.
Here’s what defines Ubuntu Server:
- Command-line interface built for remote management over SSH
- Lower RAM and CPU requirements than the desktop version
- Built-in security tooling with regular patches through the LTS cycle
- Broad compatibility with server software, from web stacks to container runtimes
- Scalability from single-node setups to multi-server clusters
When comparing Ubuntu Server vs. Ubuntu Desktop, the difference boils down to how you interact with the system. Ubuntu Desktop launches into a full graphical environment with a file manager, browser, and preloaded apps. That’s useful on a workstation but wasteful on a server. Ubuntu Server boots straight to a shell prompt, saving memory and CPU cycles that would otherwise go toward rendering a desktop nobody will look at. Both versions share the same package repositories, kernel base, and release schedule, so knowledge transfers cleanly between them.
Ubuntu Meaning and History
The name “Ubuntu” comes from a South African philosophy that roughly translates to “humanity to others” or “I am because we are.” It captures the collaborative ethos of the open-source movement, where thousands of contributors build software together without gatekeeping or licensing fees. Canonical, the company behind Ubuntu, was founded by South African entrepreneur Mark Shuttleworth, and the first Ubuntu release shipped in 2004.
Since then, it’s become one of the most deployed Linux distributions worldwide. The Linux Ubuntu Server edition came later, driven by demand for a server OS that didn’t require a PhD in system administration to configure. Ubuntu’s predictable six-month release cycle and long-term support (LTS) versions have made it a go-to choice for sysadmins and developers alike, whether you’re running a home lab on spare hardware or managing enterprise infrastructure with thousands of nodes.
Benefits of Using Ubuntu Server
What makes Ubuntu Server worth considering? It’s free, secure out of the box, and backed by five years of support on LTS releases. That alone reduces risk for production workloads. But there are other reasons it’s become the default choice for so many VPS and cloud deployments:
- Free and open-source: no licensing costs to deploy or modify it, which cuts IT expenses across the board
- Regular updates: LTS versions get security patches for five years minimum, with Ubuntu Pro extending that further if needed
- Large community: millions of users mean extensive forums, documentation, and troubleshooting threads for nearly any problem you’ll encounter
- Compatibility: runs on everything from bare-metal servers to cloud hypervisors without fuss
- Security: AppArmor and other built-in tools harden the system against common attack vectors, and patches arrive fast when vulnerabilities surface
- Customizability: install only what you need, keeping the attack surface and resource footprint minimal
- Cloud-ready: works seamlessly with cloud-init for automated provisioning on VPS platforms, including our Ubuntu VPS and VDS offerings
- Container support: native Docker and Kubernetes compatibility for modern microservices architectures
Ubuntu Server System Requirements (24.04 LTS)
Ubuntu Server 24.04 LTS doesn’t demand much hardware, which is part of why it scales so well from a budget VPS to a multi-core dedicated server. The table below shows the minimum and recommended specs.
| Component | Minimum | Recommended |
| CPU | 1 GHz, x86-64 processor | 2 GHz or higher, multi-core |
| RAM | 1 GB | 2 GB or more |
| Storage | 2.5 GB (minimal install) | 10 GB or more |
| Network | Ethernet adapter (for network installation) | Stable broadband connection |
These are the Ubuntu Server 24.04 system requirements for a base install with nothing else running. Real-world needs vary. A lightweight NGINX or Apache web server with modest traffic will run fine on 2 GB of RAM, but a database server, a Docker host juggling multiple containers, or a mail server will need 4 GB or more to avoid hitting swap. Storage also needs to cover logs, backups, and application data, not just the operating system. When sizing a VPS Ubuntu plan, think about the applications you’ll actually run rather than the bare minimum to boot.
How to Download Ubuntu Server
Grabbing the Ubuntu Server ISO is straightforward:
1. Go to the official Ubuntu website at ubuntu.com/download/server
2. Pick the latest LTS version
3. Choose your preferred installer (the traditional server installer works for most setups)
4. Click “Download Ubuntu Server”
That gives you an ISO file with everything needed to install Ubuntu Server on bare metal, a local VM, or a custom VPS image. If you’re deploying on our managed VPS platform, you won’t need to download anything manually — Ubuntu Server is available as a ready-made image during the order process.
How to Set Up Ubuntu Server on a VPS
Getting Ubuntu Server running on a VPS involves a few key steps: ordering the server, connecting via SSH, applying updates, and locking down access before you expose it to the internet. Our VPS plans let you select the Ubuntu Server operating system at order time, so there’s no need to upload an ISO or run through a manual installation. The process below takes you from initial login to a hardened baseline configuration.
1. Order a VPS. Pick a plan that matches your workload in terms of CPU, RAM, and storage.
2. During checkout, select Ubuntu Server as the operating system. We default to the latest LTS version.
3. Once the VPS is provisioned, you’ll get an email with the server’s IP address, root username, and password.
4. Connect via SSH:
ssh root@your_server_ip5. Enter the password from your provisioning email when prompted.
6. On first login, the system will ask you to change the root password. Pick something strong and store it in a password manager.
7. Update the system to pull in the latest security patches:
sudo apt update && sudo apt upgrade -y8. Create a non-root user for day-to-day admin work. Running everything as root is risky on a production server:
adduser your_username usermod -aG sudo your_usernameSwap your_username for whatever username you want.
9. Set up SSH key-based authentication instead of passwords.
Our guide to SSH key authentication covers generating a key pair with ssh-keygen and copying it to your server with ssh-copy-id in full detail.
10. Disable root login and password authentication once you’ve confirmed key-based access works. Open the SSH config:
sudo nano /etc/ssh/sshd_configChange these lines:
PermitRootLogin no PasswordAuthentication noSave the file and restart SSH:
sudo systemctl restart ssh11. Set up a basic firewall.
Our guide to UFW firewall configuration walks through allowing OpenSSH and enabling UFW step by step.
At minimum, run:
sudo ufw allow OpenSSH sudo ufw enableOpen any other ports your services need (HTTP and HTTPS for a web server, for example) before you start serving traffic.
Essential Ubuntu Server Commands
A few core commands handle most routine Ubuntu Server administration tasks, from version checks to service monitoring.
Check your Ubuntu version:
lsb_release -aor
cat /etc/os-releaseCheck disk usage:
df -hResize a partition (use carefully, as it can cause data loss if done wrong):
sudo resize2fs /dev/sdXYOther useful commands:
| Command | Description |
| sudo apt update | Update package lists |
| sudo apt upgrade | Upgrade installed packages |
| uname -a | Display system information |
| top | View running processes |
| ps aux | List all running processes |
| netstat -tuln | Show active network connections |
| sudo systemctl start/stop/restart service_name | Manage system services |
Installing Key Software (SSH, Docker, NGINX)
Install SSH Server
SSH usually comes pre-installed on Ubuntu Server. If it doesn’t:
sudo apt update sudo apt install openssh-server sudo systemctl start ssh sudo systemctl enable sshInstall Docker
Our guide on how to install Docker on Ubuntu covers a complete production setup, including Docker Compose and the official Docker repository, in more depth than fits here.
For a quick install using Ubuntu’s own packages:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USERLog out and back in for the group change to take effect.
Install NGINX
NGINX is a high-performance web server, and getting it running is simple:
sudo apt update sudo apt install nginx sudo systemctl start nginx sudo systemctl enable nginxOnce installed, open your server’s IP in a browser to check that the default NGINX page loads. From there, NGINX can serve static sites directly or act as a reverse proxy for an application running on a different port.
Setting Up a VNC Server (optional GUI)
Ubuntu Server skips the desktop environment by default, but an Ubuntu VNC Server adds remote graphical access when you genuinely need it, such as running a GUI-only application.
1. Install a desktop environment such as XFCE4:
sudo apt update sudo apt install xfce4 xfce4-goodies2. Install TightVNC server:
sudo apt install tightvncserver3. Set a VNC password:
vncserverThe system will prompt you to enter and confirm a password.
4. Create a startup script for the VNC server:
nano ~/.vnc/xstartupAdd this content:
#!/bin/bash xrdb $HOME/.Xresources startxfce4 &Save and exit.
5. Make the script executable:
chmod +x ~/.vnc/xstartup6. Start the VNC server:
vncserver :1 -geometry 1280x800 -depth 24Secure the connection with an SSH tunnel instead of exposing the VNC port to the internet, then use a VNC client on your local machine to connect through the tunnel.
Troubleshooting Common Ubuntu Server Issues
Package manager throwing errors?
sudo apt update sudo apt clean sudo apt autoremoveThis refreshes package lists and removes unnecessary packages that might be causing conflicts.
Running low on disk space?
Check usage:
df -hFind what’s eating space:
du -sh * | sort -hService like NGINX or Docker won’t start?
Check the logs:
journalctl -u service_nameReplace service_name with nginx or docker or whatever service is failing.
Server can’t reach the internet?
Test connectivity:
ping google.com traceroute google.comThis shows where the connection breaks, whether at the local network, your provider’s gateway, or somewhere upstream.
Can’t access the server from outside?
Check firewall status:
sudo ufw statusMake sure ports for your services (HTTP and HTTPS, for example) are allowed through.
SSH refuses to connect?
Confirm SSH is running:
sudo systemctl status sshThen verify your firewall allows SSH traffic on the configured port, and that you didn’t lock yourself out by disabling password authentication before setting up SSH keys.
System won’t boot after a kernel update?
Reboot and select an older kernel from the GRUB menu. Once the system is stable, update GRUB:
sudo update-grubMost other Ubuntu Server troubleshooting comes down to reading error messages carefully, checking logs in /var/log/, and searching the Ubuntu forums or official docs for similar issues.
Why Run Ubuntu Server on a Contabo VPS
Ubuntu Server works well with our VPS and VDS plans because Ubuntu LTS is available as a one-click OS at order time. No separate licensing, no manual ISO uploads. The plan you pick can match your workload directly. Our Cloud VPS line offers strong RAM-per-Euro value, which suits general-purpose Ubuntu servers running web apps, mail, or small databases where memory matters more than raw disk speed. The NVMe-based plans fit I/O-heavy workloads better, like database servers or container hosts that need fast, consistent disk throughput.
For bigger deployments, our VDS and dedicated server options give you dedicated, non-shared resources and the headroom to run multiple services, larger Docker setups, or high-traffic NGINX configurations without fighting for capacity. Ubuntu Server’s modest requirements mean even entry-level plans handle it comfortably, with room to grow as your project scales from a single web server to a more complex stack. Whether you’re looking at a VPS Ubuntu server, an Ubuntu VPS setup, or an Ubuntu cloud server deployment, our infrastructure and Ubuntu’s flexibility make for a solid combination. And because our platform pre-configures Ubuntu Server as part of the provisioning process, the OS is ready to go from day one.
FAQ: Ubuntu Server
Ubuntu Server hosts websites, runs applications, manages databases, and operates network services like DNS, mail, and file servers. It’s a popular pick for VPS hosting, cloud infrastructure, and container deployments because it runs without a graphical interface and uses fewer system resources than a desktop install.
The Ubuntu Server minimum requirements for version 24.04 LTS are a 1 GHz x86-64 processor, 1 GB of RAM, and 2.5 GB of storage for a minimal install. Realistically, 2 GB of RAM and 10 GB or more of storage work better for most actual workloads, with more needed for database servers or container hosts.
Ubuntu Server runs without a graphical user interface by default and gets managed through the command line, keeping resource usage low. Ubuntu Desktop includes a full graphical environment meant for local workstations. Both share the same underlying Ubuntu operating system, packages, and release cycle.
On our platform, you pick Ubuntu Server as the OS directly during the order process — no manual ISO install needed. After the server is ready, connect over SSH, apply updates, create a non-root user, and set up SSH keys and a firewall to lock it down.
Yes. Ubuntu Server is free and open-source, with no licensing fees for installation, use, or modification. Canonical offers optional paid support and Ubuntu Pro subscriptions for extended security coverage, but the Ubuntu Server OS itself costs nothing.
Run lsb_release -a or cat /etc/os-release in the terminal. Either command shows the installed Ubuntu release, including version number and codename.
Ubuntu is a Debian-based Linux distribution known for its ease of use, regular release cycle, and strong community support. The Ubuntu meaning traces back to an African philosophy emphasising shared humanity. It’s available in desktop, server, and cloud variants, all built on the same core system but optimised for different use cases.
Absolutely. Ubuntu Server has native Docker support, and installing Docker on Ubuntu is straightforward through the official Docker repository or Ubuntu’s own packages. Docker runs well on Ubuntu VPS setups and is a common choice for containerised application deployments.
A typical Linux server setup guide covers initial SSH access, creating a non-root user, configuring SSH key authentication, setting up a firewall with UFW, applying system updates, and installing essential software like a web server or database. The specific steps vary depending on the distribution, but the overall flow is similar across most Linux-based servers.
Yes. Ubuntu Server doesn’t include a desktop environment by default, but you can add one. The VNC server section above covers installing XFCE4 and TightVNC for remote graphical access. Keep in mind that adding a desktop environment increases resource usage, so it’s only worth doing when you specifically need a GUI — most server tasks are handled more efficiently from the command line.