Cheap VPS hosting feels intimidating the first time because the dashboard assumes you already know what a "vCPU" is and what to do after you click "Create". This guide is the part those dashboards skip: a plain-sequence walk from "I have never touched a server" to "I have a thing running on the internet". No prior sysadmin experience required. We explain every step and, just as importantly, the mistakes that turn a 45-minute task into a lost evening.
If you have not chosen yet, start from our verified price comparison. For a first server the practical shortlist is narrow: a provider with a clean dashboard, hourly or monthly billing, and a region close to you. The three verified entry prices above (Hetzner, DigitalOcean, RackNerd) are all fine places to learn. Pick one, create the account, and finish the email verification — this is usually where the clock starts.
When you create the server, the provider asks which operating system to install. Choose a Long-Term Support (LTS) version of Ubuntu — Ubuntu 22.04 LTS or 24.04 LTS. LTS releases get security updates for five years, so you are not rebuilding the box when a non-LTS version hits end-of-life in nine months. Avoid the temptation to pick the newest non-LTS "just because".
For learning, the smallest plan is enough: 1 vCPU and 1 GB RAM runs a static site, a small API, a bot, or a personal VPN. You can resize later. Two choices matter more than specs:
SSH is the secure shell you use to talk to the server from your laptop. On your local machine, generate a key pair once:
ssh-keygen -t ed25519 -C "you@example.com"
# press enter at every prompt to accept defaults
This creates two files: a private key you never share, and a public key (usually ~/.ssh/id_ed25519.pub). Copy the public key's contents into your provider's SSH-key field (or run ssh-copy-id user@your-server-ip if the server is already up with password login). Then connect:
ssh root@your-server-ip
If that drops you at a command prompt on the server, you are in. The diagram below is the whole point of this step — a key is a file your laptop proves possession of, instead of a password a bot can guess.
Out of the box, many images let you log in as root with a password. Fix that before you do anything else. The commands below are standard across Ubuntu; adapt paths to your setup and read what each does before running it.
adduser deploy
usermod -aG sudo deploy
cp -r ~/.ssh /home/deploy/.ssh
chown -R deploy:deploy /home/deploy/.ssh
Edit /etc/ssh/sshd_config so it contains:
PermitRootLogin no
PasswordAuthentication no
Then reload SSH: systemctl reload ssh. From now on, only your key (and only your deploy user) can get in.
ufw allow OpenSSH
ufw enable
apt update && apt upgrade -y
The ufw allow OpenSSH line matters: enable the firewall only after you have allowed SSH, or you will lock yourself out on the next reboot.
The simplest first deploy is a static site: write an index.html, drop it in /var/www/html, and install a tiny web server:
apt install -y nginx
# put your index.html at /var/www/html/index.html
systemctl enable nginx
Visit your server's IP in a browser. If you see your page, you have deployed a real server to the internet. From there the path is the same for everything else: a Python API, a Node app behind a process manager, a bot — they all ultimately listen on a port and serve traffic. Our VPS explainer covers what the box actually is; this guide is the "now what" that follows it.
Most providers ask for a card or PayPal at signup for identity and fraud checks. A few accept alternative methods. Check the provider's billing page before you commit, because a plan that looks cheap is useless if you cannot complete checkout.
For learning and small projects, yes. A 1 vCPU, 1 GB RAM plan runs a static website, a small API, a Discord bot, or a personal VPN comfortably. You only need more when you serve real traffic or run a database alongside your app.
On unmanaged VPS you rebuild it. If you took a snapshot before changing things, you roll back in a couple of minutes. If you did not, you recreate the server from your OS image and redeploy. This is why the guide tells you to set up snapshots before putting real data on the box.
No, not for a learning project. Managed hosting exists so you can pay someone else to handle updates, backups, and panels. The trade-off is price: managed plans run around $30/month (see our managed comparison) versus $4–10/month unmanaged. You move to managed when your time is worth more than the premium.
A cheap VPS is the cheapest real computer you can put on the internet, and the gap between "I bought one" and "I have something running" is about an hour of steps you can follow in order. Pick a provider from verified prices, choose Ubuntu LTS, log in with a key instead of a password, lock the door with a firewall, and snapshot before you build. Do those and the server stays yours — not someone else's botnet.