The Server section of the site administration settings allows Site Administrators to configure various elements of the site's setup. This can help fine-tune the system and ensure you are getting the best performance out of your site.
Use the navigation menu to the right of this page to jump to a particular settings area.
The system paths page includes the following options.
GD is a graphics library that manipulates graphics. It’s used to create thumbnail images from uploaded files and other graphics on the fly. If you don’t know what version is installed, leave this on the original setting.
|Path to zip and unzip|
If you are running Totara on a Unix or Unix-like server (Linux, Solaris, BSD, Mac OS X), you may need to specify where the zip program is located. Zip and unzip are used to compress and decompress ZIP archives such as the backup folder.
|Path to aspell||To use spell checking within the HTML editor, you must have aspell 0.50 or later (http://aspell.net/) installed on your server, and you must specify the correct path to access the aspell binary.||-|
PDF production and wkhtmltopdf
There are several areas in Totara that produce PDF documents, including exporting report builder reports and exporting appraisals. By default Totara uses an internal library DOMPDF to produce these PDF documents. DOMPDF is known to perform poorly with large documents, problems which unfortunately can not be avoided in PHP.
Totara however ships with the ability to use wkhtmltopdf an external library that can be installed on the server and then utilised to produce these PDF documents. This format (wkhtmltopdf) is known to perform better and produce a more consistent result.
To configure wkhtmltopdf:
Install the full version of wkhtmltopdf.
Some Linux distributions include wkhtmltopdf in their repositories. If you intend on using a repository version please check that it is a full version. We are aware of some Ubuntu distributions that include only a simple version of wkhtmltopdf and Totara requires the full version.
- Add the following to your config.php (if it is not already defined), this allows you to use executables such as wkhtmltopdf.
$CFG->preventexecpath = 0;
Log in as a system admin and browse to Site administration > Server > System path.
- Set Path to wkhtmltopdf to the correct system path for wkhtmltopdf.
A Site Administrator can specify a support name, email, support page, organisation name, tech support email, and tech support phone number from the Administration block in Site administration > Server > Support contact for including in the account confirmation email.
When a user changes the email address in their profile a confirmation email is sent from the primary administrator of the site, rather than from the support email.
The session handling page includes the following options.
|Use database for session information|
If enabled, this setting will use the database to store information about current sessions. If you change this setting it will log out all current users (including you). If you are using MySQL please make sure that max_allowed_packet in my.cnf (or my.ini) is at least 4M. Other session drivers can be configured directly in config.php.
Once someone logs in to your Totara server, the server starts a session. The session data allows the server to track users as they access different pages. If users don’t load a new page during the amount of time set here, Totara will end their sessions and log them out. Be sure this time frame is long enough to cover the longest test your trainers may offer. If learners are logged out while they are taking a test, their responses to the test questions may be lost.
|Cookie prefix||Most of the time, you can leave this blank, unless you are running more than one Totara site on the same server. In this case, you will want to customise the name of the cookie each Totara site uses to track the session. This enables you to be logged in to more than one Totara site at the same time.||If you change the cookie prefix you will need to log in again, as the change takes effect immediately.|
If you need to change where browsers send the Totara cookies, you can change this setting to specify a subdirectory of your web site. Otherwise leaves this as the default.
|Cookie domain||This allows you to change the domain that the Totara cookies are available from. This is useful for Totara customisations (e.g. authentication or enrolment plugins) that need to share Totara session information with a web application on another subdomain.||It is strongly recommended to leave the Cookie domain setting at the default (empty) as an incorrect value will prevent all logins to the site.|
If you enable site statistics, Totara Learn will gather information on the number of hits there have been on each course as well as the site as a whole. Statistics do not show how many distinct users they have been. This data will be displayed in both table and graph format by date.
A Site Administrator can enable statistics via the Administration block under Site Administrations > Server > Statistics.
|Maximum processing interval|
Use the dropdown menu to select how far back the logs should be processed the first time the cron-job wants to process statistics. If you have a lot of traffic and are on shared hosting, it's probably not a good idea to go too far back, as it could take a long time to run and be quite resource intensive. (Note that for this setting, 1 month = 28 days. In the graphs and reports generated, 1 month = 1 calendar month.)
Specifies the maximum time allowed to calculate the statistics for one day, bearing in mind that statistics processing can put a big load on the server. The maximum number of days processed in one cron can be specified below.
|Day to process||Specifies the maximum number of days processed in each statistics execution. Once the statistics are up-to-date, only one day will be processed, so adjust this value depending of your server load, reducing it if shorter cron executions are needed.||Set the stats processing to start an hour before your automated course backups are scheduled to start, then set the maximum run- time to one hour. This ensures that stats are not being processed at the same time as course backups are being made.|
|User threshold||This setting specifies the minimum number of enrolled users for a course to be included in statistics calculations.||-|
A Site Administrator can change the HTTP settings via the Administration block within Site administration > Server > HTTP. Click Save changes to save any setting changes before leaving the page.
|Use slash arguments||This setting should always be enabled. Slash arguments (using PATH_INFO) is required for SCORM packages and multiple-file resources to display correctly. If your web server doesn't support slash arguments and you are unable to configure it, this setting can be temporarily disabled, though it will result in things not working.||Disabling the use of slash arguments will result in SCORM packages not working and slash arguments warnings being displayed.|
|Logged IP address source||If your server is behind a reverse proxy, you can use this setting to specify which HTTP headers can be trusted to contain the remote IP address. The headers are read in order, using the first one that is available.||-|
Your Totara Learn server may need to access the Internet through a proxy server, depending on your network configuration. If you're not sure about whether you need a proxy server, contact your network administrator.
Fill in the below fields if your Totara Learn server can not access internet directly. Internet access is required for download of environment data, language packs, RSS feeds, timezones, etc.
PHP cURL extension is required.
If this server needs to use a proxy computer (e.g. a firewall) to access the Internet, then provide the proxy hostname here. Otherwise leave it blank.
If this server needs to use a proxy computer, then provide the proxy port here.
Type of web proxy (PHP5 is required for SOCKS5 support).
Username needed to access internet through proxy if required, empty if none.
Password needed to access internet through proxy if required, empty if none.
|Proxy bypass hosts|
Comma separated list of (partial) hostnames or IPs that should bypass proxy (e.g., 192.168., .mydomain.com)
Maintenance mode is for preventing any users other than Site Administrators from using the site while maintenance is taking place.
When users attempt to access a course while your site is in maintenance mode, they receive a message informing them that the site is in maintenance mode. If you wish, you can create a customised maintenance mode message, perhaps stating when the site will be available again or giving the reason for doing maintenance.
The front page of your site will appear as normal when your site is in maintenance mode. Users will only see the maintenance mode message when they attempt to access a course.
To put your site in maintenance mode:
- Click Site administration > Server > Maintenance mode in the Administration block.
- Click the Enable from the dropdown menu.
An alternative way of putting your site in maintenance mode if you’re unable to access the web interface is to create a file called maintenance.html and save it in the folder called 1 in your totaradata folder. A customised maintenance mode message can be entered in the maintenance.html file.
The size of specific tables in database can be controlled by setting appropriate limits from the Administration block in Site administration > Server > Cleanup.
The cleanup page contains the following options.
|Delete not fully setup users after|
If you are using email authentication, this is the period within which a response will be accepted from users. After this period, old unconfirmed accounts are deleted.
|Delete incomplete users after|
After this period, old not fully setup accounts are deleted.
|Disable grade history|
Disable history tracking of changes in grades related tables. This may speed up the server a little and conserve space in database.
|Grade history lifetime|
This specifies the length of time you want to keep history of changes in grade related tables. It is recommended to keep it as long as possible. If you experience performance problems or have limited database space, try to set lower value.
|Clean up temporary data files older than|
Remove temporary data files from the data folder that are older than the selected time.
The environment page enables you to check that your server meets all system requirements for your current and future versions of Totara Learn.
Check that the status is displaying as OK () for all of the server requirements.
Totara Learn uses the Unicode character encryption system. The UTF-8 encoding form is used to support multiple languages, as well as special characters used in science and mathematics. You can read more about Unicode on the Unicode consortium's website.
The PHP info page provides information on the version of PHP your server is running, including PHP compilation options and extensions, server information, and the PHP environment and OS version information.
Incoming mail configuration
You can configure outgoing mail settings in this section. It is worth noting that the SMTP server hosting the mailbox you've configured above must support plus addressing i.e. any email sent to [email protected] is still delivered to [email protected].
You may also need to make sure that your host does not block outbound connections to the IMAP ports (some do by default).
If using gmail, you may find that IMAP does not work with Google's higher security setting. If IMAP is not working with gmail, check out https://support.google.com/accounts/answer/6010255?hl=en-GB.
|Enable incoming mail processing||Incoming mail processing must be enabled in order for messages to be sent with the appropriate information.||-|
It is important to have a dedicated email address here. Don't use one you normally use for your personal emails. You do not need to add the @ sign.
Incoming mail server settings
As an example, if you are using gmail you would use IMAP.gmail.com in the Incoming mail server (messageinbound_host) field. (If using gmail you also need to make sure that you've enabled IMAP for your gmail account. See https://support.google.com/mail/troubleshooter/1668960?hl=en ).
|Incoming mail server|
The address of the server that Totara should check mail against. To specify a non-default port, you can use the [server]:[port], for example mail.example.com:587 format. If you leave this field blank, Totara will use the default port for the type of mail server you specify.
This is an extra level of security. Select the version of SSL that your server uses.
The username here must relate to the settings you entered earlier in Mailbox configuration. So if your address was [email protected] and your username is 'partner', then enter your username in this section to get into this email account.
The password here must relate to the settings you entered earlier in Mailbox configuration. So if your address was [email protected], enter the password you use to get into this email account.
Accessed from Site administration > Server > Incoming mail configuration > Message handlers, this page allows you to turn on or off the following settings. Note that you must first have completed the fields in Site administration > Server > Incoming mail configuration > Mail settings.
Invalid recipient handler
If a valid message is received but the sender cannot be authenticated, the message is stored on the email server and the user is contacted using the email address in their user profile. The user is given the chance to reply to confirm the authenticity of the original message. This handler processes those replies.
It is not possible to disable sender verification of this handler because the user may reply from an incorrect email address if their email client configuration is incorrect.
Email to private files
If you enable this, then users will be able to send attachments via email directly to their private files.
Each user will be provided with an address in their private files to which they send the email and attached files. You can set the default expiry period for this address here.
Checking the Validate sender address box will mean that if an email is sent to a user's private files from a different account from that registered with user in Totara, then Totara will check first before allowing the file to be stored in the user's Private files.
Reply to forum posts
If you enable this, then users will be able to reply to forum posts directly from their email inbox. See the section on 'Reply to posts via email' on the Forum Help page for details of how the feature works.
You must set Site administration > Plugins > Message outputs > Email to Always send email from the No reply address; otherwise users will see the email of the forum poster instead.
Each user will be provided with reply-to address when they click to reply to a forum post via email. You can set the default expiry period for this address here.
The Totara cron process is a PHP script (part of the standard Totara installation) that must be run regularly in the background. The Totara cron script runs different tasks at differently scheduled intervals.
Do not skip setting up the cron process on your server for your Totara. Your site will not work properly without it.
A special program is used to run the Totara cron script at a regular interval. The Totara cron script runs tasks include sending mail, updating Totara reports, RSS feeds, activity completions, posting forum messages, and other tasks. Since different tasks have different schedules, not every task will run in Totara when the cron script is triggered.
The cron program (that runs the Totara script) is a core part of Unix based systems (including Linux and OSX) being used to run all manner of time-dependent services. On Windows the simplest solution is to create a task in the Windows Task Scheduler and set it to run at regular intervals. On shared hosting, you should find the documentation (or ask support) how cron is configured.
Essentially, the task involves adding a single command to the list of cron activities on your system. On Unix based systems this list is a file called a crontab which all users have.
The Totara cron command
Totara has two different ways to deploy cron which uses different scripts within the Totara install. These are as follows:
- The CLI (command line interpreter) script: This will be at the path /path/to/Totara/admin/cli/cron.php. If in doubt, this is the correct script to use. This needs to be run by a PHP CLI program on your computer. So the final command may look something like /usr/bin/php /path/to/Totara/admin/cli/cron.php. You can (and should) try this on your command line to see if it works.
- The web based script: This needs to be run from a web browser and will be accessed via a web URL something like http://your.totara.site/admin/cron.php. You can find command line based web browser (e.g. wget) so the final command may look like /usr/bin/wget http://your.totara.site/admin/cron.php. This has the advantage that it can be run from anywhere. If you can't get cron to work on your machine it can be run somewhere else.
Finding the right place to put the command
This really does depend on the system you are using and you should find and read the documentation for your platform or hosting. In most cases getting the Totara cron to run consists of establishing the correct command (above) and then adding it, and the time to run the command, to some sort of file. This might be either through a specific user interface or by editing the file directly.
If using the CLI version you also need to make sure that the cron process is run as the correct user. This is not an issue with the web version.
Example: Installing cron on Ubuntu/Debian Linux. Assuming logged in as root:
Use the crontab command to open a crontab editor window for the www-data user. This is the user that Apache (the web server) runs as on Debian based systems.
$ crontab -u www-data -e
This will open an editor window. To run the cli cron script every 15 minutes, add the line:
*/15 * * * * /usr/bin/php /path/to/Totara/admin/cli/cron.php >/dev/null
Note that the final ">/dev/null" sends all the output to the 'bin' and stops you getting an email every 15 minutes.
The Performance page (under Site administration > Server > Performance) contains a variety of settings that can be used to optimise the performance of your site.
|Extra PHP memory limit|
Some scripts like search, backup/restore, or cron require more memory, therefore, it is recommended to set higher values for large sites.
|Maximum time limit|
This setting is used to restrict the maximum PHP execution time that Totara will allow without any output. To use the default restrictions enter 0. If you have a front-end server with its own time limit, set this value lower to receive PHP errors in logs. Does not apply to CLI scripts.
|cURL cache TTL|
Time-to-live for cURL cache, in seconds.
|Bitrate to use when calculating cURL timeouts (Kbps)|
This setting is used to calculate an appropriate timeout during large cURL requests. As part of this calculation, an HTTP HEAD request is made to determine the size of the content. Setting this to 0 disables this request from being made.
|Cache main menu||Higher values improve performance but some changes in menu structure may be delayed.||-|