I think it was roughly the end of high school when I first had the idea I wanted to make some kind of website. This would be around 2010 and I did what I thought would be a good idea and bought a book on the subject: "Web Sites for Dummies." I was dummy after all...

I got up to hyper linking with the "a" tag until I hit a wall. I don't want to link the exact page since I don't want to get sued, but it basically read:

    Web design programs:
    - Adobe Dreamweaver
    - Adobe Contribute
    - Microsoft Expression Web

Well, damn. I didn't have any of those. And as a stingy high school kid, I didn't want to buy anything. So I shelved that book and forgot about for a while since making a website seemed too expensive and needed too much flashy software to make it. I knew nothing about free software at that age, other than music software like Audacity which is what I was into at the time.

A few years later I caught a bit of a poetry bug--and maybe a bit of a snooty college kid bug--and tried to run a blog. At that point, I had learned about WordPress, which lets you easily make a space for sharing writing, media, content, whatever really. And it's free as in freedom as I understand since it's licensed under the GPL (if you want to take the time to deploy it yourself). But they also give out free .wordpress domains and some storage space for people who know nothing about hosting.

I had fun with that one, I don't update it anymore, but it's still up at postquantumpoetry.wordpress.com . WordPress got closer to what I wanted, but it still wasn't really my site; it was WordPress's site unless I wanted to pay the hosting and domain fee. It's pretty modest, but I wasn't sold on sticking with a .com or .space domain, or even sticking with WordPress. I was getting tired of blogging and wanted to really make something.

It's now 2021, five years later, when I write this (and this website isn't even finished yet). So what led me down the rabbit hole again? It probably started where the last one left off, when I decided I wanted to switch to more practical IT things over the academic science-y things I had previously wanted to pursue. I signed up for a Cybersecurity program, somehow got in, and eventually managed to land a entry-level SOC role after graduating. At this point, it was getting a little embarrassing that I had no web presence--especially after I decided to take down most of my social media accounts. So I was back at "how do I make a website," again, but this time, I at least had some understanding of what a server was and how networks work. And more importantly, I had a better idea of what it meant for a computer to be mine. Even though--let's be real--it still isn't. I can't get high-speed Internet easily which I need to host a server long-term so I'm stuck using some else's computer, otherwise called a Virtual Private Server (VPS). Even if I could host at home, I'm still of course at the mercy of my ISP so even then, I'm not totally free.

Because of that, I think it's important to understand that "running your own website" is not just a technical ordeal, but also an economic one since you have to carefully think about what it means to you to own your server, your software, and your hardware

What is a web server and how do I run one?

How can make this server available on the Internet cheaply and independently

I think it's important to cut to the chase on an important point that I feel is not written about a lot.

Can I run a web server at home

TL;DR Technically yes, but practically probably not. At least not at a lot of extra cost to you.

I spent a lot of time searching on this (you can find a full list of references at the bottom), and I've even tested a little bit by hosting game servers and web projects for code jams, but the problem is twofold. First, if you are in the United States and not a business, you probably have a standard plan with one of the major ISPs (Verizon, Optimum, etc.). This limits you in a few ways.

  • Your bandwidth is limited, which limits the amount of people you can serve at one time and the rate you can transfer data to them. Think laggy games and videos that take 10 years to download.
  • Your ISP probably explicitly does not allow this. I have never had my ISP complain about hosting small personal servers at home, but I imagine if I hosted higher traffic things, I would have some problems.