home forums resources search newsjoinmembers: 6370
Hiveminds Network PHP Flash Java Ruby Windows Linux

After all the time that has been spent on creating a "easy installer" Drupal is still one of the hardest CMS to install. Why? Upgrading! Upgrading Drupal to any version is a nightmare!

This blog could have very well been labeled "14 reasons to hire a Drupal professional". Because much of what is required to upgrade an installation will take a good web developer, one that is familiar with all of Drupals quirks, to fix if something goes wrong.

Aside from backing up the database and a few essential files. the rest of this list is quite unreasonable to ask of a user that just went through a one click install. The most major thing is the turning off of modules!

UPGRADING
---------

Prior to upgrading, you should ensure that:

* Your system meets or exceeds Drupal's minimum requirements as shown at
http://drupal.org/requirements.
* You have a backup of all your relevant data (#1).
* Custom and contributed modules have been checked for compatibility (#11).
* Custom and contributed themes have been checked for compatibility (#11).
* You have read through this entire document.

Let's begin!

1. Backup your database and Drupal directory - especially your "sites"
directory which contains your configuration file and added modules and
themes, any contributed or custom modules in your "modules" directory,
and your "files" directory which contains uploaded files. If other files
have modifications, such as .htaccess or robots.txt, those should be
backed up as well.

Note: for a single site setup, the configuration file is the "settings.php"
file located at sites/default/settings.php. The default.settings.php file
contains a clean copy for restoration purposes, if required.

For multisite configurations, the configuration file is located in a
structure like the following:

sites/default/settings.php
sites/example.com/settings.php
sites/sub.example.com/settings.php
sites/sub.example.com.path/settings.php

More information on multisite configuration is located in INSTALL.txt.

2. If possible, log on as the user with user ID 1, which is the first account
created and the main administrator account. User ID 1 will be able to
automatically access update.php in step #10. There are special instructions
in step #10 if you are unable to log on as user ID 1. Do not close your
browser until the final step is complete.

3. Place the site in "Off-line" mode, to let the database updates run without
interruption and avoid displaying errors to end users of the site. This
option is at http://www.example.com/?q=admin/settings/site-maintenance
(replace www.example.com with your installation's domain name and path).

4. If using a custom or contributed theme, switch
to a core theme, such as Garland or Bluemarine.

5. Disable all custom and contributed modules.

6. Remove all old files and directories from the Drupal installation directory.

7. Unpack the new files and directories into the Drupal installation directory.

8. Copy your backed up "files" and "sites" directories to the Drupal
installation directory. If other system files such as .htaccess or
robots.txt were customized, re-create the modifications in the new
versions of the files using the backups taken in step #1.

9. Verify the new configuration file to make sure it has correct information.

10. Run update.php by visiting http://www.example.com/update.php (replace
www.example.com with your Drupal installation's domain name and path). This
step will update the core database tables to the new Drupal installation.

Note: if you are unable to access update.php do the following:

- Open your settings.php with a text editor.

- There is a line that says $update_free_access = FALSE;
Change it to $update_free_access = TRUE;

- Once update.php is done, you must change the settings.php file
back to its original form with $update_free_access = FALSE;

11. Ensure that the versions of all custom and contributed modules match the
new Drupal version to which you have updated. For a major update, such as
from 5.x to 6.x, modules from previous versions will not be compatible
and updated versions will be required.

- For contributed modules, check http://drupal.org/project/modules
for the version of a module matching your version of Drupal.

- For custom modules, review http://drupal.org/update/modules to
ensure that a custom module is compatible with the current version.

12. Re-enable custom and contributed modules and re-run update.php
to update custom and contributed database tables.

13. Return the site to its original theme (if you switched to a core
theme like Garland or Bluemarine in step #4). If your site uses a
custom or contributed theme, make sure it is compatible with your
version of Drupal.

- For contributed themes, check http://drupal.org/project/themes
for the version of a theme matching your version of Drupal.

- For custom themes, review http://drupal.org/update/theme to ensure
that a custom theme is compatible with the current version.

14. Finally, return your site to "Online" mode so your visitors may resume
browsing. As in step #3, this option is available in your administration
screens at http://www.example.com/?q=admin/settings/site-maintenance
(replace www.example.com with your installation's domain name and path).

For more information on upgrading visit
the Drupal handbook at http://drupal.org/upgrade

The usual thing that comes after a post like this is a bunch of " what do you suggest" type comments. So here goes. We suggest:

1. That you don't upgrade it's just too much of a pain in the ass. Build your site again from scratch, import your content and then use .htaccess to point to the new website.

2. Take your time keep your fingers crossed and go through the list as best you can. It's not easy but with the help of the community you may get through it with you sanity intact.

3. If you can't do #1 or #2 then you are not completely screwed. We suggest that you hire us to do the upgrades for you!

One last note. Take notes! You may think this is not necessary but you will be thanking yourself in the mirror later. There will be patches and other small changes done during your initial installation. You may never find the right information or files again if you do not take notes.

If you are a web deveopler or Drupal developer that can do upgrades then join Hiveminds and become a consultant


Happy Publishing!

drupal's picture
Join Hiveminds and link to your website or blog.
 
a Visitor posted on: Wed, 2008-07-23 19:05.

Extremely mild suggestions! Thanks a lot!

Installing Drupal used to be much harder. With 5 it got easier, and in 6 its even more easier. A testament of the work of the community.

As a community we should identify whats hard about upgrades, come up with solutions, test those solutions and implement into core when we've found a good one. We also need to educate and help contrib to make their upgrade process easier. Module maintainers have a lot of responsibility but a lot less eyes on their code.

Bitrix Site manager - fast to create, easy to manage CMS Comparison Matrix
Put Your Site Here Developer Links
 

Newsletter

Get updates on Hiveminds services, articles and downloads by signing up for the newsletter.

Editor's choice

Some of the better articles, stories and tutorials found at Hiveminds.

Find more

Find more of Hiveminds articles, stories, tutorials and user comments by searching.




Picked links

Hand picked websites and articles from around the web that provide quality reading.