My Website
After 10+ years of wishing I had a home on the internet, I recently made my website. Here’s how.
How I got the server/website
- Vultr OpenBSD VPS
- Epik to get the domain and handle DNS
About the website
- Hosted on OpenBSD using httpd (no 3rd-party tools were installed at all)
- https using relayd and acme
- No frameworks, just plain
index.html
andstyle.css
- It’s pretty fast
Why OpenBSD?
I agree with many of their design choices. Also, it’s an innovative and secure complete OS. While it may not be as fast as Linux or another choice, I don’t need a crazy amount of performance. I’d rather have something stable and secure. More here.
Why no frameworks?
Similar reason. I despise bloat–also I have no idea how to use many frameworks. I have tried, and every one of them is a headache. Sometimes dealing with a headache is worth it if that’s what you need. If I needed it, I’d probably get someone else to do the coding for me. Not my cup of tea.
Accessibility
I used this resource to inform my color formatting decisions
Source files
I have backed up all of the source files for the website itself to this repository
Compression
I have chosen to compress many files using gzip
, automated by the script compress.sh
:
The /etc/httpd.conf
and /etc/relayd.conf
files also reflect gzip
Config files
/etc/acme-client.conf
/etc/httpd.conf
Redirections
I have configured /etc/httpd.conf
such that it will redirect www.conjfrnk.com
to conjfrnk.com
. I like the simple look better, plus www
seems way too redundant.
/etc/relayd.conf
Cron
I am using a cronjob to refresh certificates and reboot httpd as necessary. I also use cron to download and apply system/package updates for OpenBSD:
30 3 * * * acme-client conjfrnk.com && rcctl reload httpd relayd
30 4 * * 0 pkg_add -u && syspatch && reboot
Certificate/httpd refreshes happen every night at 3:30am and updates happen every Sunday at 4:30am. Manual urgent updates are performed as necessary.
Sources
I incorporated parts of the official OpenBSD guide and this unofficial guide, making modifications as necessary. As for the website’s content, I would like to credit Andrej Karpathy for having the best-designed personal website I’ve seen, by a wide margin. I used his style.css
as a jumping-off point for my own, and I expect my style to develop further in the future. I got all of the SVG icons from this great website.
I also used this SRI Hash Generator to secure my Google Tag Manager scripts (Google Analytics used to count visitors)