Cloud

Set Up a Cloud VPS Step by Step for Beginners

A beginner-friendly step-by-step guide to setting up a cloud VPS from scratch, even if you've never managed a Linux server before.

Focused detail of a modern server rack with blue LED indicators in a data center.

Setting up a cloud VPS for beginners comes down to five steps: order the server, connect via SSH, secure access, install a web server, and enable HTTPS. Follow this guide and you can have a working server in under an hour — even if you've never touched Linux before.

A VPS (Virtual Private Server) is a server in the cloud that only you manage. Unlike shared hosting, you have root access, can install whatever you need, and don't share resources with anyone else.

What You Need Before You Start

You don't need prior server experience, but have these things ready before you begin:

  • An account with a cloud provider — DigitalOcean, Hetzner, Linode, or AWS Lightsail are solid beginner options.
  • A terminal: macOS and Linux include one. On Windows 10/11, use Windows Terminal or install PuTTY.
  • Your domain name (optional to start, but you'll need it for a public website).
  • A stable internet connection during setup.

If you're not sure which provider to pick, talk to a cloud hosting specialist to find the right fit for your project.

Step 1 — Create and Launch Your VPS

The process is similar across most providers:

  1. Sign up and log in to your control panel.
  2. Create a new server (called a "Droplet," "Linode," "Instance," or "Compute" depending on the provider).
  3. Choose an operating system: Ubuntu 22.04 LTS is the top pick for beginners — largest community, most up-to-date documentation.
  4. Select a plan: 1–2 GB RAM and 1–2 vCPUs are enough to start. You can scale up later.
  5. Under "Authentication," choose SSH Key (more secure than a password). If you don't have one, the provider will walk you through generating it.
  6. Create the server and wait 30–60 seconds until its public IP appears.

Step 2 — Connect to Your Server via SSH

SSH (Secure Shell) is the protocol you'll use to communicate with your server. Open your terminal and type:

ssh root@YOUR_SERVER_IP

The first time, you'll see a message asking if you trust the server's fingerprint. Type yes and press Enter. If you set a password instead of an SSH key, you'll be prompted for it now.

Once inside, you'll see the server prompt — something like root@ubuntu-server:~#. You're in.

Step 3 — Basic Security Configuration

Before installing anything, lock down the server. This step is critical: bots constantly scan the internet for unprotected servers.

3a. Update the System

apt update && apt upgrade -y

This downloads and installs all available security updates. It may take 2–5 minutes.

3b. Create a Non-Root User

Always working as root is dangerous — a wrong command can damage the system with no confirmation prompt. Create a regular user with admin privileges:

adduser yourname
usermod -aG sudo yourname

Then copy your SSH key to the new user so you can log in as them:

rsync --archive --chown=yourname:yourname ~/.ssh /home/yourname

3c. Disable Root SSH Login

Edit the SSH config file:

nano /etc/ssh/sshd_config

Find PermitRootLogin yes and change it to:

PermitRootLogin no

Save with Ctrl+O, exit with Ctrl+X, then restart SSH:

systemctl restart ssh

3d. Enable the Firewall

UFW (Uncomplicated Firewall) is the simplest way to control which ports are open:

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable

Confirm with y when prompted. Now only ports 22 (SSH), 80 (HTTP), and 443 (HTTPS) are reachable from the internet.

Step 4 — Install a Web Server

For most PHP websites (WordPress, Joomla, custom PHP apps), the go-to stack is Apache + PHP + MariaDB, known as LAMP:

apt install apache2 php libapache2-mod-php php-mysql mariadb-server -y

Check that Apache is running:

systemctl status apache2

If you see active (running) in green, your web server is ready. Open a browser, type in your server's IP, and you should see Apache's welcome page.

What About Nginx?

Nginx uses less memory and handles concurrent connections better. If you expect high traffic or are running a Node.js or Python app, install Nginx instead of Apache:

apt install nginx -y

The virtual host configuration differs slightly, but the overall principles are the same.

Step 5 — Upload Your Site and Enable HTTPS

Upload Your Files

Apache's default web root is /var/www/html/. Upload files with scp from your local machine:

scp -r ./my-site/* yourname@YOUR_IP:/var/www/html/

Or use a graphical SFTP client like FileZilla (host: server IP, user: yourname, port: 22).

Point Your Domain to the Server

In your registrar's DNS panel (GoDaddy, Namecheap, Cloudflare, etc.), create or update the A records:

Type Name Value TTL
A @ YOUR_SERVER_IP 300
A www YOUR_SERVER_IP 300

Propagation takes anywhere from 15 minutes to 48 hours. Check progress with nslookup yourdomain.com.

Enable Free HTTPS with Let's Encrypt

Install Certbot, Let's Encrypt's official tool:

apt install certbot python3-certbot-apache -y
certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot asks a couple of questions (email, accept terms), then automatically configures your SSL certificate and HTTPS redirection. The certificate auto-renews every 90 days.

To explore more cloud hosting options and comparisons, check our cloud hosting guide.

Key Takeaways

  • Setting up a cloud VPS from scratch takes under an hour when you follow the five steps: create the server, connect via SSH, secure access, install Apache, enable HTTPS.
  • Ubuntu 22.04 LTS is the best OS choice for beginners — the widest documentation and community support.
  • Basic security (non-root user, firewall, disable root SSH) is mandatory before exposing the server to the internet.
  • Let's Encrypt provides free SSL certificates with automatic renewal — no excuse not to run HTTPS.
  • If the process feels overwhelming, managed cloud hosting handles all the infrastructure for you.

Want to focus on your business and leave the infrastructure to the experts? At elenlace.com we set up and manage your cloud server so you only need to worry about your site.

FAQ

How much does a beginner cloud VPS cost?

Entry-level plans at providers like Hetzner, DigitalOcean, or AWS Lightsail start at $4–$6 USD per month. For a personal site or small business, that's more than enough to get started.

Is a VPS better than shared hosting for beginners?

Shared hosting is easier to manage and requires no Linux knowledge, making it ideal if you just want to publish a site quickly. A VPS is better if you need more control, better performance, or want to learn server administration.

What happens if I make a mistake setting up the VPS?

Most providers let you destroy the server and spin up a new one in minutes at no extra cost. They also offer snapshots (backups of the server state) so you can roll back if something goes wrong. Don't be afraid to experiment.

Can I install WordPress on my VPS?

Yes. Once you have Apache, PHP, and MariaDB installed, setting up WordPress is just as straightforward as on any hosting plan: download WordPress, create a database with mysql, upload the files to /var/www/html/, and run the web installer.

Further reading

Other providers and guides worth comparing:

← All