Differences between revisions 6 and 7
Revision 6 as of 2012-08-25 21:43:47
Size: 3122
Editor: DanielPocock
Revision 7 as of 2012-08-25 21:47:08
Size: 3199
Editor: DanielPocock
Deletions are marked like this. Additions are marked like this.
Line 64: Line 64:
   * Use the URL path {{{ /admin/reports/status }}} to access the status page
Line 70: Line 71:
  * use the URL path /node/user to access the login page   * use the URL path /?q=user to access the login page


  • squeezy has drupal6
  • wheezy has drupal7 and no drupal6 package
  • no fully automated upgrade path exists
  • complexities are likely to arise with any non-core modules installed in a drupal6 system

The good news

  • For a simple site, with a few manual steps, an upgrade from the drupal6 to drupal7 package can be done in 10-15 minutes

The bad news

  • For a complicated site, it may be necessary to manually recreate the whole site in drupal7, maybe a few days work
  • This is bad news for people with many sites (virtual hosting)

How to do it

Server preparation

These are once-off steps to prepare the server. Whether you have one site or 100 sites on the server, these steps only need to be done once.

  • It is necessary (and safe) to install both the drupal6 and drupal7 packages concurrently
    • If your system is still on squeeze, you can get a drupal7 package from squeeze-backports
    • If your system is on wheezy already, you can get the drupal6 package from squeeze (manual download and install with dpkg)
  • After installing, it is necessary to ensure that the /usr/local/share/drupal hierarchy is split by version

Moving each site

You do not have to move all sites at the same time. You can do one at a time. Sites will run normally as Drupal 6 sites until you migrate them.

The process below can take as little as 10 minutes for a small site with no special modules.

  • Official migration steps are described in the upstream document, and you should review that before following the steps below
  • Make sure you have a full backup of the database and the filesystem.
  • Put the site in maintenance mode
  • Disable all non-core modules
  • In the apache2 virtual host definition, change references of drupal6 to drupal7:

vi /etc/apache2/sites-enabled/www.example.org
/etc/init.d/apache2 reload
  • Move the site config

mv -n /etc/drupal/6/sites/www.example.org /etc/drupal/7/sites/
  • Make settings.php writeable for the site (e.g. for www.example.org)
    •  chmod 0666 /etc/drupal/7/sites/www.example.org/settings.php 

  • Now go to the update script:
  • Follow the instructions carefully
  • Review any warnings very carefully
  • After you are happy with the upgrade
    • Make the settings.php file read-only again:
      •  chmod 0644 /etc/drupal/6/sites/www.example.org/settings.php 

    • click the link to go to your site's admin page
    • Review the status page for your site, make sure there are no errors
      • Use the URL path  /admin/reports/status  to access the status page

    • Take the site out of maintenance mode
  • Your site is now upgraded


  • Can't find the login page to login as admin after upgrade?
    • use the URL path /?q=user to access the login page
  • Theme doesn't work after upgrade?
    • use the URL path /admin/appearance to access the page for changing the theme