RobotsLoveHotSauce.com was built for fun using mostly free technologies and services. But it still took quite a bit of effort to put it all together. I thought I would document the technologies used behind the scenes on this site for anyone interested.
The site is built on WordPress running on a LAMP stack (Linux, Apache, MariaDB, and PHP). This is not a prebuilt webserver so I installed everything myself from the Debian software repositories.
- WordPress – Totally free and open source software for generating websites.
- Debian Bullseye Linux – There are tons of different Linux versions available, but I am partial to the Debian family. It is very stable, easy to use, and forms the basis of other operating systems I use every day such as Ubuntu and Raspberry Pi OS. I frequently Ubuntu for servers, but for this website I opted for vanilla Debian.
- Apache HTTP Server – Nothing unusual here, just using the basic webserver to deliver high quality hot sauce related content directly to your browser. (I’d eventually like to learn more about Nginx, but I stuck with the familiar for this site.)
- MariaDB – My favorite open source database. While the needs for this website are simple, I’ve previously been able to use MariaDB for some incredibly complex projects including columnstore databases.
- PHP – The programming language that WordPress is built on. It has very similar syntax to C so it is easy to make minor modifications or add other content when needed.
Hosting, domain registry, and site backups are all Google Cloud Platform services:
- Google Domains – An affordable and reliable domain registry and traffic router.
- Compute Engine – The CPU and memory that this website runs upon.
- Cloud Storage – Basic storage that I’m using for site backups.
My personal tool preferences for connecting to the server and managing content are:
- HeidiSQL – An open source tool for connecting to a variety of databases. It works great for anything hosted on MySQL or MariaDB.
- WinSCP – An easy to use file transfer protocol that makes moving files between Windows and Linux servers incredibly simple.
- Putty – The gold standard for connecting Windows machines to Linux terminals. Also used for generating SSH keys to safely connect.
Finally, I should mention two other services that have been very helpful to me in setting up this site:
- Let’s Encrypt – This is a non profit that provides free TLS Certificates to websites, which allows this site (and millions of others) to protect your data with https connections.
- DigitalOcean – While this particular site is not hosted on DigitalOcean servers, their various guides on setting up and maintaining a webserver were invaluable in refreshing my memory on the process and making sure I had everything in working order. (My other website – Circuits and Code – is hosted on DigitalOcean.)