General web nerd. Rider of bicycles. Amateur picture taker.

Newly-Rebuilt Web Server

Despite the fact that this site seems abandoned, I’ve maintained it through many iterations and many web servers. For the longest time it was hosted on Dreamhost’s shared hosting, but a couple of years ago I decided it was time to move to my own VPS. I chose a Canadian host, LunaNode.

Initially I built the VPS using Webmin/Virtualmin. The idea was to have the flexibility of my own Linux server with the ease-of-administration of cPanel/WHM. I wanted to focus more on using the server than administering it (ha!) Webmin wasn’t the right solution for that though; I found it to be complicated and inflexible, and I felt that it was constantly working against me rather than helping me. I wanted it to do things The Right Way by default (or easily) but it didn’t. For example, each site should have its own Unix and MySQL accounts, should be able to use different PHP versions, and the FPM pools should run under their respective user accounts. I have no doubt Webmin could do these things, but I decided I’d eventually rebuild it without a control panel so I wasn’t too keen on learning how.

Well I’ve finally taken the time to rebuild the server just as I want it; a panel-less VPS with all the flexibility and none of the overhead. Administering it shouldn’t be much work since I know exactly how everything’s set up. I’ve had no complaints with LunaNode so I’m happily staying there.

Here’s what I’m using:

  • LunaNode s.1 (2 cores, 1GB)
  • Ubuntu 18.04 LTS
  • Apache + HTTP2
  • LetsEncrypt
  • PHP 7.2 FPM (pools running under the user account – finally!)
  • MariaDB 10.3
  • Self-hosted Fathom analytics (Apache acting as a reverse proxy to Fathom’s built-in web server)

I thought about setting up everything through Docker (I’ve been docker-izing everything on my home server) but decided that should be ‘added’ on to a good base server setup instead. It might simplify things in the end, but I felt it would add unneeded complexity while setting up and I’d be better served to sort out the base server first.

I considered NGINX as well; I use it as a reverse proxy on my home server, but for much the same reason as Docker I decided that’s also for another time. I want to use it as a caching server eventually, so when I’m ready to set that up I’ll look into replacing Apache as well. For now, Apache is familiar and easier.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please excuse the rough edges. This site is an experiment with WordPress 5.9’s Full Site Editing – a new way to make websites with open source software. Things may be a little rough for the foreseeable future, though (hopefully) still entirely useful.