So, news broke recently that Twitter was buying an old favorite of mine, Posterous.
For the unfamiliar, Posterous made blogging dead simple by allowing you to post via email; just send a message to the email address they gave you and presto, you just blogged. I’ve been using it for a while, and I immediately read the fine print to see how to export my data out of there.
This is the risk we all take, knowingly or not, when we use a cloudy, or SaaSy, service, i.e. your data aren’t really yours unless they allow it to be. Plus, all the accounts I read say this is a talent acquisition, so it’s highly unlikely that Posterous will exist after Twitter closes the acquisition.
For now, Posterous is saying all the right things. They promise to keep the service running as-is and to provide export mechanisms to other services, e.g. WordPress.com, Tumblr.
Still, I figured I should investigate my options, rather than wait, and happily, Lifehacker provided a how-to aimed at people like me who might not want to wait.
Tumblr is a no-fly for me, and I initially chose Posterous over Tumblr specifically because of the latter’s track record of customer indifference. Plus, I’m a longtime fan of WordPress, so WordPress.com was the first logical choice. Turns out WordPress.com offers an easy import for Posterous, which many people are using.
Unfortunately, the import fails on my private Posterous blog.
My only other option is self-hosted WordPress, but rather than add another domain, I decided to go with a local install.
A quick search led me to MAMP, you know, Mac-Apache-MySQL-PHP, the lesser-known sibling of LAMP, i.e. Linux-Apache-MySQL-PHP. Yes, there are a bunch of WAMPs too, if you must know.
WordPress even has instructions on how to install MAMP and get WP running.
Why would anyone need a local install of WordPress? Well, for a local development environment, of course; if you were so inclined, you could develop and test plugins and themes all offline and without borking a live site. Other uses include, testing WP upgrades, testing new plugins and plugin upgrades, taking local backups of your live site, and many more.
Makes a ton of sense. So off I went.
Installing MAMP is a cakewalk, and soon, I got to this point.
That’s when the fun began.
What follows is for my own (and Google’s) edification, i.e. I’m documenting it so I won’t fail again and maybe others will also benefit.
The first thing I did was change a few preferences, e.g. the default storage location. By default, MAMP puts Apache’s document root in /Applications which I’m not backing up with Time Machine. So, I changed this preference, and then MySQL wouldn’t start.
To the Google.
It’s difficult to retrace my exact steps after a night of technology fail, but they went something like this. I searched for my problem and got a ton of possibly related problems after other changes, e.g. changing the Apache and MySQL ports and changing the MySQL root password, which MAMP uses to connect.
Those both sounded like important steps, so I filed them away and decided the quickest way to solve my problem was to reinstall MAMP and walk through all these changes.
After the reinstall, I hit the MAMP FAQ to change the MySQL root password first. After completing those steps, both servers started, and I headed to phpMyAdmin, which is bundled with MAMP, to make sure everything was cool.
It wasn’t, with phpMyAdmin complaining about connection issues.
More searching ensued, leading me to two (part 1, part 2) very detailed and helpful videos from Lucid Nerd (@thelucidnerd), but even after following these tips and reinstalling a couple times, I was still stuck with the same error from phpMyAdmin.
Small consolation, but along the way, I learned how to reset and flush privileges in MySQL. So, there’s that.
I also came across and interesting solution that involved the corruption of the root password hash. This specific to a 1045: Access denied for user ‘root’@’localhost’ error, which I did get at one point. I also did notice the root password hash had an extra character, as described and thought for sure that would do it.
Nope. It did resolve the 1045 error, but phpMyAdmin still throwing the generic connection issue complaint. Keeping in mind that I’ve rarely used phpMyAdmin in the past, I stared at that page for a while and finally noticed this little icon whose hover text is “Open phpMyAdmin in a new window.”
Sure, why not, and there it was, connected and everything, in the new tab.
This gave me more confusion, but hope. I finally got lucky after even more search keyword string refinement. The key piece: clear the browser cache.
After clearing the cache, everything was working fine. To be fair, everything was probably working fine for a long time, I just wasn’t thinking clearly. Before you hate, keep in mind this was several hours invested at night, and my toddler has been teething.
So, yeah, I’m pretty punchy and haven’t been thinking like a boss thanks to extreme sleep deprivation.
We’ve all been there with technology problems.
Anyway, #lfmf and install MAMP (or xAMP) to get a local WordPress or Drupal installation up and running.
Find the comments if you like.
Update: Thanks to Alain in comments for reminding me to mention the Posterous Importer plugin for self-hosted WP blogs. From what I’ve read, this plugin won’t work because it hits a Posterous rate limit, but that’s likely to change, given the increase in demand.
The workaround you can use right now is to do an import into a new WordPress.com blog and then an export via WordPress’ tools which can be imported into your self-hosted instance. WordPress obviously does a great job exporting/importing its own content between instances.
Hit the Lifehacker post for details.
Of course, if you can’t be bothered or have faith, you can wait for Posterous to fulfill their promise on content exportability. I’m confident they will provide something usable.
I also neglected to mention the (assumed) reason I couldn’t import into WordPress.com was due to my Posterous blog being private. I’ve heard it works like a champ for public Posterous blogs, including comment import.