This marks the first entry into my web log. We’ll see how this goes as I prattle on about my various interests and generally try to contribute my small bit to the internet with the same zeal that it has contributed to me. I’ve had a great time building this web server up over the past few days, thanks primarily to Lee Hutchinson and his Web Served series at Ars Technica. I’m not a programmer and at best I consider myself a savvy user. My home network is only as complex as Apple’s equipment will allow it since I spend so much time on the road for work. That means that if it can’t be troubleshot with a couple of slider switches on a slick GUI, it’s probably not getting fixed until I get back. Honestly, it’s probably good that it prevents me from trying to cobble together my own custom networking equipment running through some sort of bizarre patchwork configuration that ends up costing more money and time than I meant. This has limited my enthusiasm to my own equipment and a couple of forwarded ports on a Time Capsule. So how did I do it?

The hardware

The mighty XPS soldiers on!The mighty XPS soldiers on!

I started with an old Dell XPS M1530 that I purchased in November of 2007. It was the first laptop I had owned in decades and was in response to the expectation of a tremendous amount of work travel. It ran Windows Vista (which was just fine, thank you) without troubles for years and went all around the world several times over before finally being sacrificed to the Linux gods in the name of my curiosity in 2012. About that time, I had swapped over to using a 13” Macbook Air as my primary computer and was having fun cycling through various distros before settling on a variant of Ubuntu called elemenaryOS. I had run Ubuntu server on it for awhile (with my own mirror running slooooowly on it), but every now and then I like accessing the machine directly, and elementaryOS’s GUI is a fabulous and relatively lightweight compared to other distros.

The software

I didn’t reinvent the wheel with this one. Originally, all I was hoping for with this computer was to house an OpenVPN server for better security while I travel. Obviously, that wasn’t enough, so I carefully followed Hutchinson’s guide, installing nginx and PHP-FPM before I started playing around with building some pages. They were awful. Truthfully, I haven’t fiddled with web development since I was in high school… in 1999. Back then, I was clumsily trying to figure out HTML4 (which was only partially-supported), javascript, and CSS, that latter of which seemed totally unnecessary since I had this awesome <font> tag. My sites had it all: animated GIFs, inline frames, and onMouseOver events! The were hosted on Geocities and SimpleNet and totally lacked access to server scripting. Needless to say, when it came time to try and build a modern web site, I was completely out of my depth. I was about to continue down his guide and install WordPress when I saw him mention that he preferred Octopress for his own blog. Abandoning Ars, I moved over to his blog and started reading about Octopress.

Something that served static pages quickly seemed pretty useful after watching my poor laptop groan under the intensity of trying to use a wikipedia-sized SQL database. Octopress takes pages generated in markdown and converts them into relatively-simple static HTML pages. Awesome! The only caveat was that you had to be reasonably comfortable with the idea of working in a command line; no problem. I Got This. The only hiccup I had was the realization that since the entire site was designed to be housed and edited on one system before uploading (via the slick built-in use of rsync over ssh), I accidently went through the trouble of installing all of the supporting software (including Octopress) on the server itself. Totally unnecessary!

We’ll see in the coming months (years?) two important things:
1. How well I continue to like Octopress?
2. How long a seven-year-old laptop can survive as a public-facing web server?