
This is a guide for upgrading existing Moodle installations. It assumes there is no server migration involved. If you are setting up Moodle from scratch, go here, then here.
But, Why Upgrade to Moodle 3.2?
- To bring world-class engagement to the LMS experience.
- To improve security and privacy features.
- To enable Moodle Mobile further.
- To expand customization options.
- To raise above the rest.
- Hopefully for more than one reason.
Now First, Check Your Server
- Go to
Settings > Site administration > Server > Environment
. If all is OK, go to the next section. If not, make sure… - PHP 5.6.5 or higher (preferably not PHP 7.0, PHP 7.1 is fine) is installed.
- Your current Moodle is 2.7 or Above. Otherwise upgrade to Moodle 2.7 first.
Make Preparations
- Backup everything.
- Upgrade your key (recommended). Not needed for the upgrade, but still very important.
- If your site is particularly large, practice test install on a copy of the production server first is highly recommended.
- Chances are the update is smoother with English set as the default language. It can change back after the upgrade.
The Plugins
- If Available Update Notifications and Automatic Updates Deployment are enabled, compatible plugins will update automatically during the installation. Go to the next section. If not…
- Try and activate AUN and AUD (requires AUN).
- Or try a manual installation. Head to Moodle.org/plugins and download the plugins in your site that have a 3.2 version available.
- Do this with theme plugins also unless you want to see how the site would look on “Boost” first. “Boost” replaced default themes “Canvas” and “Base”.
- Put the files on the corresponding location in the Moodle directory to the plugin type.
- Plugins without a 3.2 update must be uninstalled at this time.
Business Time
- Put the site into maintenance mode. Hopefully you’ll have warned the users of the upgrade days in advance.
- Fetch Moodle 3.2 from SourceForge.
- Or fetch Moodle 3.2 from the GitHub clone or from the official Moodle repo.
- Or fetch Moodle 3.2 from the official download.moodle.org/releases channel.
- Or upgrade from the command line (recommended for large installations).
Do Not Overwrite
- Relocate the current Moodle files. They are now “old”. Do not delete them.
- Unpack the New Moodle 3.2 in place of the “old”. Do Not Overwrite.
- Copy the old
config.php
file in the New Moodle directory. Read more. - Verify that 3.2 compatible plugin files are in the right place along the directory tree and only there. Mistaking their location could result in overwriting of Moodle core code. (Refer to the title of this section.)
- The
moodledata
folder should be located separately and not need anything done to it. - Or on Linux, follow this commands.
- Or do it all from the command line (recommended for large installations).
Final Boss
- Visit the Moodle site on a browser.
- Take it out of Maintenance Mode. Do this by going to
Administration > Site administration > Notifications.
- Moodle will take a sec to bridge old and New Moodle files.
- This process could throw some warnings, like:
moodledata
is on a web accessible folder. I told you it must not be located on the Moodle code folder.- SQL database upgrade required. Follow the message.
- File system upgrade required. Follow the message.
But, Mistake!
- Servers in a language other than English may throw a
'Fatal error: Maximum execution time of 30 seconds exceeded'
as it tries to update language files. - Fix this by editing
php.ini
. Setmax_execution_time
=160
. Read more. - Or have set English as default language before you started.
- If future use of Moodle 3.2 is not on par, visit this page on possible issues.
- For other errors, visit the Installing and upgrading help forums at Moodle.org.
Success Kid
- Brag on the Installing and upgrading help forums at Moodle.org.
- Feeling adventurous? Look at the new settings on the
config-dist.php
file as inspiration to customizeconfig.php
. Read more. - So far no changes on Cron have been made, and no additional configuration is necessary. Moodle 3.2 however supports a much faster Cron frequency. Take advantage of this by setting it to at least once per minute. New Moodle 3.2 Cron no longer prevents tasks from running if a single one fails. A higher Cron frequency does not slow a Moodle site, running lots of tasks do. Read more.
- If for some preposterous reason you have activities from the Moodle 2.2 Assignment module, they will be hidden. Move them into place with the Assignment Upgrade Tool.
- Reinstall previously uninstalled, not 3.2 compatibility tested plugins at your own peril. If you want previously default themes “Canvas” and “Base” back, install them anew as parent theme plugins.
See some FAQs on Moodle Upgrading.
Read an Upgrade Overview on docs.moodle.org.
See the complete Upgrading documentation on docs.moodle.org.
This Moodle Practice related post is made possible by: MoodleRooms the open source learning experience by Blackboard. Rediscover Moodle. Click here to learn more.