Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Moodle migration.

Moodle migration

From MoodleDocs
Revision as of 09:44, 31 July 2007 by Ken Wilson (talk | contribs) (Clarified settings)

Migrating your Moodle site can be divided into these tasks:

  • Upgrade Moodle. If you manage your own server, follow the instructions to upgrade Moodle to the version you want, otherwise check if your host has migrated Moodle.
  • Restore a single course. You may need to restore a single course from an old site to a new one, especially if you are testing the migration. When restoring a moodle backup file to moodle on a different server than the one used to create the backup, the absolute referenced links to files maybe broken. To fix this problem open the backup-coursename.zip file and edit the moodle.xml file replacing links with $@FILEPHP@$. For example:
Replace: http://yourserver.com/file.php/243/ 
With: $@FILEPHP@$ 
When the file is restored it will use the correct file path for the new course.
  • Migrating a complete Moodle site. This involves moving a whole site from one server to another. If you are changing the domain/IP address to the new server you need to do these steps:
    • Backup your current moodle database. This will give you a text file containing the mysql dump.
    • In your moodle directory, change the $CFG->wwwroot variable in the config.php file for the new server.
    • Change any absolute links used for pictures, etc which are stored in the Moodle database. This is because when loading a mysql dump of a moodle server into mysql on another server the absolute referenced links will be broken. This can be most easily fixed with the program replace.php. After uploading the mysql dump file point your browser to
http://yourserver.com/admin/replace.php 
Enter the url for your old server (http://oldserver.com/) and new server (http://newserver.com/) and it will fix the mysql tables. You will also need to clear out any cached links by restarting your webserver.
Warning: Before using replace.php make a backup of your Moodle database and test this this backup is OK by restoring it to a test install (say on a PC).
An alternative is to use the search and replace feature of your text editor (or use a unix tool like sed) to replace the old URL with the new one in the mysql backup file. Once you have done this, restore the database.
Tip: You may want to check the mysqldump file to see how the old server was referenced.