Build Your Foundation
Build Your Foundation
Saturday morning. Coffee in hand, server hardware in front of you.
Today you’re installing Linux — the operating system that will run your private cloud. If that sentence makes you nervous, take a breath. Installing Linux in 2026 is not the cryptic ritual it used to be. Modern Linux installers are graphical, friendly, and walk you through every step.
By lunchtime, you’ll have a running server.
Why Linux?
Linux is what most of the internet runs on. Every major cloud provider — including the ones you’re escaping — runs Linux on their servers. It’s free, stable, secure, and has decades of community support behind it.
For a home server, Linux has two specific advantages over Windows: it runs efficiently on modest hardware, and it’s designed to run 24/7 without needing restarts or update reboots at inconvenient times.
You don’t need to become a Linux expert. You need to know a handful of commands, and we’ll cover each one when you need it.
Choose Your Distribution
Linux comes in many flavors called distributions, or “distros.” For a beginner home server, you want something stable, well-documented, and widely used.
Ubuntu Server 24.04 LTS is the recommendation for this playbook. Here’s why:
- It’s the most widely used server Linux in the world
- Every Docker tutorial and self-hosting guide assumes Ubuntu or Debian
- Long-term support means security updates through 2029
- The community is enormous — nearly every problem you encounter has a documented solution
Ubuntu Server vs Ubuntu Desktop: We’re installing the Server edition, which has no graphical desktop interface. You manage it entirely through the terminal — either directly or via SSH from another computer. This sounds intimidating but is actually simpler for a server: no desktop overhead, fewer moving parts, more stable.
If you’d strongly prefer a graphical desktop on your server, Ubuntu Desktop works fine. It just uses more RAM and adds complexity you don’t need.
What You Need
- A USB flash drive (8GB or larger — the contents will be erased)
- The computer you’re using as your server
- Your main computer to create the bootable USB
- An ethernet cable connected to your router
- About 2 hours of patient attention
Step 1 — Download Ubuntu Server
On your main computer, go to ubuntu.com/download/server and download the latest Ubuntu Server 24.04 LTS ISO file. It’s about 2GB.
Step 2 — Create a Bootable USB Drive
You’ll use a free tool called Balena Etcher to write the Ubuntu image to your USB drive.
- Download Balena Etcher from balena.io/etcher (available for Windows, Mac, and Linux)
- Plug in your USB drive
- Open Etcher, select the Ubuntu ISO you downloaded, select your USB drive, and click Flash
- Wait about 5 minutes for it to finish
Your USB drive is now a bootable Ubuntu installer.
Step 3 — Boot From USB
Plug the USB drive into your server computer. Power it on and watch for a prompt to enter the boot menu — usually by pressing F2, F10, F11, F12, or Delete immediately after powering on. The exact key varies by manufacturer.
In the boot menu, select your USB drive. Your computer will boot into the Ubuntu installer.
If your computer boots straight into Windows instead, you may need to disable Secure Boot in the BIOS settings. A quick web search for your computer model and “boot from USB” will give you exact instructions.
Step 4 — Install Ubuntu Server
The Ubuntu Server installer is a text-based interface that’s straightforward to navigate. Here’s what to expect:
Language and keyboard — Select English (or your preferred language) and your keyboard layout.
Network — The installer should detect your ethernet connection automatically and assign an IP address via DHCP. You’ll see your server’s current IP address here — write it down. You’ll need it for SSH access later.
Storage — Select “Use an entire disk” and choose your SSD. The installer will partition it automatically. Make sure you’re selecting the right drive — your data drive should stay untouched.
Profile setup — You’ll create a username and password. Use something you’ll remember — this is how you log into your server. Choose a strong password.
SSH — When asked about OpenSSH, select “Install OpenSSH server.” This is how you’ll manage your server remotely from your main computer, which is much more convenient than typing directly on the server.
Featured snaps — Skip these. Just press Done without selecting anything.
The installation takes 10–20 minutes. When it finishes, remove the USB drive and reboot.
Step 5 — First Login
Your server will boot to a text login prompt. Log in with the username and password you created during installation.
You’re now at a Linux terminal. It looks like this:
howard@homeserver:~$
The $ means you’re logged in as a regular user. Everything to the left is your username and the computer’s hostname.
Step 6 — Update Everything
The first thing to do on any fresh Linux install is update the system. Run these two commands:
sudo apt update
sudo apt upgrade -y
sudo means “run this as administrator.” Linux will ask for your password the first time you use it.
apt is Ubuntu’s package manager — the tool that installs and updates software. update refreshes the list of available packages. upgrade installs any newer versions.
This takes a few minutes. When it finishes, your system is current.
Step 7 — Connect via SSH
From now on, you’ll manage your server from your main computer — not by typing directly on the server. This is much more comfortable: you can copy and paste commands, use a proper keyboard and monitor, and leave the server tucked away anywhere convenient.
On your main computer, open a terminal (Terminal on Mac/Linux, Windows Terminal or PowerShell on Windows) and type:
ssh howard@192.168.1.x
Replace howard with your username and 192.168.1.x with the IP address you wrote down during installation.
The first time you connect, SSH will ask you to confirm the server’s fingerprint. Type yes and press Enter.
You’re now remotely managing your server. For the rest of this playbook, all commands are run in this SSH session — not on the server directly.
Give Your Server a Static IP
Right now your server has an IP address assigned by your router via DHCP. That address could change if the server reboots or the router reassigns addresses. For a home server, you want a permanent, predictable address.
The easiest way to do this is in your router’s admin panel — look for a “DHCP reservation” or “static IP” setting. Find your server’s MAC address (shown during network setup, or with the command ip link show) and assign it a permanent IP like 192.168.1.100.
Every router does this slightly differently. A quick search for your router model and “DHCP reservation” will show you exactly where to find it.
What You’ve Built
At this point you have:
- A Linux server running Ubuntu 24.04 LTS
- SSH access so you can manage it from any computer on your network
- An updated, current system ready for the next step
- A static IP address so your server is always at the same address
That’s the foundation. Everything else runs on top of this.
A Quick Terminal Primer
You’ll use a handful of commands repeatedly throughout this playbook. Here are the most important ones:
| Command | What it does |
|---|---|
ls |
List files in the current directory |
cd foldername |
Move into a folder |
cd .. |
Move up one folder |
mkdir foldername |
Create a new folder |
sudo |
Run a command as administrator |
nano filename |
Open a text file for editing |
cat filename |
Display a file’s contents |
pwd |
Show your current location |
Don’t try to memorize these. They’ll become natural as you use them.
Next: Learn Docker Basics →
Cactus Commons Media