Adventures in Upgrading: How to Do Fresh Install (I Think)

I mentioned that I was going to blog through my MT 4.2 upgrade experience. This is the second post in that series.
Update 10/09/2008 – Added instructions on pointing Typekey to your new install.
Update 10/04/2008 – After some feedback on the MT support forums, I’ve changed this to separate the MT upgrade from upgrading plugins. Still would like any clarification from folks who know better.
In my first Adventures in Upgrading post I said this about Six Apart’s recommended install method for MT:

What I think is wrong is that in step 4 it directs you to copy the new MT files over top of the old MT files. Nothing wrong with that in general, and even if something went wrong you could re-install the old version of MT, but I prefer to leave the old version intact and install the new along side, in a separate directory. Why? Because if (when?) something does go wrong that’s not easily fixed, you can simply re-load the database backup you made in step 1 and go back to the old version until you figure out what went wrong. If you’ve overwritten the old installation with the new, you have to re-overwrite the new with the old to go back. The upgrade page mentions this, but as an alternate method rather than the preferred method. That’s backwards, in my opinion.

Well, I’ve since learned why Six Apart recommends the copy over method. The fresh install method is significantly more challenging and it’s easier to mess it up. It’s been a while since I did an upgrade (the upgrade to MT 3.33 was two years ago) and I had forgotten the extra work needed when doing a clean install. The old upgrade guide for MT 3.33 at Learning Movable Type lists 14 steps for a fresh install, vs. 6 for the overwrite install at For the many users, the overwrite install is probably the better choice. For major upgrades like this one, I still like the clean slate approach.
The problem is, I don’t know which of those extra steps are still needed and which are not or if there are others that should be added because there is no documented ‘fresh install’ instructions, that I have found, for MT 4.2. The Six Apart Upgrade guide mentions the fresh install as does the Community Upgrade Guide on the MT wiki (down as of this writing), but no where is it described in detail. I’ve asked on the MT support forums about it, but haven’t gotten any answer yet.
Looking at the old MT 3.33 post at Learning Movable Type, here is my interpretation of the steps as they apply to MT 4.2:

  1. Do not attempt to do an upgrade late at night when you are about to go to sleep and no one on earth is awake who can help you if you screw up.
  2. Back up your database. (See Backing Up Your Blog).
  3. Create a new directory on your server for the MT4.2 program files. If your existing MT files are in a directory called “mt” or “mt_3-2”, label this new directory something like “mt42” or “mt4”, so you can tell the difference.
  4. Download MT4.2 from Six Apart.
  5. Unzip the file to your local PC and upload the files to the new directory on your server. If your new directory is in the cgi-bin, make sure you upload the mt-static directory outside of the cgi-bin, to somewhere in your public_html directory. Upload the images in the mt-static directory as binary files. Upload all other files as text. If you have command line access to your server, you can save a bunch of upload time by downloading the tar.gz file (instead of the zip), uploading it to the server and unzipping there. Instructions on doing that here.
  6. If you have made custom search templates, copy those over to the new search template directory.
  7. Compare your old mt-config.cgi settings to the new settings in mt-config.cgi-original. Using a text editor, copy the relevant settings over to the new config file. Most importantly, put your DB info and password in the new mt-config.cgi-original where indicated. Also note that you should have a new cgi path on the config file, as you have put your MT files in a new directory. A complete listing of MT Configuration Directives can be found here. Copy over directives from your old mt-config.cgi file that are not default directives into your new mt-config.cgi-original file.
  8. Change the name of mt-config.cgi-original to mt-config.cgi. Set permissions of all the cgi files in the new installation to 755, with the exception of the mt-config.cgi file. Set the permissions of mt-config.cgi to 644. This is important because your database login info is there and you don’t want to grant everyone access to it.
  9. Point your web browser to the location of the new mt.cgi file. The program should automatically recognize that you are doing an upgrade and it should prompt you to upgrade. If this doesn’t happen, make sure you have done all the previous steps. You might also want to clear your browser cache before pointing to the new mt.cgi file.
  10. Rebuild all of your blogs.
  11. Copy or install all your plugins to the new plugin directory in the new MT directory. You need to do some digging here and find out which ones need new versions and which don’t. For the ones that don’t, you can copy these from your old MT directory to the new MT directory in the same place (if they are in the extlib directory, copy them to the new extlib directory). For the plugins that have a new version, install that version per the instructions from the developer.
    For any more complicated plugins that have their own upgrade or install routine (aside from simply copying the files over), you may want to do them one at a time, rebuilding in between, so that the install processes aren’t trying to run simultaneously.
  12. Rebuild all of your blogs again. Frankly, I’m not sure if all these rebuilds are necessary. You may only need one rebuild after all the upgrade processes the main MT upgrade and any plugin upgrades) are complete. If not needed, I think that the only thing multiple rebuilds will do is waste your time.
  13. Once everything is working, remove permissions from your old CGI scripts. After you have completed your upgrade change the permissions of the current mt-upgrade.cgi to 644. After everything’s been working for a while, you can remove the old installation folder from your server.
  14. If you use Typekey, you’ll need to update your Tyepkey profile so that it points to the new installation. Log in to your Typekey account and you’ll find the settings at the bottom of your Acount Profile page. Any other services that interact with your MT installation (like Flickr’s email to blog feature) will need to be updated as well.

So there you go, how to do the clean install. Keep in mind that this is the thinking of a guy who hasn’t done an upgrade in 2 years and is not a professional MT guru. If anyone has any additional info or corrections, please add it in the comments.

Adventures in Upgrading: Getting Ready

I mentioned that I was going to blog through my MT 4.2 upgrade experience. This is the first post in that series.
The first step in any upgrade is knowing what you’re in for. How hard is this going to be? What do I need to know ahead of time? What are the possible gotchas? I like to be prepared and frankly usually spend too much time in this “Getting Ready” phase. There are two reasons for that:

  1. I want to know everything that I possibly might need to know so that nothing will go wrong. (That doesn’t work, something usually does go wrong anyway.)
  2. I’m lazy, so the longer I prepare, the longer I can put off doing the actual work. 😛

Regardless, being prepared is a good idea. Going to the Movable Type website, you’ll find a page titled Movable Type 4.2 Upgrade Guide. You’ll be forgiven if you think this is the actual upgrade guide, it’s not. It’s a guide for the new stuff in MT 4.2 that you should be aware of when upgrading. In fact, the first step there is to follow the steps in the Official Movable Type Upgrade Guide. Still, there are some good points in the 4.2 guide about obsolete plugins and upgrading your templates as well as links to some 4.2 specific documentation.
The actual upgrade guide, in my view, is a little light on details and, frankly, I think it leads folks the wrong way. It lists 6 steps, including one step each for downloading, unzipping and copying the files. Honestly, the upgrade is pretty simple, but if you’re like me and you’ve mucked around quite a bit with templates and custom CSS (and you barely know what you’re doing), you need to make sure you’re not going to break stuff in the process. I guess this page is the over view, with links to other pages that you might need depending on your installation. Fair enough.
What I think is wrong is that in step 4 it directs you to copy the new MT files over top of the old MT files. Nothing wrong with that in general, and even if something went wrong you could re-install the old version of MT, but I prefer to leave the old version intact and install the new along side, in a separate directory. Why? Because if (when?) something does go wrong that’s not easily fixed, you can simply re-load the database backup you made in step 1 and go back to the old version until you figure out what went wrong. If you’ve overwritten the old installation with the new, you have to re-overwrite the new with the old to go back. The upgrade page mentions this, but as an alternate method rather than the preferred method. That’s backwards, in my opinion. [Update: See post #2, it’s not so backwards after all.]
I’ve already mentioned that there are two upgrade docs, one that’s more a supplement and one the official, recommended process. (Interestingly, there’s also a ‘community generated’ upgrade guide in the MT Wiki. Oddly, it’s not linked to from the main page, but that’s just as well as it as primarily written by a guy who’s only ever done one actual upgrade. Namely, me.) Between those two documents, there are close to a dozen other linked documents to review to see if they apply to you. For a guy like me who likes to know it all ahead of time, that’s a little overwhelming. I suspect that most folks will just dive right in and see what happens.
Most of that is stuff you can worry about later, after you upgrade. Changes to make so you can take advantage of new features. One area that you should pay close attention to ahead of time, however, is plugins. Especially if, like me, you rely pretty heavily on plugins to make your site work the way you want it to. That, as far as I’m concerned, is the achilles heal of the upgrade process. I’ll cover than in the next post.

MT 4.2 is Here!

MT 4.2, the new version of Movable Type, the software that powers is finally here. After a long beta period, it was released last week. Since the release of MT4 over a year ago, I’ve been itching to upgrade. Unfortunately, until a couple of months ago, a couple of important plugins that I uses weren’t upgraded for use with MT4, so I couldn’t upgrade. Once that was solved, decided to wait until the release of the next version, and that’s MT 4.2.
A lot of good stuff in this release, which focused on performance improvements. It’s supposedly significantly faster than other flavors of MT4, but since I’ve never run them, I can’t tell.
I’ll be upgrading soon, so things may get a little wonky at times around here. I’m planning on trying to blog through the process as well, so look for my posts on Adventures in Upgrading.

God Calling

My two oldest daughters, Emily 11 & Jessica 13, are at that self realization stage in their lives. It’s a challenging time, they’re figuring out who they are and who they aren’t and what they can become. As their ages would suggest, they are in different places in this journey, but at the same time similar. In some ways the younger one seems to be rushing headlong into the fray while her older sister proceeds with caution.
A few weeks ago, after a particularly challenging evening, I was talking with the 13 year old and I asked her why she had acted as she did that night. Her response, through tears, was “I don’t know! I don’t know why I do half the things I do anymore!” Her frustration and confusion was palpable. Ah yes, welcome to puberty. 😀
Her younger sister has always been the tough one. I’ve written about her struggles as she approaches puberty before and they continue. The nature of her personality – driven, fearless, outgoing, selfish – means she gets in more trouble than the others. She’s not a bad kid, not hardly, but she just rushes in headlong and before she knows it, she’s busted. At times, in the evening after a particularly tough day, she lays in her bed and cries. “Why am I this way?” she asks. It’s hard for an 11 year old to understand why she seems inclined to sin. Of course, she doesn’t see the more subtle, but not less serious, ways her sisters sin, to her God made her worse than they.
Different questions, but both rooted in the bigger question of “Who am I?” My answer to both, at least in part, is the same.
Pay attention, God’s calling you.
I told them both that this is God showing you that you need Him. In their failures, God is watching (I wonder if their loss of innocence breaks His heart as it does mine?) and He’s waiting for them to realize that they can’t make it on their own. He’s calling them in their inadequacies. The answer is not for them to work harder to be different. Although that’s needed, it’s not going to ultimately fix the problem. Try as they may, they’ll never make themselves into the person that they want to be, let alone the person that God wants them you to be. No, I believe that in this common struggle, God is there, knowing that He has the cure, calling their names, hoping they’ll respond.
“Emily, you need me to make it though. You cannot do it alone, you will continue to fail. I can help you do it, in fact I’ve already done it for you.”
“Jessica, without me you are nothing. You aren’t who think you are, you don’t even know who you are. But I know who you are and what I can make you.”
My goal isn’t to make them into better people as much as it is to point out the voice of God calling to them and help them to hear it and by listening, to be transformed. Because I know personally that all the hard work in the world does little but prove how inadequate I am. It wasn’t until I dropped my fight and turned to Him that I found peace with my self. If they will hear Him calling, drop their own fights to be better and follow Him, then he will make them better.
It’s a lesson that I still need to remember all too frequently.

Love Never Fails

Sunday’s Columbus Dispatch had the first part of a heartbreaking story about neglected little girl named Danielle. Neglected? No, ignored. Nearly seven years old, likely never seen the sun, never hugged, never shown any affection. Still in diapers, living in a closet, surrounded by filth, roaches and a 4 foot pile of dirty diapers. Heartbreaking, anger inducing, words fail:

The police officers walked through the front door, into a cramped living room.
“I’ve been in rooms with bodies rotting there for a week and it never stunk that bad,” Holste said later. “There’s just no way to describe it. Urine and feces — dog, cat and human excrement — smeared on the walls, mashed into the carpet. Everything dank and rotting.”

Read part one Sunday about what she was like when she was found and where she was found and how, because of the lack of affection and attention, the doctors’ big hope was that she’d learn to sleep through the night and feed herself. You should also read today’s part three as well. It’s the sad story about who her mother was (her IQ is “borderline range of intellectual ability.”) and how she still doesn’t understand why her daughter was taken away. “Part of me died that day,” she says.
What I really want to point you to is yesterday’s part two, inspiring story of the family who found her and believed in her in a way that no one else did.
The lead in is the decision by Luanne Panacek, executive director of the Children’s Board of Hillsborough County to put the girl’s picture among many others as kids needing adoption.”Who, Panacek wondered, would choose an 8-year-old who was still in diapers, who didn’t know her own name and might not ever speak or let you hug her?”
Bernie and Diane were at Gameworks, looking for a girl to adopt. A older girl, but younger than their 9 year old son. Through the chaos at Gameworks that night, they caught sight of a picture of Danielle:

Diane stepped out of the chaos, into an alcove beneath the stairs. That was when she saw it. A little girl’s face on a flier, pale with sunken cheeks and dark hair chopped too short. Her brown eyes seemed to be searching for something.
Diane called Bernie over. He saw the same thing she did. “She just looked like she needed us.”

Despite learning all of Danielle’s many and serious issues, they went to meet her:

Diane walked over and spoke to her softly. Danielle didn’t seem to notice. But when Bernie bent down, Danielle turned toward him and her eyes seemed to focus.
He held out his hand. She let him pull her to her feet. Danielle’s teacher, Kevin O’Keefe, was amazed; he hadn’t seen her warm up to anyone so quickly.
Bernie led Danielle to the playground, she pulled sideways and pranced on her tiptoes. She squinted in the sunlight but let him push her gently on the swing. When it was time for them to part, Bernie swore he saw Danielle wave.
That night, he had a dream. Two giant hands slid through his bedroom ceiling, the fingers laced together. Danielle was swinging on those hands, her dark eyes wide, her thin arms reaching for him.

They brought her home Easter weekend, 2007. It was a disaster at first, she wouldn’t sleep she threw tantrum after tantrum, she couldn’t even hold a crayon. Everyone told them they were crazy, but they wouldn’t be deterred. “So what if Danielle is not everything we hoped for, Bernie and Diane answered. You can’t pre-order your own kids. You take what God gives you.” Despite months of severe challenges as her caretakers, they officially adopted her last October. They gave her the name Dani.
And they proceeded to love her, like she – literally – had never been loved before.

Bernie and Diane were told to put Dani in school with profoundly disabled children, but they insisted on different classes because they believe she can do more. They take her to occupational and physical therapy, to church and the mall and the grocery store. They have her in speech classes and horseback-riding lessons.
Once, when Dani was trying to climb onto her horse, the mother of a boy in the therapeutic class turned to Diane.
“You’re so lucky,” Diane remembers the woman saying.
“Lucky?” Diane asked.
The woman nodded. “I know my son will never stand on his own, will never be able to climb onto a horse. You have no idea what your daughter might be able to do.”

Bernie and Diane had a son, about a year older than Dani, when they adopted her. Her doctor says having someone close in age around the house s invaluable for her development. How does William feel about his older sister and the extra attention she gets?

William says Dani frightened him at first. “She did weird things.” But he always wanted someone to play with. He doesn’t care that she can’t ride bikes with him or play Monopoly. “I drive her around in my Jeep and she honks the horn,” he says. “She’s learning to match up cards and stuff.”
He couldn’t believe she had never walked a dog or licked an ice-cream cone. He taught her how to play peek-a-boo, helped her squish Play-Doh through her fingers. He showed her it was safe to walk on sand and fun to blow bubbles and OK to cry; when you hurt, someone comes. He taught her how to open a present. How to pick up Tater Tots and dunk them into ketchup.
William was used to living like an only child, but since Dani has moved in, she gets most of their parents’ attention. “She needs them more than me,” he says simply.
He gave her his old toys, his “kid movies,” his board books. He even moved out of his bedroom so she could sleep upstairs. His parents painted his old walls pink and filled the closet with cotton-candy dresses.
They moved a daybed into the laundry room for William, squeezed it between the washing machine and Dani’s rocking horse. Each night, the 10-year-old boy cuddles up with a walkie-talkie because “it’s scary down here, all alone.”
He trades his walkie-talkie for a small stuffed Dalmatian and calls down the hall, “Good night, Mom and Dad. Good night, Dani.”
Some day, he’s sure, she will answer.

Here was a girl that perhaps should have died, was rescued only to face a likely life in institutions. The folks in her life held very modest expectations for her, she would survive but little more.
But one woman took a small chance – take a picture and put it on a poster and maybe … And two simple people with simple ambitions were paying attention when God was calling and gave of themselves beyond what they expected that they could. They have been the hands of Jesus to this little girl when the rest of us would have likely clenched our fists in anger at the injustice and wept at the tragedy – but then went on home.
Because they loved her, now she’s riding a horse, playing at the beach and feeding herself. She’s learning and growing. Who knows what she may become – because they loved her.

Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres.
Love never fails.

1 Corinthians 13:4-8

UPDATE (8/17): Dani’s family has a website where you can contribute to Dani’s care and send a message of support. There’s also a link to the original article in the St. Petersburg Times where you’ll find a slide show. Lastly, read the article on the response to Dani’s story and an update on how she’s doing:

The Heart Gallery of Tampa Bay, which found an adoptive family for Danielle, is receiving 2,000 hits a day on its Web site, up from the usual 500, said Carolyn Eastman of the Children’s Board of Hillsborough County. The Heart Gallery has also received 100 e-mails and 80 phone calls from people commenting on the story or inquiring about adopting a child.

Imagine if just one more child gets adopted that otherwise wouldn’t have … all because they decided to love.

Mark 14:32-72

Mark 14:38 – When Jesus says to Peter “The spirit indeed is willing, but the flesh is weak.”, I think it had to be a great encouragement to him. It’s like Jesus saying “I know that you’re with me, but your tired and weak. Come on! Pray and hang in with me.”
Mark 14:41-42 – I wonder if they felt that they had somehow let Jesus down, contributing to the failure to keep the authorities at bay. Maybe it’s my modern day American interpretation of Prayer, but I can imagine thinking that Jesus was here to petition the father to prevent His arrest. If so, I might feel as though my lack of engagement or faith let Jesus down.
Mark 14:43 – I can imagine thinking “Oh no …”, but then seeing Judas and maybe briefly thinking “Oh, it’s Judas, that’s OK” before realizing that it’s not at all OK.
Mark 14:53-65 – I like how they brought all these witnesses in to convict Jesus, but it didn’t work, their testimony was contradictory. And Jesus refused to respond to their charges. It wasn’t until he answered a direct question that they had a basis to charge him. Jesus literally gave them what they needed so they could execute Him.
Mark 14:72 – I feel for Peter here. The vehement insistence that he’d ever deny Jesus rebutted by Jesus’ assurance that he would, and here he is. Doing exactly what Jesus predicted. It must have torn at his heart. Many a good man has been destroyed by an event like this, confronted with who he really is rather than who he’d like to believe he is.
Jesus had remarkable faith in Peter, if you think about it. Assuming that Jesus knew at least a bit of the future, which is clear from his words and predictions of things like Peter’s denial, Jesus could have done a lot to prevent Peter from facing this. He could have done more to prepare him. Sent him on a long distance errand. Instructed him to stay away from the courtyard. But He didn’t. He chose to let Peter face his sin. He chose to let Peter suffer the inner turmoil that comes with seeing one’s self clearly.
I would guess that most people don’t want to know who they really are, They spend their lives trying to pretend that they are something else. I’m reminded of the movie the Matrix, where the one guy decides that reality is too much. He longs to get plugged back in, pull the veil back over my eyes, lie to me again. The truth is to painful and hard.
Jesus refused to shelter Peter from the truth. I wonder how much he knew about Peter would handle it. Certainly, the Peter of Acts who preached and stood unflinchingly in the face of the threats of the leaders would have never been if he hadn’t been in that courtyard and heard that rooster.
And where would we be in that case?

Steven Curtis Chapman Speaks

I don’t know if it’s the first thing since the accident that took his daughter’s life or not, but Steven Curtis Chapman went on Larry King Live (of all places) with his family and he’s written an editorial for
Go watch the video (But don’t make the mistake I did of doing so at work. Men aren’t supposed to cry at their desks.) and learn how it happened and how their family got through it, well at least this far. I was seriously impressed how the Will’s older brother instinctively took care of him after the accident. Also, take note of how Will addresses Larry King, even as Larry asks him about the hardest day of his young life.
The article talks little of that day, instead it’s a call for all of us Christians to support orphans. Steven notes “Through all that we’ve experienced, one thing we still know is true: God’s heart is for the orphan.” The Chapman’s have 3 adopted daughters form China in addition to their 3 birth children. What’s interesting is the role their birth daughter, then 12, played in getting them to adopt:

Nine years ago, my wife and my eldest daughter, Emily, traveled to Haiti on a mission trip. Having been exposed to extreme poverty for the first time, Emily returned home with a determined passion to make a difference in the lives of at-risk children.
Only 12 years old, Emily went on an all-out campaign to persuade us to adopt. She bought a book on international adoption with her Christmas money and would read it to us regularly. She began fervently praying and writing letters to Mary Beth and me, encouraging us to consider giving a waiting child a home. Emily knew God was leading us in the direction of adoption; however, Mary Beth and I were not yet convinced.

People wonder where God is in events like this. I do too, and I have no answers to that age old question, but one thing I do see. God was in that family. When tragedy happens to families focused on God, God is revealed. Seeing their family cling to one another and support each other and to hear Steven speak out still passionately for adoption shows the impact that God had on their lives. They were in a unique position to display God to many folks through this tragedy, and they have. Did God target them because of that? I don’t know and would say not. None the less, they targeted God to be honored through it, even if they can’t say what His role was in it.
HT: Brant’s Blog of Awesomeness

Deja Vu All Over Again

I haven’t been following the news from Kip for a while. I realized that it all sounds the same and it frankly wasn’t healthy to focus on it. Yesterday, however, Pinakidion pointed me to this article on their web site.
On top of the bragging of their accomplishments, crediting the spirit for what was ultimately their idea and twisting a passage of scripture to validate their plans, it turns out everything old is new again.

  • LA is the center of all things again (“With the Spirit now establishing Los Angeles as the “Jerusalem” of our new movement …“)
  • There’s a new 5 year plan. (“… the time has come for a definitive plan to accomplish Jesus’ dream to evangelize the world in our generation. … After several months of intense prayer and numerous discussions, we are setting before our fellowship The Five Year Plan!“) The old 5 year plan was the Evangelization Proclamation of 1994.
  • There are new pillar churches (“To evangelize the world, pillar churches will be planted in the following mega-cities …“)
  • Campuses will be targeted. (“campus converts provide idealistic, unencumbered workers and future leaders“) Sitting as we are next to the 60,000 student Ohio State University, I keep looking for the ‘targeting’ of Columbus. So far, we are spared.
  • A new charity, originally named “New Hope” to be established in 2009, and …
  • … A ‘New Hope’ tax to go with it . (“2% of plantings’ weekly contribution will support this worldwide charity“)

Does this sound eerily familiar to anyone (besides Pinakidion and me)? So, the last time this sort of plan fell flat, lies had to be told to ensure it’s success (See Pinakidion’s post) and it’s pursuit led to the hurt of many, and cost Kip his job and many friends. Yet, here it is again, a little more modest, but in essence the same.
My question is, did we sound so shallow, selfish, arrogant and foolish back in 1994? Absolutely, I cannot see how we couldn’t have. If anything we were more brash.
Prayerfully, the experience has taught me some things. I think it has. It doesn’t seem to have taught Kip much.
You know what’s amazing – God will use this foolishness and arrogance and people will be led to Him, just as they were even at the height of the foolishness of the ICOC. God is good. I just hope and pray that the fallout in souls wounded in the march to do great things might be slight.

It is true that some preach Christ out of envy and rivalry, but others out of goodwill. The latter do so in love, knowing that I am put here for the defense of the gospel. The former preach Christ out of selfish ambition, not sincerely, supposing that they can stir up trouble for me while I am in chains. But what does it matter? The important thing is that in every way, whether from false motives or true, Christ is preached. And because of this I rejoice.

Philippians 1:15-18

On This Day

Recent Posts

Recent Comments