Tutorials

Step-by-Step Guide to Setting Up Your First Website on a VPS

Administrator
By Administrator
Published Sep 30, 2025
5 min read
Step-by-Step Guide to Setting Up Your First Website on a VPS

Introduction

Congratulations on getting your first Virtual Private Server (VPS)! 🎉 Setting up your own website on a VPS might seem intimidating at first, but it's actually easier than you might think. A VPS gives you complete control over your hosting environment, better performance than shared hosting, and the flexibility to customize everything to your needs.

This guide will walk you through every step of setting up your first website on a VPS. We'll keep things simple and explain everything in plain English. Don't worry if you're new to this – by the end of this guide, you'll have a fully functional website running on your own server!

What You'll Need

Before we start, make sure you have these things ready:

  • A VPS: Any provider like DigitalOcean, Vultr, Linode, or similar
  • Ubuntu Server: This guide uses Ubuntu 20.04 or 22.04
  • SSH Client: PuTTY (Windows) or Terminal (Mac/Linux)
  • Domain Name: Optional but recommended
  • About 30-60 minutes of your time

Step 1: Connect to Your VPS

First, you need to connect to your VPS using SSH. Your hosting provider should have given you:

  • IP Address: Something like 123.45.67.89
  • Username: Usually 'root' or 'ubuntu'
  • Password or SSH Key: For authentication

Open your terminal or SSH client and connect:

ssh root@your_server_ip

Replace your_server_ip with your actual VPS IP address. If this is your first time connecting, you'll see a warning about the authenticity of the host – just type 'yes' to continue.

Step 2: Basic Server Setup

Once you're connected to your server, let's do some basic setup:

Update Your System

Always start by updating your server's packages:

apt update
apt upgrade -y

Create a New User

It's not safe to use the 'root' user for everyday tasks. Let's create a new user:

adduser yourusername

Replace yourusername with your preferred username. You'll be asked to set a password and fill in some user information – you can skip the extra info by pressing Enter.

Give Your User Admin Powers

usermod -aG sudo yourusername

This adds your user to the sudo group, allowing you to run administrative commands.

Step 3: Secure Your Server

Security is super important! Let's lock down your server:

Set Up the Firewall

ufw allow OpenSSH
ufw enable

When prompted, type 'y' to proceed. This allows SSH connections and enables the firewall.

Disable Root Login

Let's prevent anyone from logging in directly as root:

nano /etc/ssh/sshd_config

Find the line that says PermitRootLogin yes and change it to PermitRootLogin no. Then save the file (Ctrl+X, then Y, then Enter).

Restart SSH to apply the changes:

systemctl restart ssh

Log Out and Log Back In

Type exit to log out as root, then log back in with your new user:

ssh yourusername@your_server_ip

Step 4: Install a Web Server

Now let's install Nginx, which will serve your website:

sudo apt install nginx -y

Start Nginx and enable it to run automatically:

sudo systemctl start nginx
sudo systemctl enable nginx

Allow web traffic through the firewall:

sudo ufw allow 'Nginx Full'

Test if it's working! Open your web browser and go to http://your_server_ip. You should see the Nginx welcome page.

Step 5: Create Your First Website

Create a Website Directory

sudo mkdir -p /var/www/yourwebsite.com

Replace yourwebsite.com with your actual domain name.

Create a Simple HTML Page

sudo nano /var/www/yourwebsite.com/index.html

Add this basic HTML content:

<!DOCTYPE html>
<html>
<head>
    <title>My First Website!</title>
    <style>
        body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
        h1 { color: #333; }
        p { color: #666; }
    </style>
</head>
<body>
    <h1>Welcome to My Website!</h1>
    <p>This is my first website running on my own VPS! 🎉</p>
    <p>Powered by Nginx on Ubuntu</p>
</body>
</html>

Save the file (Ctrl+X, then Y, then Enter).

Set Up Permissions

sudo chown -R www-data:www-data /var/www/yourwebsite.com

Step 6: Configure Nginx for Your Website

Create a Server Configuration

sudo nano /etc/nginx/sites-available/yourwebsite.com

Add this configuration:

server {
    listen 80;
    server_name yourwebsite.com www.yourwebsite.com;

    root /var/www/yourwebsite.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Save the file and exit.

Enable Your Website

sudo ln -s /etc/nginx/sites-available/yourwebsite.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Step 7: Point Your Domain (Optional)

If you have a domain name, you need to point it to your VPS:

  1. Go to your domain registrar's website
  2. Find the DNS settings for your domain
  3. Create an A record pointing to your VPS IP address
  4. Wait a few minutes to a few hours for changes to take effect

Important Security Tips

Here are some essential security practices to keep your server safe:

1. Keep Everything Updated

Run updates regularly:

sudo apt update && sudo apt upgrade -y

2. Use Strong Passwords

Make sure your user password is at least 12 characters long with a mix of letters, numbers, and symbols.

3. Install Fail2Ban

This blocks brute-force attacks:

sudo apt install fail2ban -y

4. Backup Your Data

Set up regular backups of your website files and important configurations.

5. Monitor Your Server

Check your server logs regularly for any suspicious activity.

What's Next?

Congratulations! 🎉 You now have a basic website running on your VPS. Here are some things you might want to do next:

  • Install SSL/HTTPS: Get a free SSL certificate from Let's Encrypt
  • Set up PHP: If you want to run WordPress or other PHP applications
  • Install a Database: MySQL or PostgreSQL for dynamic websites
  • Learn Git: For managing your website's code
  • Set up Monitoring: Tools to monitor your server's performance

Conclusion

Setting up your first website on a VPS might seem like a lot of steps, but each one is important for creating a secure and reliable hosting environment. Take your time, follow each step carefully, and don't be afraid to experiment and learn.

Remember, the beauty of having your own VPS is that you're in complete control. You can customize, optimize, and expand your setup as your needs grow. Every expert was once a beginner, so be proud of what you've accomplished today!

Happy hosting! 🚀 If you run into any issues or have questions, there are tons of helpful communities and resources online. The official documentation for Ubuntu, Nginx, and your VPS provider are great places to start.

Related Articles

How to Backup and Restore a Website on VPS Linux

How to Backup and Restore a Website on VPS Linux

Oct 03, 2025

How to Backup and Restore a Website on VPS Linux That moment when you realize your website is gon...

Setting Up Load Balancing with Nginx for High Traffic Sites

Setting Up Load Balancing with Nginx for High Traffic Sites

Oct 03, 2025

Setting Up Load Balancing with Nginx for High Traffic Sites Your website is growing. Traffic is i...

How to Monitor Server Resources with htop and netstat

How to Monitor Server Resources with htop and netstat

Oct 03, 2025

How to Monitor Server Resources with htop and netstat Ever wonder why your website suddenly slows...

Basic Firewall Configuration for Linux Web Servers

Basic Firewall Configuration for Linux Web Servers

Oct 03, 2025

Basic Firewall Configuration for Linux Web Servers Your web server is like a house in a busy neig...