Avatar Website Design

Linode Web Hosting: How To Set Up A Website Step By Step

Linode Web Hosting: How To Set Up A Website Step By Step

Choosing the right hosting provider can make or break your website’s performance, and Linode web hosting has earned a solid reputation among developers and business owners who want full control over their server environment. Unlike shared hosting platforms that pack hundreds of sites onto one machine, Linode gives you your own virtual server, which means better speed, stronger security, and room to grow.

But here’s the catch: Linode is a cloud infrastructure provider, not a drag-and-drop website builder. That means setting up a website on Linode requires some hands-on technical work. For small business owners who aren’t deeply technical, that can feel intimidating. The good news is that the process is straightforward once you understand the steps, and this guide walks you through every single one.

At Avatar Website Design, we build and manage websites for small businesses every day, and we know hosting decisions matter. We’ve worked with various hosting environments, including cloud platforms like Linode, so we understand what goes into getting a site live on this kind of infrastructure. Whether you’re considering Linode for a new project or just want to understand how it works before deciding, this step-by-step guide covers everything, from creating your account and deploying a server to installing your web stack and launching your site.

What you need before you start

Before you touch a single server setting, you need to have a few essentials in place. Skipping this preparation wastes time because you will hit a wall mid-setup and have to stop to gather what you are missing. Getting these items sorted first means the actual Linode web hosting configuration goes smoothly from start to finish, without unnecessary interruptions.

A Linode account and a payment method

Signing up for Linode (now part of Akamai Cloud) takes about five minutes. Head to cloud.linode.com, enter your email address, password, and billing information, and verify your account through the confirmation email. Linode charges based on hourly usage billed monthly, so your credit or debit card gets charged at the end of each billing cycle. New accounts typically receive a promotional credit that lets you test the platform without paying right away, but your payment method still needs to be active and approved.

If your payment method is inactive or gets flagged, Linode suspends your instance automatically, which takes your site offline immediately.

A registered domain name

Your domain is the address people type to reach your site, and you need to purchase and own one before you can point it to your Linode server. Any major domain registrar works fine. You will use that registrar’s DNS settings later in this guide to connect the domain to your server’s IP address. If you do not have a domain yet, buy it now so DNS propagation has time to complete across the internet before you finish your setup.

SSH access and basic command-line knowledge

Most of the work in this guide happens through an SSH terminal session. You do not need to be a Linux expert, but you do need to open a terminal, connect to a remote server, and run basic commands like apt update and nano. Mac and Linux machines include a terminal by default. Windows users can enable OpenSSH through the Windows Terminal or install Windows Subsystem for Linux (WSL).

Here is a quick checklist of everything to have ready before you move to Step 1:

  • Active Linode account with verified billing
  • Registered domain name from your registrar
  • Terminal application installed on your computer
  • SSH key pair generated (strongly recommended over password authentication)
  • A note of your registrar login credentials so you can update DNS records later

Step 1. Pick a plan and create a Linode

Logging into your Linode account lands you on the Cloud Manager dashboard, which is where all server creation and management happens. Before you click anything, you need to make a quick decision about which plan fits your site, because the plan determines your CPU, RAM, and storage allocation right from the start.

Choose the right plan

Linode offers several plan tiers, and for a small business website, the Shared CPU plans are the right starting point. The Nanode 1 GB plan ($5/month) handles low-traffic sites with no problem. If you expect consistent traffic or plan to run WordPress with plugins, step up to the Linode 2 GB plan ($12/month). Dedicated CPU plans are overkill for most small sites and cost significantly more.

Start small and resize later. Linode web hosting makes it easy to upgrade a plan without rebuilding your server from scratch.

Plan RAM Storage Monthly Cost
Nanode 1 GB 1 GB 25 GB $5
Linode 2 GB 2 GB 50 GB $12
Linode 4 GB 4 GB 80 GB $24

Create and deploy your Linode instance

Click "Create Linode" in the top right of your dashboard. Select Ubuntu 22.04 LTS as your image since it has the widest support and long-term stability. Pick a data center region close to your target audience, name your instance something recognizable, then scroll down to set your root password. Add your SSH public key in the Authentication section before clicking Create. Your server will boot within about 60 seconds.

Create and deploy your Linode instance

Step 2. Secure the server and enable the firewall

Your server goes live the moment it boots, and attackers start scanning public IP addresses within minutes of that happening. Running your linode web hosting environment as root with no firewall in place is an open invitation for brute-force attacks and unauthorized access. Locking down the server before you install anything else is the first thing you do after logging in, not an afterthought.

Create a non-root user and disable root login

Log in as root using your SSH key, then run these commands to create a new sudo user:

adduser yourname
usermod -aG sudo yourname

After that, open the SSH configuration file to disable root login entirely:

nano /etc/ssh/sshd_config

Find the line PermitRootLogin yes and change it to PermitRootLogin no. Save the file, then apply the change with systemctl restart sshd. From this point forward, always log in with your new sudo user and your SSH key pair, never as root.

Root login over SSH is one of the most exploited entry points on any public-facing server. Disabling it immediately cuts off an entire category of attacks.

Enable UFW and allow only necessary ports

UFW comes pre-installed on Ubuntu 22.04, so no additional installation is required. These four commands give you a working firewall with minimal exposure:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Run ufw status afterward to confirm all three rules are active. This configuration blocks every port except SSH, HTTP, and HTTPS, which is exactly what a web server needs and nothing more.

Step 3. Set up your web server and deploy your site

With your linode web hosting environment secured, you are ready to install a web server and get your site files in place. This step installs Nginx and PHP, then puts your content where Nginx can serve it to visitors. Run all commands as your sudo user, not root.

Install Nginx and PHP

Update your package list first, then install both Nginx and PHP in one shot:

Install Nginx and PHP

sudo apt update && sudo apt upgrade -y
sudo apt install nginx php-fpm php-mysql -y
sudo systemctl enable nginx
sudo systemctl start nginx

Once those commands finish, open a browser and type your server’s IP address into the address bar. If you see the default Nginx welcome page, the web server is running correctly. PHP-FPM handles PHP processing separately from Nginx, which keeps your server more stable under load.

If the Nginx welcome page does not appear, run sudo systemctl status nginx to check for errors before moving forward.

Deploy your site files

Nginx serves files from /var/www/html by default. Replace the placeholder index file with your own content using either SFTP or a direct file transfer. The simplest approach is to use scp from your local machine:

scp -r /path/to/your/site/* yourname@your_server_ip:/var/www/html/

After the transfer completes, set the correct file permissions so Nginx can read everything without issues:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Reload Nginx with sudo systemctl reload nginx, then revisit your IP address to confirm your site loads correctly.

Step 4. Connect your domain, add SSL, and verify

Your site is live on an IP address, but visitors need a domain name to find it. This step ties your registered domain to your linode web hosting environment and adds the SSL certificate that browsers require before they trust your site.

Point your domain to your Linode server

Log into your domain registrar’s dashboard and navigate to the DNS settings for your domain. Delete any existing A records pointing elsewhere, then create a new A record with these values:

  • Host: @ (or your bare domain name, depending on your registrar)
  • Value: your Linode server’s public IP address
  • TTL: 300 seconds (or the lowest available option)

Add a second A record with www as the host pointing to the same IP address. DNS changes can take up to 48 hours to propagate fully, though most registrars push updates within an hour or two. Use Google’s DNS lookup tool to confirm your domain resolves to your server’s IP before moving on.

DNS propagation is complete when your domain resolves to your server’s IP address from multiple locations worldwide.

Install a free SSL certificate with Certbot

Once DNS resolves correctly, install Certbot and request your free SSL certificate from Let’s Encrypt with two commands:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot automatically updates your Nginx configuration to redirect all HTTP traffic to HTTPS. After the certificate installs, open your domain in a browser and confirm the padlock icon appears in the address bar. Run sudo certbot renew --dry-run to verify that automatic renewal works before wrapping up this step.

linode web hosting infographic

Keep your site running smoothly

Getting your site live is only half the job. Linode web hosting gives you full control, which also means routine maintenance falls entirely on you. Run sudo apt update && sudo apt upgrade -y at least once a month to keep your server packages current. Check your SSL certificate renewal status with sudo certbot renew --dry-run quarterly to catch any issues before your certificate expires and breaks HTTPS for visitors.

Back up your site files and database on a regular schedule. Linode’s Backup Service adds automated daily snapshots for a small monthly fee, and it takes about two clicks to enable from your Cloud Manager dashboard. Watch your server resource usage through the Linode dashboard graphs so you catch traffic spikes before they cause downtime. If managing all of this sounds like more work than you want to take on, Avatar Website Design handles website setup, hosting management, and ongoing maintenance so you can focus on running your business instead.

Scroll to Top