Or, more to the point, I wasn’t but I wanted a nice site anyway. Know the feeling?I have little to no web dev experience other than template tinkering and vague unsubstantiated HTML knowledge gained, as best I can tell, by osmosis from the web. It’s with that understanding that I’m going to document a few things that I would have appreciated someone having already documented as I was setting up this site. I looked, but was unable to find such documentation in one place, and felt like writing it up myself.That said, folks with more than a smattering of design and web dev experience (and as such not being required to utter “why the hell does it do that?!” every few minutes) will likely snort and click away in comfortably superior derision, and rightfully so. Those of you who might appreciate the following can read on:

  • Actually understandable Movable Type setup suggestions, including plug-in info
  • Random commentary that may very well annoy you
  • CSS basics without the bothersome reading and understanding requirements
  • Whatever else comes up on the way

Huge Caveat: the web is what it is due to the work of folks who just love to do it, so a lot of information is out there for free. That said, the guys and gals who write web tech books for a living and the lovely beings at Six Apart who developed Movable Type need a little love too. If you really want it done right and don’t feel compelled to figure it out for yourself, then pay for it. Or go to Typepad and find a happy medium. In my experience, it’s worth the hassle-prevention. I experienced much hassle with this, but I’m just the type that has to figure it out myself, so I was doomed anyway.“Ma ma ma my Movable Type”I’ve tried various tools and everyone has their favorite, but as I browsed around checking out the types of sites I like and might like to have, I began to realize they are almost all are run by a Movable Type backend. Everyone has their favorite blogging or content management tool, a choice that may change over time and as experience is gained. For me, I flirted briefly with Blogger, LiveJournal, Radio Userland, iBlog, then settled on Blogger after being bitch-slapped by Movable Type the first time I tried to use it. The breakdown of my experience is as follows:

  • Blogger (an early version from 1999-2000ish): great! I was the problem and didn’t blog enough so I bailed.
  • LiveJournal: Kind of ugly, but functional – my aesthetic sense demanded another choice.
  • Radio Userland: WTF?! was my reaction the first time I launched it. Slow, and it didn’t work in an intuitive enough manner for me, though I understand lots of folks live by it. Not my flavor.
  • iBlog (Mac-only): I tried the beta/early version and the functionality wasn’t there for a not inexepensive tool (relative to the free ones out there).
  • Back to Blogger: This time it worked, but a few of the cool features weren’t implemented the way I wanted to see them, and it didn’t offer me the flexibility to grow without hacking templates mercilessly, which gets so old.

I also waited ‘til TypePad was launched to see about it before proceeding, and I actually thought I would be using it. When I got there though, I discovered that it’s amazing, but that ease of use comes with a price. What I really wanted was Movable Type without the struggle or the price, which means I had to choose. I chose struggle.So I’m on to Movable Type, which I’ve tried before. I downloaded it, I read the instructions, I understood most of them. Here’s the thing though—you have to understand all of them for it to work. Damnit, don’t they know the world works in half-measures?! Anyway, while I didn’t make it the first time, this time I was commited. Here’s what I did, and you can do, if you like – I make no guarantee that it will work perfectly for you, but I assure you you’ll have a much easier time than I did:

  • Download Movable Type. Simple enough.
  • Get a web host. You choice, free or otherwise, I decided to commit (commitment=scary!) to a domain and go with some locals, MySiteSpace. They’re cheap, quick, and support has been spot on. They’ve got what you need to run a Movable Type installation with MySQL, which is a good way to go.
  • Here’s where it gets fun. You’re going to need FTP ability here soon so get an FTP program – the easiest way to do this is with a simple FTP-only program. I recommend Transmit on the Mac and a ball-peen hammer to the head on Windows. No? Try CuteFTP then. There are free ones if you like at VersionTracker.
  • Unpack your Movable Type package and move it all into your local site folder. It’s a good idea to keep all your goodies in one place and a very good idea to keep the original zip file so you can have original copies if you screw something up. Which everyone does. It’s better to just plan for it.
  • Open your “mt.cfg” file in a text editor – Textedit is fine on Macs, Wordpad/Notepad on Windows. You don’t have to download them, just look around in your program folders and they should be there. Important point: don’t ever do anything web oriented with MS Word if you can help it. You’ll live to regret it if you do because it will “help” you into madness by altering your files and adding invisible crap to them that then appears where you least expect it.
  • The values you need to change are at the top of “mt.cfg” mostly – ignore most of the rest for now. This is Perl stuff, which means to make something active remove the # symbol from in front of it and make it read what is right for your site. So, find the line that starts with ”# CGIPath”. Remove your # and change the http://www.yoursite.com to your web site’s address, ie, “CGIPath http://www.evanz.org”. Save the file (in text format).
  • Ok. Now the sticking point. Movable Type maintains a database with all of your entries, and since you’re running this puppy solo instead of through TypePad or Blogger, you’ll have to have one handy. I recommend you go to your website’s control panel and hunt around. You should have a “database manager” or the like. Create a folder called “db” in your “cgi-bin” directory (you can do this with your FTP program). Click your database manager, tell it to create a new database for you. Done. If you don’t have that option, send an email to your hosting company and ask them to create you a new MySQL (or Berkley or MySQLlite) database. Stick with MySQL if you can as there is a lot of support out there on those.
  • So you’ve got your database. Now you have to tell MT where it is and what it is. Then, find the line that begins ”# Datasource” (a few lines below the other one) in your “mt.cfg” file. If you created a MySQL database you should have a login name, hopefully the same as your MT login info. If both are true and you plan on the main page of your site to be a MT run page with your database in the cgi-bin, then the lines should read:

DataSource /cgi-bin/db/ObjectDriver DBI::mysqlDatabase “DATABASENAME”_mtdbDBUser “USERNAME”_“USERNAME”with no quotes, and the databasename changed to your database name, and username changed to your username. These will likely all three be the same word. No quotes.

  • Next, set up your static web path. Find the line that reads ”# StaticWebPath”. Remove the #. If you’re using MT to run your main pages as mentioned above, this should read “StaticWebPath /mt-static/”. This means the stuff MT uses to run MT will be in there, and you won’t get confused and mess around with ‘em. That’s it. Close your “mt.cfg” file and save it as a text file.
  • Now to put all that stuff online. Open your FTP program. Connect to your website – just type http://ftp.yoursite.com – and look at the folder list. If it didn’t ask you to log in, find the option that says “login as” and give it your username and password that you got when you signed up for hosting. You should see a list of folders – just ignore them mostly. There should be a folder called “www” and/or one called “public_html”, depending on your host. These are one and the same, and they are the root of your website. When you see a web address that reads http://www.evanz.org/index.html? The index.html file is in the “www” or “public_html” folder. Or should be. One hopes.
  • In your FTP program, browse to the folder where your MT files were unzipped on your computer. Open that folder. Drag all of the contents of that folder to the “www” or “public_html” folder on your host. Move “docs”, “images” and “styles.css” to your “mt-static” folder. (The styles.css file? It’s not your CSS file, it’s MT’s. They should tell you that. Yours is styles-site.css.)
  • Now, do the permission dance. You have to change the permissions on certain files to make sure some are executable and other aren’t. It’s pretty easy, but it’s very exact. There is a matrix in your MT installation instructions that you’ll want to look at. Select each of the files one by one that end with .cgi in your FTP program. For each one, find the “permissions” or “set permissions” option. Set each’s permissions to 755 or if you’re a visual type, make it look like the matrix in your instructions.
  • Open your browser – if it says “Internet Explorer” at the top, close it again and find your ball-peen hammer… just kidding. Open it, type in “www.yoursitename.com/mt-check.cgi”. This is going to tell you if your files are in the correct places, permissions set, and if you have all the Perl modules you need. Depending on the results, you’re either ready to go forward, or you need to review. If you need additional modules, check the installation instructions for links to instructions. Also check out CPAN for those modules listed if you aren’t sure from the instructions. This part is hairly if your host doesn’t have it all installed for you. If it looks too complicated, take the names from the mt-check.cgi screen of what’s missing and email it to your host. For me, it just worked… after I fixed my screwed up permissions and stuff. The upside, is, getting this to work and everything installed is the hardest part 🙂
  • Now Re-run mt-check.cgi until it says you’ve been a good boy or girl.
  • Type “www.yoursitename.com/mt-load.cgi” to initialize your installation. If it runs successfully, DELETE it from your site directory with your FTP program. Very important. Monkeys-will-come-get-you-if-you-don’t kind of important.
  • OK. Whew.
  • Type “www.yoursitename.com/mt.cgi”. If it loads Movable Type, get up and reward yourself however you see fit. Boston Creme donuts are nice, but be good to yourself. If it doesn’t work, review the earlier steps or if you’re at wits end, contact Six Apart to do it for you. They’re nice and deserve your money.

From here, it’s just a matter of writing. As any self-respecting writer knows, there are far better things to do than that, so it may be best to just skip to the “blog abandonment” phase directly at this point.This is only the beginning, too. Now you have to make it look good (or at least passable). I’ll be updating with some simple CSS suggestions here when I get a chance for just that purpose. I’m sure you can’t wait.UPDATE: Upgrading MT broke Textile among other things, and I’m not interested in hacking it back into place. Consider WordPress or Textile if you haven’t already done the above. 🙂