Starting a personal website
I thought it would be a fun experiment to start a self-hosted personal website. For a few years already I’ve wanted to get some hands-on experience in web development and system administration. Until now however, I didn’t put anything online. Today I again felt this urge. So here we go - time to get my hands dirty.
I’m not really sure what I’ll use this website for. For now I plan to have a little blog where I write about random things I learn or discover. This little project also serves as an experiment to write more. I don’t really write any “long-form” content in my day-to-day life. It’s just chats and E-Mails. If this whole thing isn’t fun I can just stop doing it.
Getting started
To get my website online (and have something worth sharing) my plan was:
- Write content that I can publish on the website. The result is this blog post. I force myself to do this as a first step - otherwise there is a risk that this project ends as an empty website.
- Turn the blog post into HTML files. I use the static site generator Hugo. It let’s me write the content in Markdown. There are themes like the one I’m using that make the website look nice.
- Rent a server with a public IP address. I use a virtual private server (VPS) from Strato. Their prices are competetive, starting at 1€ per month. I pay 2€ monthly for 1 CPU, 2GB RAM, 60GB SSD storage and unlimited network traffic. Seems like a good deal to me.
- Install an operating system on the server. I choose Ubuntu since I’m already familiar with it. Then make sure security mechanism are in place. Configure the ufw firewall and fail2ban, harden the SSH config and set up auto-updates. To be sure I didn’t miss anything important, I ran this script by Kyri to audit my server.
- On the server, start up some webserver software. I use Caddy. It seems easy to configure and automatically takes care of TLS certificates. I configure it to return the HTML files.
- Register a domain (
fynnd.de). I also use Strato for this. - Point
fynnd.deto IP of the server by setting the A-Record.
After Step 7. anyone from anywhere in the world with internet access can visit fynnd.de and read this post. It’s fascinating to think about it!