In order to upgrade Moodle 2.5 to 3.3, start by backing up your site. This includes:
- The Moodle files.
- The Moodledata files.
- The Moodle database.
Make sure you have everything and that no errors occurred while you were backing it up. If you want to be extra sure, restore it to a different location, maybe even locally on your computer and get it working there. Don't forget to adjust the settings in the config.php file as well as running the Moodle Search and Replace tool (it is not in the Moodle menus). Once you are sure that everything is working, and you still have the original unmodified backup files, you are ready to move on to the next step.
Verify your web server environment
Make sure your web server meets the hardware requirements for Moodle 3.3. Note the changes, especially in memory requirements from 2.5 to 3.3. Also make sure your server meets the software requirements for Moodle 2.7. In fact, when upgrading, it is best to verify the software requirements for every version of Moodle you will be skipping in order to find out which system components you will need to be add before proceeding.
Also, before you get started, make sure any 3rd party plugin and themes added to your site will be compatible with Moodle 2.7 and Moodle 3.3. If not, you will need to upgrade these first. If they are not available for the newer releases of Moodle, check with the maintainer of the plugin/theme to see if there might be an updated version forthcoming. If not, you will either need to fix any problems in the code yourself that may come up, switch to another similar plugin that provides similar functionality or remove the plugin completely.
Re-creating .git
The easiest way to upgrade Moodle is using Git. If Moodle was not installed using the "git clone" command, your installation will likely be missing the .git directory. You can check this by using the "git status" command. If you already have a .git folder, you can skip this section and go straight to Upgrade to Moodle 2.7. Otherwise, here is how you can re-create it:
Take note of the build date for your current Moodle installation. You'll find this on its Notification page near the bottom of the page.
Re-create your .git folder using the following commands:
# git clone a new copy of Moodle into another location
git clone git://git.moodle.org/moodle.git
# Checkout Moodle 2.5 (the version of your current site).
cd moodle
git checkout MOODLE_25_STABLE
Look through the log for a weekly release that is dated the same as your build number. The build number is a date in the following format: YYYYMMDD. Take note of the related commit number.
Next, rollback the files to the commit number of the build. Replace "56e05fced" with the actual commit number.
git reset 56e05fced
Once this is done, copy the just the .git folder into the web root of your current Moodle site.
Upgrading to Moodle 2.7
Before you get started, make sure any 3rd party plugin and themes added to your site will be compatible with Moodle 2.7. If not, you will need to upgrade these first.
git checkout MOODLE_27_STABLE
Login to your website as an administrator. You should see prompts that will guide you through the process of upgrading Moodle.
IMPORTANT: Up to this point, you could just roll back the files and everything should be back to the way it was. Once you move beyond this point, the only way to revert your website will be to delete the whole site and restore the backups you made earlier of your site's files and database.
Follow the prompts to upgrade the database. Be prepared as you may need to upgrade some of the plugins as well or make some upgrades to your web server and/or database environment.
Once you have everything running again, it will be time to upgrade to Moodle 3.3.
Upgrading to Moodle 3.3
Have you upgraded to Moodle 2.7 yet? If not, go back and complete that step first. Don't forget to make sure your web server meets the hardware requirements for Moodle 3.3.
Make sure your server meets the software requirements for Moodle 3.3 in order to successfully complete the upgrade from Moodle 2.7.
Next, upgrade Moodle from 2.7 to 3.3:
# Enable version tracking so that it is easier to upgrade Moodle in the future.
git branch --track MOODLE_33_STABLE origin/MOODLE_33_STABLE
# Upgrade Moodle to version 3.3.
git checkout MOODLE_33_STABLE
As you did before for Moodle 2.7, Login to your website as an administrator. You should see prompts that your database is about to be upgraded. If not, go to the Notifications page under Site Administration. Follow the prompts again to upgrade the database. As before, be prepared as you may need to upgrade more plugins and themes, and will likely need to make some upgrades to your web server and/or database environment.
That's it. If you followed the above instructions, your Moodle 2.5 site should now be upgraded to Moodle 3.3. To get the most out of your upgraded site, be sure to at least read the New Features page for each version of Moodle from 2.6 to 3.3.
To upgrade your site to newer bug/security release of Moodle 3.3, you will need to repeat some of the instructions. Essentially it will involve:
- Backing up your site files (moodle and moodledata) and database.
- Using the "git pull" command from within your Moodle folder.
- Logging in as an administrator and following the upgrade prompts from the Site Administration > Notification page.
- Verifying that everything on your site still work as expected.
Bug and security fixes come out every week but are only officially release every 2 months.
Hope you find this information useful.
Best regards,
Michael Milette