Server hardware

The following hardware specification illustrates an example of a system hosting a site with approximately 10,000 users (approx. 500 concurrent):

Specific hardware requirements for your project will depend on the volume of anticipated concurrent users and other factors.

It is strongly recommended that Totara sites use SSL.

Server software

Please refer to our Recommended hosting environments page for best practices.

The following is the minimum supported environment:

OS

  • Recommended: CentOS, Red Hat, or Ubuntu
  • Debian, OSX, or any unix-based operating system should be compatible.
  • Windows Server
    It should be noted that Microsoft have announced that they are discontinuing their support for future PHP versions in Windows from PHP 8.0 as per PHP Internal mailing list post.

Web server

  • Apache 2.4.x
  • Apache 2.2.
  • IIS 8.x

PHP

PHP 7.2.10 minimum, it is recommended you use the latest PHP 7.4 release.

Required modules: curl, ctype, dom, gd, iconv, intl, json, mbstring, pcre, simplexml, spl, xml, zip, zlib

Recommended modules: openssl, tokenizer, xmlrpc, soap, opcache.

Database

  • PostgreSQL
    • Supported: 12.x, 11.x, 10.x, 9.6.x
    • Not supported: major releases greater than 12, 9.5 and lower.
  • MariaDB
    • Supported: 10.5.x, 10.4.x, 10.3.x, 10.2.6+
    • Not supported: major releases greater than 10.5, 10.2.5 or lower, 10.1 and lower.
  • MySQL
    • Supported: 8.0.x, 5.7.21+
    • Not supported: major releases greater than 8.0, 5.7.20 or lower, 5.6.x and lower.
  • MSSQL
    • Supported: 14.0 (2017) (minimum)
    • Not supported: 13 (2016) and lower.

Server PHP configuration

There are some PHP configuration variables that may need to be customised, depending on your needs. The variables that are commonly changed are detailed below:

Note that the web server user must have permissions to write files in this directory, or all file uploads will fail.

A thread safe PHP version is required to be installed if you are using a multithreaded server such as Apache, or a non-thread safe PHP version if you are running PHP as a CGI binary such as FastCGI.

MSSQL settings

For more information see How to setup FTS component in MSSQL in the developer documentation.

Please note that with PHP 7 you must use sqlsrv drivers. If you were previously using mssql drivers then you will need to reconfigure for the use of sqlsrv drivers. 

Totara is able to connect to SQL server without a username/password by using integrated Windows authentication. You will need to configure the application pool identity of your website if this is necessary for your system environment.

For more information, please refer to the following articles by Microsoft: