How to Self-Host a Website

An informative article which serves as a starting point for non-technical folks which wish to create a website. This covers hosting, domain and SSL certificate.

What's exactly a website?

Let's first walk in detail over all the technical steps involved in accessing a website:

What do I need to have?

You need essentially to have two things:

1. A domain name, such as breder.org or example.com. This is acquired through registering a available domain name on a domain registrar, such as Hover, and your ownership paid through a small annual fee, typically between $9 and $15 USD per year.

2. A web server, essentially a computer always powered on and connected to the internet, which is always ready to serve requests as they come. The cheapest offering from Linode is $5 USD per month. This machine will host (store) and serve (transmit) your files to your visitors.

There's also a component which is pretty much non-optional today, as modern browsers tag pure “HTTP” traffic as “not secure”. You need an SSL certificate issued by a certificate authority to serve encrypted traffic over HTTPS. A popular and free option is Let's Encrypt.