Another VHOST change

With my Drupal 6 installation upgraded to the latest patch level, I've decided to make an effort and move the last Drupal 4 site up to Drupal 6 by Christmas. As I commented before, this isn't an easy task, as the site has a fair amount of content that I don't want to lose, and uses features that I don't want to disable. And I can't move directly to Drupal 6; I have to transition through Drupal 5 first.

The move will occur in two parts:

  1. move the site from Drupal 4 to Drupal 5, and get most of the bugs out there, and
  2. move that site from Drupal 5 to Drupal 6, fix up and re-enable any features that I had to drop in Drupal 5

Today, I executed the first part, and moved the site (more or less successfully) to Drupal 5.

I first backed up the site to a flat file using mysqldump, and restored the flat file to a different database using the mysql commandline. This gives me a working copy, and I can leave the Drupal 4 site alone until I get this database converted to Drupal 5.

Some changes to my httpd-vhosts.conf file, and I pointed an internal site at this new copy of the old external site. I have a Drupal 5 installation already configured for the internal site, so the next stage should be fairly easy.

I logged on to the internal site (Drupal 4 version), disabled all the modules, and moved the theme back to a default theme. While logged on, I switched the vhost to point to Drupal 5 and restarted my http server. In my browser, I surfed to the internal site's update.php page, which ran through the database update from Drupal 4 to Drupal 5. Some errors, and I can't proceed; it looks like I missed disabling a module. I can't even get back to the admin page to disable and rerun, so I abandon this attempt, reload the database from my flatfile backup, and reset the vhost to point to Drupal 4.

Again, I log on to the Drupal 4 internal version of the site, disable all modules including the errant module, move the theme back to the default. Again, I reset my vhost to Drupal 5 and restart the server, and I again surf to the update page to run the database updates. Well, no update problems this time, but again I'm stuck. I can't surf to any of the sites pages; no matter where I go, I get 403 errors. It looks like I forgot a setting in my httpd.conf file, so back to the drawingboard again.

Third time's a charm. After the restore and reset back to Drupal 4 values, I fix the httpd.conf and restart the server. Again, I log on, turn off all the modules and themes, swap the vhost to Drupal 5, and run the update page. Everything looks good so far, and this time, I can access all the pages properly. Great!

OK, so I install all the missing modules into the Drupal 5 environment, and enable them in the site's controlpanel page. Back goes the custom theme, and everything looks good. I try out some of the facilities enabled with the modules, and the only thing that doesn't do what I expect is the "Printer Friendly Page" link; it takes me to a blank page all the time. Well, for now, I don't need "Printer Friendly Pages", so I disable and uninstall the module.

Now, to move this internal site to the external view. Back to my httpd-vhost.conf file, and I point the external vhost at this Drupal 5 installation. With another httpd restart, it all looks good from the outside as well.

Last things to do are to DROP the old Drupal 4 tables, and celebrate.

Tomorrow, I'll tackle Drupal 5 to Drupal 6