Banner image
Content / help / moodle-upgrade .. concise-view << previous next >>


The webserver should have a main Moodle directory, usually called moodle . Inside this directory is a sub-directory called theme which contains more sub-directories, for each theme available on the site.


  1. Find the lastest version of Moodle

    Check the Moodle download site for the latest version.

    As of July 31st 2015 , we were on version 2.5 and so we can upgrade directly to 2.9.1

    (Note: You need to upgrade to Moodle 2.2 before upgrading to 2.9.)

  2. Check that your current moodle system requirements allow upgrade.

    Moodle 2.7 or later requires at least PHP 5.4.4 (currently using version 5.3.28). Please upgrade your server software or install older Moodle version.

    Log in as admin.

    If you have CP access but no password, go to the DB and edit the row in the user TABLE for id = 2 ( id=1 is the guest user and 2= the main site admin user.

    Go to Settings > Site administration > Server > Environment

  3. As usual with any large upgrade, you should always be prepared to "roll back" if there's an issue with your data or some custom code you've added.

    Eg: go to your control panel and duplicate the whole directory structure of /moodle and make a backup copy of your SQL database too.

    Once you have moved the old moodle php codeor renamed it from /moodle to /moodle-2.2 , for example, you can replace all the moodle code with the code downloaded. Sometimes it's faster to unzip the files directly on the server, if possible. If you pay for a hosting service or have access to the host machine, you could unzip all the moodle PHP files directly on the server.

    You can do this by uploading the zip file either via extend or FTP.

    In your extend control panel under file manager, you should be able to select your zip file then click the unpack button (brown box icon). This will then unzip the file for you.

    It may appear that clicking the button has not done anything, rest assured, once clicked the server will start unpacking and refresh once complete.

    Once unzipped, you can move the files into a folder of your choice e.g. /moodle by selecting the files > right click > move > then enter where you would like the files/folders to go. To specify back one folder type ../ (dot dot forward slash). e.g. if you wanted to move the files from public_html to a folder in your root called moodle, you would type "../moodle"

    Remember that a Moodle installation includes not only the DB and the directory /moodle but may also contain files above the public html root level on the server. User uploaded data is stored above the public html root level for security reasons

  4. Download the zip file.
  5. Extract all the files to produce the moodle directory structure.
  6. Carry out any procedures suggested by the installation checks

    There are a small number of OPcache PHP functions that should be enabled for increased performance.

    PHP opcode caching improves performance and lowers memory requirements, OPcache extension is recommended and fully supported.

    PHP 5.5 has been released and it features a new code caching module called OPCache,

    OPcache Documentation

    OpCache is compiled by default on PHP5.5+. However it is disabled by default. In order to start using OpCache in PHP5.5+ you will first have to enable it. To do this you would have to do the following.

    1. Find your PHP ini file The path to the php ini file will be displayed. Eg: /etc/php55.ini.d/php.ini
    2. Add the following line to your php.ini:
    3. zend_extension=/full/path/to/ (nix)
      zend_extension=C:\path\to\php_opcache.dll (win)
    4. Note that when the path contains spaces you should wrap it in quotes:
      zend_extension="C:\Program Files\PHP5.5\ext\php_opcache.dll" Also note that you will have to use the zend_extension directive instead of the "normal" extension directive because it affects the actual Zend engine (i.e. the thing that runs PHP).

    Your database has tables using Antelope as the file format. You are recommended to convert the tables to the Barracuda file format. See the documentation Administration via command line for details of a tool for converting InnoDB tables to Barracuda.

  7. You may want to run the Admin chron job /moodle/admin/cron.php

Website by Ibiscuits