These days most ISPs allow self-hosting to some extent. Programmer Mira Welner has published a 15-step tutorial to getting a working static web site up and running on a Raspberry Pi:
While tutorials abound in regards to getting a basic webserver set up, there is a difference between a functional server and a good usable website. I've been working on getting my personal site set up over the course of the past five years, spending an hour or so every month working on improving the Pi. I never intended for this personal project to become so lengthy or complex, but eventually I ended up with a fairly robust system for running, maintaining, and editing my website. This tutorial will describe what I've learned throughout the process of creating this site in 15 steps, so that you can use it to create and maintain your own sites.
This tutorial assumes that you already know how to use the command line, and that you have some understanding of HTML and CSS. That is about it.
Any always-on system is going to need to draw as little current as possible, and it is hard to beat a Raspberry Pi Zero 2 W which uses under 150 mA. This tutorial stands out as better than most others because of the small details filled in necessary to go from "Hello, World" page to a working, public web site.
Previously:
(2025) AI Haters Build Tarpits to Trap and Trick AI Scrapers That Ignore Robots.Txt
(2025) A Better DIY Seismometer Can Detect Faraway Earthquakes
(2024) How the Raspberry Pi is Transforming Synthesizers
(2023) Free Raspberry Pi 4B in Abandoned Scooters
... and many more.
(Score: 2) by Rich on Wednesday March 12, @02:01PM (1 child)
I guess steps 5 "certbot" and 6 "domain name" have to be exchanged. The certificate is for the domain name, after all. Also putting a link to "certbot" as "easy step" is a bit cheap. I also found the part about the domain name for the external IP somewhat confusing. In my case, I used to have a VIA C3 machine that connected over PPPoE and handled firewalling itself. Now they "updated" me to a router that won't (easily?) do PPPoE and insists on being the NAT and DHCP host. I relented, took the C3 out to save electricity and set up port forwarding to a Pi 3.
The router knows some preset dynamic IP providers, but not mine, with its established address. So the Pi has to do that. I haven't found ways to extract the external IPv4 from the router, trivial ones at least. I could open an https session, navigate to the status and scrape the external IP. But I was a little lazy, so I wrote a python script that pings some what-is-my-ip service that just returns the IP text and is easy to parse every two hours or so, and calls the dynamic service after a change (or once within 48 hours). TFA could be a bit clearer here.
By the way, my setup isn't entirely static, to replace FTP and get some hands-on experience, I have written a little CGI script that will accept an uploaded file.
(Score: 2) by crm114 on Wednesday March 12, @03:00PM
Heh ... VIA C3 ... you are really old-school. Respect from me.
I have a pile of C7's to use as spares. Most of our home is VIA Nano's (all of which are End-of-Life ... but they keep working, and working, and working.)
In the x86.* world, VIA was my choice over Intel or AMD. They actually did prove you can do more with a small team.