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