- 10 Apr 2024
- 4 minutes to read
Server system requirements
- Updated on 10 Apr 2024
- 4 minutes to read
Server hardware
The following hardware specification illustrates an example of a system hosting a site with approximately 10,000 users (approx. 500 concurrent):
- Processor: 2x Quad Core Xeon
- Memory: 16GB
- Storage: SATA storage as required by your needs. Totara requires minimal storage for itself.
- Connectivity: 100MBit Full-Duplex Dedicated Switch Port Connection
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
Minimum supported environment vs recommended hosting environment
Each major Totara release stipulates minimum supported environments. This information can be found directly within the readme.md file distributed with the source code, or in the table below.
The minimum supported version indicates the minimum version of the software that Totara is designed to run, that is tested by us, and that we support. The versions given for a major Totara release are never changed except in exceptional circumstances (such as if a future release of the required software introduces a backwards-incompatible issue that is otherwise impossible for us to work around).
All maintained and supported software improves over time. While the minimum supported environment does not change, it is strongly recommended that required software is regularly and routinely upgraded as newer versions are made available. This will ensure that your web server is patched and secure.
Minimum and recommended environments
The following are the minimum and recommended supported environments:
OS | We recommend using a Linux-based operating system for hosting of web servers.
|
Web server |
|
PHP |
Required modules: curl, ctype, dom, gd, iconv, intl, json, mbstring, pcre, simplexml, spl, xml, zip, zlib Recommended extensions: openssl, tokenizer, xmlrpc, soap, opcache, exif. For PHP 8.0 onwards, opcache.jit_buffer_size must be 0 or not set. See Totara PHP support for information on supported PHP versions for different versions of Totara. |
Database |
|
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:
- memory_limit: Required minimum is 512MB, however on large installations or where working with large datasets this may need to be increased.
- post_max_size: Ensure that this is larger than the largest file that you expect your users to upload.
- upload_max_filesize: This setting in conjunction with post_max_size will determine how high you can set the maximum upload size within Totara.
- max_input_vars: This setting will need to be increased to a minimum of 10000 if you would like to customise any of the Totara language packs.
- upload_tmp_dir: Some customers may wish to enable this setting and specifically set a directory where files are temporarily stored during the upload process.
- opcache.enable: If the opcache extension is installed then enabling opcache is recommended for performance reasons. This is enabled by default in modern versions of PHP.
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
- Case-sensitive collation: It is recommended you use case-sensitive collation such as Latin1_General_CS_AS
- Enable ANSI NULLS: To ensure null values are treated correctly you should ensure that ANSI_NULL is enabled
- Enable Quoted Identifiers: It is recommended that quoted identifiers (also known as delimited identifies) are turned on
- Enabled Read Committed transaction: It is advised you set this to READ_COMMITTED_SNAPSHOT to protect your transactions
- Full-Text Search: This setting is on by default in MSSQL, so it should already be enabled unless you explicitly turned it off previously
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:
Caching
By default Totara will use the site data directory as an application cache. While this works perfectly fine, there are dedicated caching solutions that will deliver better performance. We recommend that production sites employ one or more dedicated caching solutions such as Memcached or Redis, both of which are supported by Totara.
© Copyright 2024 Totara Learning Solutions. All rights reserved.