Looking for up-to-date Help documentation? Documentation for the latest releases of Totara is now available at totara.help!

Visit the new Help site

All pages


Before installing Totara Learn, please ensure that your server meets the minimum system requirements.

We strongly recommend that production sites are installed from scratch rather than being cloned from a database backup of another site.

You can read more in our policy documents.

Install process

If you are planning to use Totara in multiple user languages, you should ensure that the server is properly configured with the correct locales. This is important to ensure that date, number and currency data is displayed correctly for each language. See the developer documentation for more information on server locales.

  1. Create directories on your server for www files ("wwwroot" - allow for 1GB) and sitedata files ("sitedata" - allow for 10GB).
  2. Configure your webserver to serve requests for your domain from the wwwroot directory.
  3. Move the Totara source code into the wwwroot directory.
  4. Create an empty database using the UTF8 character set.
  5. Depending on your database type either:
    • For Postgres: createdb -E utf8 [dbname]
    • For MySQL/MariaDB: CREATE DATABASE [dbname] DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
  6. Ensure that you have a non-root database user with write access to the database.
  7. Using your web browser, visit your domain and step through the installation process.
  8. Set up a cron task to execute the file admin/cli/cron.php every minute.
  9. Set up PHP variables.

During this process you will need to ensure the sitedata directory is outside the wwwroot. Ensure that the sitedata directory is writeable by the web server process.

PHP variables 

There are some PHP configuration variables that may need to be customised, depending on your needs. The variables that are commonly changed include memory_limit, upload_max_filesize, post_max_size, max_input_vars, and upload_tmp_dir.

PHP variableDescription

This will need to be increased for restoring large course backups or unzipping large files within Totara.


This setting in conjunction with post_max_size will determine how high you can set the max upload size within Totara.


This setting will need to be increased to a minimum of '2000' if you would like to customise any of the Totara language packs.


Some customers may wish to enable this setting and specifically set a directory where files are temporarily stored during the upload process. Note the web server user must have permissions to write files in this directory, or all file uploads will fail.

If the opcache extension is installed then enabling opcache is recommended for performance reasons, so also set opcache.enable = 1

These settings are all located in php.ini. See http://php.net/manual/en/ini.core.php for more information (note that you will need to restart your webserver for these settings to take effect).

On this page

Provide feedback about this page using the link in the bottom right of this page. 

Still have questions? Why not post them in the forums of the Totara Community?