Given the fact that I’ve been snowed in at home the last several evenings, I really don’t have anything to post on here. However, I’m on such a roll that I feel I should put in something, so I will delight everyone with an update on the status of my latest webserver iteration. As of last night I finally moved it from “work in progress” status to “ready for production.”
As I’m sure everyone remembers, I recently migrated this site from my long-running NSLU2 onto a Synology DS111. The trusty NSLU2 certainly served me well, especially given the price, but eventually it proved woefully underpowered. As a matter of fact there was a dark period in my life where I actually ran everything on my Windows desktop, but we don’t talk about that. Enter the DS111. After much research I finally decided on that particular unit as a good compromise on hardware, price-point, and energy usage. (Some small part of me still wishes I would have opted for the dual-bay DS211, but that nearly doubled the price.) I was also naively convinced I could set up the entire thing to my liking right out of the box, with no customization required, which would save me a lot of time. I’ve made that same idealistic statement many times before, and it’s never worked out once. Within hours of unpacking it and turning it on I had already flashed it with Optware, instantly voiding the warranty but giving me many more “opportunities.” For the first several months I worked with a mix of the stock features and the Optware packages, but by now it’s entirely running the Optware add-ons. So, without further ado, I shall regale you with a fascinating synopsis of the finished product.
For a while I ran the stock setup; Apache webserver with Synology’s flavor of PHP + MySQL. Honestly this worked fine and I probably could have gotten away with it, but I found myself staring at the system utilization constantly and thinking “It could do better.” So, my first step was to ditch Apache for Lighttpd, which is what I ran forever on the old NSLU2. I quickly ran into problems getting it to work like I wanted though, so after another bout of research I settled on nginx. This proved to be the answer to all life’s problems, with the minor issue of setting up a virtual host. I only need that function occasionally for phpmyadmin, so after a half-hearted attempt at wading through nginx’s mostly foreign-language support pages, I settled on using lighttpd for that, and just shutting it back down when I’m finished. The next hurdle was the quirky Synology SQL package. I got it all tuned up like I wanted performance-wise, only to find that the server would hang every time I shut it down. (OK, I didn’t REALLY accidentally turn it off when we were on vacation, I made one final SQL change on the way out the door and it locked up.) I puzzled over this for a few weeks, and finally ended up moving off their stuff onto Optware flavors of the same, which proved more challenging than I anticipated by quite some stretch.
The final step was some means of preserving all these fascinating changes and updates in case of a system failure. After monkeying around with the built-in backup, and a few other wildly complicated third-party options, I finally enlisted the help of my fellow “tinkerer” Mike, who is much more skilled in the ways of the Linux Jedi than I. As it turned out he already had a well-written package of scripts which, with some minor modifications, fit my needs just fabulously and with far less head-scratching than anything else I had tried. I tested it all extensively last night and it worked just peachy. So now you can all sleep well at night knowing this site is auto-magically backed up regularly, albeit not to an off-site location. Speaking of which, I wonder if I could… NO, NO, I AM DONE WITH IT.
See, I told you not to read this update.