Why Move From Arch Linux To OpenBSD?

I had an issue with my previous webserver running Arch Linux where my SSH private key suddenly disappeared from the machine. I'm not sure whether it was due to the OpenSSH update from the prior day or a hack, but I wasn't too keen to find out. The main issue I had with running Arch Linux as a webserver was surrounding the replacement of cron with systemd timer files which I found really annoying to use. I personally don't get why the developers chose to replace a solid well-known tool that is simple to use with a tool that has so much complexity to it.


The main reason I chose to go with OpenBSD comes down my previous use of it in my homelab and the added benefit of very simple tools for the job of running a small static website like this one. OpenBSD has another added security benefit of using relayd as part of it's web stack which acts like a reverse proxy similar to ones I used to recommend often during my days in the cyber insurance industry. I do like the advantage of OpenBSD having excellent documentation in the man pages much like Arch Linux does with their extensive wiki. The best thing about OpenBSD for me is the simplicty of the toolset where everything is just one configuration file away from being completed.


Conceptual Design.

The idea was to keep the website configuration more or less the same while learning more about how the OpenBSD web stack works. Here's a list of some helpful resources that I used:

Overall, I found OpenBSD to be a joy to configure despite the mild learning curve coming from the Linux webserver world :).

Minimalism At The OS Level.

One of the things I appreicate about OpenBSD is how minimalist it is despite the impactfulness of the toolset. The server runs extremely lean compared to a lot of Linux distributions and espcially the few Windows IIS servers I have interacted with in the past. Here's a screenshot of the current webserver load as of the writing of this blog post (keep in mind the site isn't under extreme load).
Webserver Utilization
I personally feel like the simple tools within OpenBSD allows for a minimal configuration setup to make a high impact on the outcome of your application or service the user is trying to publish on the web. The sane security defaults will also remove any potential complexity added by using Linux or Windows for the same purpose. Some decent examples would be why are the Bluetooth or USB modules turned on by default on Linux server derivatives? There are projects like the Linux hardended kernel which helps, but it doesn't negate the overall direction towards general system bloat within the kernel and other areas of the Linux ecosystem.


General Notes.

I would say that Arch Linux is great for learning about how Linux or a Unix-Like operating system works. It might make a good low-stakes server OS if you don't mind doing periodic troubleshooting on it. What makes it useful for general purposes is when you approach it from an engineer's point of view.

I don't know if OpenBSD is a solid choice if you're running a website where it isn't a static site, but I've heard that Wordpress can work well on it with some tinkering.


Note on software: I do appreciate the fact that OpenBSD comes with relayd, httpd, and the mg text editor pre-installed.


The BSD Cafe is a nice community for meeting folks who are passionate about the BSD family of operating systems.