Last updated November 29, 2010. Created by joachim on May 3, 2006.
Edited by bethhauck, add1sun, Senpai, skiquel. Log in to edit this page.

I. Download and unzip the latest Drupal release to your desktop.

You can download drupal at the Downloads page. You can use unzipping software such as WinZip or Stuffit.

II. Move your old Drupal files

You made a backup, right? Using your FTP client, move all your old Drupal files on your server to backup directory. If you are upgrading a test site, move your test site files. It is considered best practice to remove the old files completely rather than overwriting to ensure you have a clean installation of the new files.

III. Upload the new version of Drupal

Using your FTP client, upload the new version of Drupal to the same place where your old files were located. If you are upgrading a test site, upload the files to your test site directory.

Make sure your files directory is writable.

IV. Upload contributed modules

Again with your FTP client, upload the new version of all your contributed modules. Make sure you have the version of the module which matches your new Drupal version.

V. Copy over necessary files from the 'backup' copy directory

Using your FTP client, copy the following files from your 'backup' directory to the Drupal directory on your server:

  • .htaccess
  • sites/default/settings.php (but see section on older sites below)
  • the 'files' directory
  • any other files you need from the 'backup' directory, such as extra image toolkits you may have installed in Drupal's includes directory, your cron scripts in scripts/ or subdomain folders, or any customized themes within sites/all/themes/custom/

Older sites

If you are upgrading from a version of Drupal that is older than Drupal 4.5, you will have to look in your 'backup' directory for a file called:

includes/conf.php

Then using a plain text editor copy the following three lines as they appear in your conf.php file:

$db_url = mysql://user:pass@localhost/drupal_db';
$base_url = 'http://www.example.com';
$db_prefix = '';

And paste them over the appropriate lines in your new Drupal file on your server, located here:

sites/default/settings.php

It's simply a matter of overwriting the above three lines in settings.php with the lines in conf.php.

These settings are responsible for connecting your Drupal to the database and to the files it needs. The file name and location was changed from Drupal 4.5 to 4.6, hence the magical dance involved.

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

Using your FTP client, move all your old Drupal files on your server to backup directory. If you are upgrading a test site, move your test site files. It is considered best practice to remove the old files completely rather than overwriting to ensure you have a clean installation of the new files.

Wouldn't it be good to have an explicit promise of exactly what's in "old files" and what isn't? I suspect it's everything except the sites directory, but my sense of responsibility tells me to grind through the results of a recursive diff.

/Lew

old files, to me at least, mean all drupal files. for a minor upgrade, I suppose you can leave the 'sites' directory untouched, as you would be copying it back from your backup. for a major upgrade, you'll have to replace all your modules and themes anyway, so you'd better move it just as well.