Drupal Upgrade Plan 2008

Upgrading the OSGeo Drupal CMS is a complicated task further complicated by the use of multi-site configuration. To upgrade from current 4.7.x to the newest 5.3 version the following steps should be taken (doubles as a check list):
= Time estimation =
I estimate that the total read-only time for the OSGeo sites will be around 1 day if everything goes according to plan, this does not include the preliminary tasks which have to be completed prior to doing the upgrade.
= Preliminary tasks =
== DNS Changes ==
# create entry CNAME dev.osgeo.net test.osgeo.net.
# create entry CNAME edu.osgeo.net test.osgeo.net.
# create entry CNAME fdo-test.osgeo.net test.osgeo.net.
# create entry CNAME mapbender-test.osgeo.net test.osgeo.net.
# create entry CNAME mapguide-test.osgeo.net test.osgeo.net.
== osgeo1 server tasks ==
== osgeo2 server tasks ==
All Done!
# download Drupal 4.7.8
# Download Drupal 5.3 and modules:
#* captcha
#* content (CCK)
#** date
#** imagefield
#** number (comes with CCK)
#** link (comes with CCK)
#** optionwidgets (comes with CCK)
#** text (comes with CCK)
#* diff
#* event
#** basicevent
#* feedback
#* image
#** image_gallery (part of image)
#* insert_block
#* LDAP Integration consists of:
#** ldapauth
#** ldapdata
#** ldapgroups
#* locale
#** localizer
#*** localizerblock
#*** localizermenu
#*** localizernode
#*** localizertaxonomy
#*** localizeruser
#*** localizerviews
#* path_image
#* pearwiki_filter
#* recent_changes
#* syndication
#* tinymce
#** imce
#* views
#** views_rss
#** views_theme_wizard
#** views_ui
#* webfm
# Build a new osgeo theme, visually the same as the old theme. Based on 5.3 bluemarine
These items still need doing
# create new directory structure
#* /var/www/drupal-5.3 (extracted from the tarball)
#* /var/www/drupal (symlnk to above)
#* /var/www/osgeo (symlink contents of drupal here)
#** /var/www/osgeo/files
#* /var/www/fdo (like osgeo)
#* /var/www/mapguide
#* /var/www/mapbender
= Actual Upgrade sequence =
== osgeo1 ==
# Make a Backup of all 4 Drupal databases and the files.
# Make all Drupal sites read-only by taking away write access
#* http://osgeo.org/
#* http://fdo.osgeo.org/
#* http://mapguide.osgeo.org/
#* http://mapbender.osgeo.org/
== osgeo2 ==
# Extract osgeo1 files to /var/www/drupal
# Create a new databases for the sites
#* drupal_osgeo
#* drupal_fdo
#* drupal_mapguide
#* drupal_mapbender
# Move old drupal test.osgeo.net to run on dev.osgeo.net
## Add dev.osgeo.conf to Apache
## Point osgeo.conf to /var/www/drupal
## Point fdo.conf to /var/www/drupal
## Point mapguide.conf to /var/www/drupal
## Point mapbender.conf to /var/www/drupal
# Upgrade Drupal to 4.7.8
## Untar drupal-4.7.8 to /var/www/drupal-4.7.8
## Log in as 'admin' to osgeo site
## Log in as 'admin' to fdo site
## Log in as 'admin' to mapguide site
## Log in as 'admin' to mapbender site
## Disable all non-core modules on osgeo (with mysql update) [see below]
## Disable all non-core modules on fdo (with mysql update) [see below]
## Disable all non-core modules on mapguide (with mysql update) [see below]
## Disable all non-core modules on mapbender (with mysql update) [see below]
## Switch to bluemarine theme (Drupal standard) on osgeo (with mysql update) [see below]
## Switch to bluemarine theme (Drupal standard) on fdo (with mysql update) [see below]
## Switch to bluemarine theme (Drupal standard) on mapguide (with mysql update) [see below]
## Switch to bluemarine theme (Drupal standard) on mapbender (with mysql update) [see below]
## mv /var/www/drupal /var/www/drupal-old
## ln -s /var/www/drupal-4.7.8 /var/www/drupal
## rm -rf /var/www/drupal-4.7.8/sites
## mv /var/www/drupal-old/sites /var/www/drupal-4.7.8
## point browser to test.drupal.org/update.php
## point browser to fdo-test.drupal.org/update.php
## point browser to mapguide-test.drupal.org/update.php
## point browser to mapbender-test.drupal.org/update.php
# Upgrade to 5.3
## log in as admin
## Untar drupal-5.3 to /var/www/drupal-5.3
## ln -s /var/www/drupal-5.3 /var/www/drupal
## rm -rf /var/www/drupal-5.3/sites
## mv /var/www/drupal-4.7.8/sites /var/www/drupal-5.3
## point browser to test.drupal.org/update.php
## point browser to fdo-test.drupal.org/update.php
## point browser to mapguide-test.drupal.org/update.php
## point browser to mapbender-test.drupal.org/update.php
# install missing modules
# enable required modules
# enable the osgeo theme on osgeo
# enable the osgeo theme on fdo
# enable the osgeo theme on mapguide
# enable the osgeo theme on mapbender
# dump databases and tar files and move the new site over to osgeo1
== osgeo1 ==
# load the new site files and databases
# edit apache config files to point to new sites.
#* www.drupal.org
## Point osgeo.conf to /var/www/drupal
## Point fdo.conf to /var/www/drupal
## Point mapguide.conf to /var/www/drupal
## Point mapbender.conf to /var/www/drupal
== dev.osgeo.conf ==
 <VirtualHost 66.223.95.243:80>
 ServerName dev.osgeo.net
 DocumentRoot /var/www/html
 ErrorLog /var/log/httpd/osgeo-error_log
 CustomLog /var/log/httpd/osgeo-access_log common
 <Directory "/var/www/html">
 Options Indexes FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>
== edu.osgeo.conf ==
 <VirtualHost 66.223.95.243:80>
 ServerName edu.osgeo.net
 DocumentRoot /var/www/moodle
 ErrorLog /var/log/httpd/osgeo-error_log
 CustomLog /var/log/httpd/osgeo-access_log common
 <Directory "/var/www/moodle">
 Options Indexes FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>
== fdo-test.osgeo.conf ==
 <VirtualHost 66.223.95.243:80>
 ServerName fdo-test.osgeo.net
 DocumentRoot /var/www/fdo
 ErrorLog /var/log/httpd/osgeo-error_log
 CustomLog /var/log/httpd/osgeo-access_log common
 <Directory "/var/www/fdo">
 Options Indexes FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>
== mapbender.osgeo.conf ==
 <VirtualHost 66.223.95.243:80>
 ServerName mapbender-test.osgeo.net
 DocumentRoot /var/www/mapbender
 ErrorLog /var/log/httpd/osgeo-error_log
 CustomLog /var/log/httpd/osgeo-access_log common
 <Directory "/var/www/mapbender">
 Options Indexes FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>
== mapguide.osgeo.conf ==
 <VirtualHost 66.223.95.243:80>
 ServerName mapguide-test.osgeo.net
 DocumentRoot /var/www/mapguide
 ErrorLog /var/log/httpd/osgeo-error_log
 CustomLog /var/log/httpd/osgeo-access_log common
 <Directory "/var/www/mapguide">
 Options Indexes FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>
== SQL to disable all non-core modules ==
alter table system set status=0 where where name != 'aggregator' and
	name != 'block' and name != 'blog' and name != 'blogapi' and
	name != 'book' and name != 'comment' and name != 'contact' and
	name != 'drupal' and name != 'filter' and name != 'forum' and
	name != 'help' and name != 'legacy' and name != 'locale' and
	name != 'menu' and name != 'node' and name != 'path' and
	name != 'ping' and name != 'poll' and name != 'profile' and
	name != 'search' and name != 'statistics' and name != 'taxonomy' and
	name != 'throttle' and name != 'tracker' and name != 'upload' and
	name != 'user' and name != 'watchdog' and name != 'bluemarine';
== SQL to set bluemarine as the default theme ==
alter table variable set value='s:10:"bluemarine";' where name='theme_default';
delete from cache;
Category:Web Site Committee
Category:Drupal