Note: You are currently viewing documentation for Moodle 3.7. Up-to-date documentation for the latest stable version of Moodle may be available here: Upgrading.

Upgrading: Difference between revisions

From MoodleDocs
Line 32: Line 32:
=== Using a downloaded archive ===
=== Using a downloaded archive ===


Do not overwrite an old installation unless you know what you are doing ... sometimes old files can cause problems in new installations. The best way it to rename the current Moodle directory to something else, then unpack the new Moodle archive into the old location.
Do not overwrite an old installation unless you know what you are doing ... sometimes old files can cause problems in new installations. The best way is to rename the current Moodle directory to something else, then unpack the new Moodle archive into the old location.


  mv moodle moodle.backup
  mv moodle moodle.backup

Revision as of 20:21, 16 October 2005

Moodle is designed to upgrade cleanly from any earlier version to any later version.

When upgrading a Moodle installation you should follow these steps:


Backup important data

Although it is not strictly necessary, it is always a good idea to make a backup of any production system before a major upgrade, just in case you need to revert back to the older version for some reason. In fact, it's a good idea to automate your server to backup your Moodle installation daily, so that you can skip this step.

There are three areas that need backing up:

The Moodle software directory itself

Make a separate copy of these files before the upgrade, so that you can retrieve your config.php and any modules you have added like themes, languages etc

Your data directory

This is where uploaded content resides (such as course resources and student assignments) so it is very important to have a backup of these files anyway. Sometimes upgrades may move or rename directories within your data directory.

Your database

Most Moodle upgrades will alter the database tables, adding or changing fields. Each database has different ways to backup. One way of backing up a MySQL database is to 'dump' it to a single SQL file. The following example shows Unix commands to dump the database called "moodle":

mysqldump moodle > moodle-backup-2002-10-26.sql

You can also use the "Export" feature in Moodle's optional "Database" web interface to do the same thing on all platforms.

Install the new Moodle software

Using a downloaded archive

Do not overwrite an old installation unless you know what you are doing ... sometimes old files can cause problems in new installations. The best way is to rename the current Moodle directory to something else, then unpack the new Moodle archive into the old location.

mv moodle moodle.backup
tar xvzf moodle-1.1.tgz

Next, copy across your config.php and any other plugins such as custom themes:

cp moodle.backup/config.php moodle
cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme

Using CVS

If you are using CVS, just go into the Moodle root directory and update to the new files:

cvs update -dP

Make sure you use the "d" parameter to create new directories if necessary, and the "P" parameter to prune empty directories.

If you have been editing Moodle files, watch the messages very closely for possible conflicts. All your customised themes and non-standard plugins will be untouched.

Finishing the upgrade

The last step is to trigger the upgrade processes within Moodle.

To do this just visit the admin page of your installation - http://example.com/moodle/admin

It doesn't matter if you are logged in as admin or not.

Moodle will automatically detect the new version and perform all the database or filesystem upgrades that are necessary. If there is anything it can't do itself (very rare) then you will see messages telling you what you need to do.

Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!

If you have trouble with the upgrade, visit moodle.org and post on the Installation Support Forum in the Using Moodle course.