At some point in August last year, I found myself bitten by the blogging bug. However, being the somewhat neurotic perfectionist that I am, it has taken this long to finally get to writing a first post, and I still don’t have things the way that I like.
Despite the fact that there are a plethora of sites online that offer blogging services for anyone itching to publish their thoughts to the world, I decided that seeing as I run my own Gentoo Linux server at home, I would go through the trouble of setting up my own installation of a blogging tool. I figured that it would be a fun learning experience and that I would also enjoy the advantages of a fully customizable blog with no worries about having to rely on some corporate server to safeguard the stuff that I write. Call me silly, but I like having full control over my own data – especially if its going to be a journal like this one.
(Of course, the more thoughtful reader will surely posit the excellent question of why I use Gmail for my personal email, if I’m so finicky about my personal data. Oh well. You got me there! Let’s just say I really like Gmail’s interface features and convenience and that I have never had a lick of success with setting up a fully functional mail server at home. So there.)
After sitting on any urges to blog about something for a few months, I finally got around to doing something constructive about it in late October when I began researching blogging software. After a lot of reading, I finally settled upon WordPress as it seemed to be the closest thing to a favored tool out there. It certainly looked sexy enough and easy to use. One thing that bugged me about WordPress though was that I had been really holding out for a blogger with a PostgreSQL backend. Now I know that some WordPress savvy folks might be saying to themselves that there is a modified version out there that uses PostgreSQL, but I got the impression that it might be flaky and that it is hasn’t been actively developed of late. I decided that if I was going to use WordPress, I wanted to use the latest and greatest version.
So after failing to find anything to meet my PostgreSQL desires, I took the plunge and installed WordPress on my Linux box around All Hallow’s Eve. With just a few quick emerge calls at the command prompt, I had that familiar and simple, yet elegant default WordPress demo layout staring back at me on my computer screen, and I felt a nice sense of accomplishment! I had even come up with what I thought was a nice name for the blog: eRant. The name fit nicely with the idea that I would use its space to occasionally rant about politics and religion and spare my poor wife the daily wonderful conversation starter: “Honey, you know what sucks?”.
Things were coming together nicely and I was on the brink of blogging bliss. Never one to accept a default configuration, I sought to spice things up a bit with a custom theme.
And of course, that’s when the procrastination started…
For some reason, I just really didn’t feel up to messing with the PHP templates and the CSS files necessary to create my ultimate personal blog. It sounded much, much more appealing to catch up on my fiction reading, do some video editing, or half a dozen other things.
And if my blog couldn’t look super spiffy, then I really had no use for posting to it.
So it just sat there waiting patiently. If my blog had had thumbs, it probably would have been twiddling them silently while contemplating the act of suicide out of sheer loneliness.
Months passed by silently. The Wheel of Time turned so to speak. And during the nice, relaxed and joyful days of Christmas vacation, my Agile Web Development with Rails 2nd Edition arrived in the mail and at once I found myself happily reading away while building a Rails application along with the authors. I had been meaning to play with Rails for well over a year, and now through this well written book, I was finally getting to see how much fun developing a web application can be, and it only further intensified my love for that precious gem of language called Ruby.
Drunk with the heady euphoria of playing around with Ruby and Rails instead of doing battle with some awful mess of PHP code at work, I decided that if I was to run a blog at home, it should be a Rails app by golly because Rails is just plain cool. And that was that!
So I did some more digging around on the web as my idle PHP-based WordPress blog sat silently awaiting its fate in dread. I came back to the Radiant content management system that was used to create the nice and polished new Ruby website. The demo on the Radiant website showed that the software could be also used to create a blog. The wheels were starting to turn…
Perhaps now was the time when all good and brave Johns would seize the corundum encrusted gauntlet of destiny and redesign their personal webpages with the Rails powered Radiant and then integrate them with shiny new blogs for a better day!
But while reading the blog of the John Long the author of Radiant, I came across an article that indicated that John was now using Mephisto for his blog. He mentioned that while Radiant was more focused on CMS, Mephisto was probably more optimized for blogging.
Intrigued, I sped over to the Mephisto site and downloaded it for a try.
To be honest, I didn’t really care for its default theme as compared with the one that WordPress sports fresh from an installation. But I had wanted to design my own theme, and at least, this way I would be running a Rails-based blog and get the pleasure of working with Ruby instead of PHP when it came time to tweak things under the hood.
With my decision made, it was only a matter of getting the bloody thing to play nice with my Apache installation. Sure I could easily get the blog up and running on Port 3000 in my private home network, but thanks to Charter’s wonderful paternal port blocking, I couldn’t access the thing remotely and that means neither could any friends, family, or the morbidly curious.
I have to hand it to WordPress in that at least it was pretty much ready to go after installation. With Mephisto, I had to figure out how to get a Rails application running with Apache, and my sobering initial attempts at investigation left me disappointed and seeking better ways to enjoy my vacation.
So alas the dream of a blog was shelved again until the new year…
On one lonely night in the middle of a coding spree for work, I decided to take a break and play with the dark magic that is Apache’s configuration files. My first attempt was a near success. I decided that I would try running Mephisto through Apache’s FastCGI module as an aliased directory external to the document root of my web server. At first things seemed good. When I pointed my browser at the http://theweatherses.org/mephisto, I was greeted with the familiar default Mephisto front page.
There was great joy.
But when I tried logging onto the Administration site, I found a lifeless and CSSless page that redefined the word bland. It seemed that I had encountered a problem involving Rails apps in subdirectories of the http server’s document root. Despite my various attempts at directing things to the right locations via Aliases and Rewrites, I could never resuscitate my poor Mephisto admin site’s color and vigor.
After a suitable period of remorse and frustration and with the sun of a new day shining brightly through a corporate window, I discussed my struggles with my good friend and sometimes idea bouncing-board Josh. We talked about how he had recently installed WordPress at home for his family, and he mentioned how he had setup different virtual domains. It became apparent that I could easily add a virtual domain of say erant.theweatherses.org to my current site theweatherses.org via my Domain Name Registration company.
Armed with this new knowledge, I wasted little time setting up a new virtual domain for my server. Then, I proceeded to happily configure Apache to redirect incoming traffic for this virtual host to a proxy server in the form of the ever reliable Mongrel HTTP Ruby server. With the last click of a the key in my editor saving the changes to my configuration file, I hastened to start Mongrel and restart Apache.
My blog had been reborn in Ruby and now I simply needed to design a super spiffy theme for it…
Ahem. Or maybe just write my first blog entry and worry about the look and feel another time.