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.

Microsoft is Shutting Down CodePlex, the Right Way?

Brian Harry:

At that time, will start serving a read-only lightweight archive that will allow you to browse through all published projects – their source code, downloads, documentation, license, and issues – as they looked when CodePlex went read-only. You’ll also be able to download an archive file with your project contents, all in common, transferrable formats like Markdown and JSON. Where possible, we’ll put in place redirects so that existing URLs work, or at least redirect you to the project’s new homepage on the archive. And, the archive will respect your “I’ve moved” setting, if you used it, to direct users to the current home of your project.

There isn’t currently any plan to have an end date for the archive.

Credit where credit is due. They could have, as other tech companies do, shut it down and directed the domain to another of their properties. But instead, by serving static and downloadable archives and allowing for easy redirecting, they’re maintaining one of the most important features of the web: the URL.

A lot of links would have been created in 11 years. Microsoft’s efforts will mean those links will still serve their purpose for the foreseeable future, just in a different way. It’s an effort more companies should make, and Microsoft deserves credit for doing it. It seems like they’re one of the only companies that actually gets the web these days.

Let’s try this again

A year to the day. I wish I could say I planned that.

A lot has happened in the last year, but not much of that took place here. I’m going to try to change that again.

A few of my more recent highlights:

I’ve picked up Joomla development. It’s a different tool for a different job. There are things that Joomla does better (MVC-based theme overrides!), and things that WordPress does better (Child themes and script dependencies). But in the end I appreciate a new perspective.

I bought a Raspberry Pi and started learning Linux. Running websites will always require a certain amount of Linux shell knowledge. I’m quite comfortable in PowerShell, but—though I’ve used Macs exclusively at home for well over a decade—I rarely find the need to use a unix shell, and when I do it’s nothing advanced. I’m setting out to change that too, starting with replacing my aging Mac Mini server with a headless Raspberry Pi.

I’ve contributed some time and code to Plex through fixing some outdated Canadian channels. The CBC and HGTV Canada channels are now working again! I’ve learned basic Python along the way, and had to figure out the poorly-documented Plex channel framework. It’s great knowing that other folks out there are benefitting from my work, no matter how simple it might have been. I’ve set my sights on a few more channels that are also in need of updating.

I’ve cut down on social media for the most part. I still check in on Twitter once a week or so—though I’ve greatly reduced and focused who I am following—and have been using Instagram a little more, but I’m now relying on my own curated set of RSS feeds as well as local news sites for my news. I’m hoping that’ll help manage my information overload; I think it has so far.

I might go into more details about some of these topics in the coming weeks or months.

Aside from some more time on Plex channels, I’m also starting to work in React and will probably develop some thoughts on that as well. I’ve decided on React over Angular on good-faith and with a bit of research; a few people and companies that I follow have made some pretty strong investments and recommendations for it, so I’m following their lead. It’s entirely possible I’ll end up regretting it though.