Een omgeving kiezen
Informatie over de ondersteunde omgeving kan altijd gevonden worden in code in het readme.md-bestand. Het is ook te vinden in de documentatie over systeemserververeisten.
We raden ten zeerste aan dat alle productiesites waar mogelijk onze aanbevolen omgevingen volgen.
Productiesites moeten vanaf nul worden geïnstalleerd in plaats van te worden gekloond vanuit een databaseback-up van een andere site.
Bereid je omgeving voor
Besturingssysteem
Als je van plan bent Totara in meerdere talen te gebruiken, moet je ervoor zorgen dat de server correct is geconfigureerd met de juiste plaatsen. Dit is belangrijk om ervoor te zorgen dat datums, cijfers en valutagegevens correct worden weergegeven voor de geselecteerde taal van de gebruiker. Zie de documentatie voor ontwikkelaars voor meer informatie over serverlocaties.
Zorg ervoor dat je server goed beveiligd is voor een productieomgeving. Raadpleeg de provider van je besturingssysteem voor informatie over hoe je dit het beste kunt bereiken.
Databank
Totara ondersteunt een aantal verschillende databases. Het selecteren van een databank is een essentiële stap bij het opzetten van je Totara-installatie. We kunnen je niet vertellen welke je moet kiezen, noch welke beter is dan de rest. Hoe je je databank wil gebruiken en schalen, en je kennis ervan zal een grotere impact hebben dan de meeste andere factoren.
Als je niet zeker weet welke je moet kiezen, raden we PostgreSQL aan, omdat het standaard goede prestaties levert zonder dat tuning nodig is.
MySQL
Als je MySQL wilt gebruiken, raden we je aan om MySQL 8 of hoger te gebruiken, vanwege de verbeterde ondersteuning voor meertalige inhoud in Totara.
We raden je ten zeerste aan om een hoofdlettergevoelige, accentgevoelige collatie te gebruiken (die MySQL 5.7 niet ondersteunt). We raden ook een 4-byte-compatibele tekenset (utf8mb4) aan om volledige ondersteuning te garanderen voor tekens zoals emoji's.
MySQL moet het Barracuda-bestandsformaat gebruiken. Om je databank aan te maken:
CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;Voor de veiligheid raden we je aan om een speciale databasegebruiker te gebruiken die alleen toegang heeft tot de Totara-database.
MariaDB
Er is geen hoofdlettergevoelige, accentgevoelige collatie beschikbaar voor MariaDB. Als dit waarschijnlijk een probleem voor je is, raden we je aan om MySQL 8 of hoger te overwegen.
MySQL moet het Barracuda-bestandsformaat gebruiken. Om je databank aan te maken:
CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;Voor de veiligheid raden we je aan om een speciale databasegebruiker te gebruiken die alleen toegang heeft tot de Totara-database.
PostgreSQL
Om je databank aan te maken:
createdb -E utf8 {dbname}Voor de veiligheid raden we je aan om een speciale databasegebruiker te gebruiken die alleen toegang heeft tot de Totara-database.
Als je PostgreSQL 14.0 of 14.1 gebruikt, moet de enable_memoize-instelling uitgeschakeld zijn.
MSSQL
Als je Totara installeert als sysadmin, dan moet je databasegebruiker het recht hebben om de serverinstellingen te wijzigen:
ALTER SETTINGS(SERVER)Zoeken in volledige tekst moet ingeschakeld zijn; zie Zoeken in volledige tekst in MSSQL Server [LINK].
Om veiligheidsredenen raden we je aan om een speciale databasegebruiker te gebruiken die alleen toegang heeft tot de Totara-database. Je kunt Moodle ook installeren als een niet-sysadmin gebruiker met de volgende SQL:
-- First create a new user, change username and password to match your requirements
CREATE LOGIN testuser
WITH PASSWORD = 'TestUser1';
GO
-- Now make sure this user can install the site, ALTER SETTINGS permissions is needed for this
USE master;
GRANT ALTER SETTINGS TO testuser;
-- For the database (substitute with the database name of your choice)
-- create a login for the user and make sure he has the permissions needed
USE totara_13;
CREATE USER testuser FOR LOGIN testuser;
-- Make sure the user can create tables, read and write data
ALTER ROLE db_ddladmin ADD MEMBER testuser;
ALTER ROLE db_datareader ADD MEMBER testuser;
ALTER ROLE db_datawriter ADD MEMBER testuser;
-- Create a custom role
CREATE ROLE db_totara;
-- This is needed to view any definition created by Totara
GRANT VIEW DEFINITION TO db_totara;
ALTER ROLE db_totara ADD MEMBER testuser;
GONadat Totara is geïnstalleerd, zorgt de volgende SQL ervoor dat Totara volledig kan worden gebruikt zonder sysadmin-rechten:
-- Take away the ALTER SETTINGS permission, it's not needed anymore
USE master;
REVOKE ALTER SETTINGS TO testuser;
USE totara_13;
-- Make sure the user role has access to Totara's custom stored procedures
GRANT EXECUTE ON dbo.GROUP_CONCAT_D TO db_totara;
GRANT EXECUTE ON dbo.GROUP_CONCAT_S TO db_totara;
GRANT EXECUTE ON dbo.GROUP_CONCAT_DS TO db_totara;
GRANT EXECUTE ON dbo.GROUP_CONCAT TO db_totara;
GOWebserver
Totara is een webtoepassing en vertrouwt op een webserver om te werken. Totara wordt officieel ondersteund wanneer het wordt uitgevoerd via Apache, IIS en Nginx.
Totara broncode bevat een servermap. De webserver moet geconfigureerd worden om alleen deze map en de onderliggende server van deze server te bedienen.
De structuur van de codebasis is gewijzigd tussen Totara 12 en Totara 13. Het is belangrijk dat je webserver alleen de servermap gebruikt. Het is een beveiligingsprobleem als je webserver is geconfigureerd om de broncodemap op het hoogste niveau te bedienen, omdat die meer informatie blootlegt dan bedoeld.
Bij het configureren van de webserver raden we je aan om deze te verharden volgens de best practices voor de door jou gekozen webserver. Volgende punten kunnen dienen als een gids voor Totara best practice voor productiesites:
Mappenlijst uitschakelen
Schakel het serveren van de volgende mappen uit:
/server/**/testen/
/server/**/amd/
/server/**/templates/
/server/**/classes/
Schakel serveren van de volgende bestandstypen uit:
/server/*/.txt (toegang zou alleen mogen toegestaan zijn om checknet.txt)
/server/*/.md
/server/*/.xml
Alle bestanden beginnen met "."
Schakel het serveren van de volgende bestanden uit:
/server/package.json
/server/package-lock.json
Zorg ervoor dat fouten naar een bekende logbestandslocatie geschreven worden. Als je problemen ondervindt en hulp zoekt, zullen ze je vaak vragen om de foutenlogboeken van de webserver te controleren.
Als je Apache + mod_php, CGI of PHP-FPM gebruikt en van plan bent om de Totara Mobile-app te gebruiken, dan moet je de volgende richtlijn toevoegen aan je VirtualHost-onderdeel voor de site om Apache de authenticatieheaders die vereist zijn door de mobiele app correct te laten passeren:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1Als je Apache + mod_php, CGI of PHP-FPM gebruikt, raden we je aan om de volgende richtlijnen toe te voegen aan je Apache VirtualHost-onderdeel om ervoor te zorgen dat deze headers behouden blijven:
SetEnvIf Content-Type "(.*)" HTTP_CONTENT_TYPE=$1
SetEnvIf Accept "(.*)" HTTP_ACCEPT=$1Informatie over de vereiste PHP-omgeving kan gevonden worden op de server systeem vereisten pagina.
Gegevensmap
Totara vereist toegang tot een datamap waarin gebruikersdata, cachebestanden, tijdelijke bestanden, enz. bewaard moeten worden. Deze map moet leesbaar en beschrijfbaar zijn voor de webservergebruiker.
In een horizontaal geschaalde omgeving moeten alle webservers toegang hebben tot de datamap. Het moet door hen gedeeld worden.
Moodle installeren
De code ophalen
De Totara-code is alleen beschikbaar voor Totara Alliance Partners. We geven toegang tot de broncode via een GIT versiebeheer opslagruimte.
Om toegang te krijgen tot de code, moet je je ssh public key aan onze git-server hebben toegevoegd. Voor eventuele hulp hierbij kun je een ticket indienen bij de helpdesk.
Voor de hoofd Totara-code:
git clone ssh://git@code.totaralms.com/totara-txp.gitVoor de Totara Mobile app-code:
git clone ssh://git@code.totaralms.com/totara-mobile.gitBouw Moodle via een tussenliggende omgeving
Van Totara 13 tot 19 werden veel bibliotheken van derden gedistribueerd via de bibliotheken/vereiste map. Vanaf Totara 20 is deze map niet langer automatisch inbegrepen. In plaats daarvan moeten bibliotheken van derden worden geïnstalleerd vóór de installatie/upgrade van de site met composer.
Als je de zip-distributie van Totara gebruikt, zijn deze stappen niet nodig. De distributie wordt geleverd met de PHP-bibliotheken.
We raden aan om de Totara-broncode op een aparte server te bouwen en de artefacten over te brengen naar je productieomgeving.
Wat je vooraf had moeten configureren
PHP CLI geïnstalleerd voor de versie waarop je de site zult laten lopen
Composer geïnstalleerd en beschikbaar Introductie - Composer
git als je aan het klonen bent via onze distributie opslagruimten https://git-scm.com/
De mogelijkheid om bestanden te zippen en te unzippen via het zip-hulpprogramma (of een andere methode om de gegenereerde bestanden te verzenden) (optioneel)
Waarom is dit nodig? Het wordt afgeraden om git of composer in een productieomgeving te laten lopen. De veiligste manier om Totara te bouwen is om de build-commando's op één server uit te voeren en de gegenereerde output mee te nemen en naar je productieomgeving te verzenden om de laatste installatie-/upgradescripts uit te voeren.
Voor meer informatie over Totara en Composer, zie de bibliotheken van derden met Composer-pagina.
Bouwen
Bevestig dat je PHP-versie overeenkomt met een versie die staat vermeld in het readme.md-bestand
php --versionBevestig dat je PHP gebruikt, niet als root-gebruiker.
Zorg ervoor dat je in de root-map bent, dezelfde map waarin
README.mdengitignorestaan, niet de servermap.Bouwen van PHP-bibliotheken (vereist). Dit is een vereiste stap:
Voer de installatiecommando van de composer uit (afhankelijk van hoe je het hebt geïnstalleerd).
# If composer is available globally composer install --no-dev -o # If you've installed composer locally php composer.phar install --no-dev -oBevestig dat de leverancier/map is gemaakt.
Voeg eventuele aanpassingen toe. Als je extra plugins installeert, raden we je aan om hun bron nu toe te voegen.
Tot slot zou je een kopie van Totara moeten hebben die klaar is voor distributie. Je kunt het zippen of opnieuw synchroniseren of een andere methode gebruiken om het naar je productieserver te distribueren.
Vanaf je productieserver kun je de gewone installatie- of upgradecommando's uitvoeren, zoals hieronder aangegeven.
CLI-installatie
We raden ten zeerste aan om de installatie en upgrade te voltooien via de command line interface.
Deze opdracht moet worden uitgevoerd als de webgebruiker (in dit geval www-data):
sudo -u www-data php server/admin/cli/install_database.php --agree-license --adminpass=mypassword123Er zijn een aantal andere optionele argumenten die kunnen worden verstrekt om de installatie na de installatie te minimaliseren:
--lang=CODE Installation and default site language. Default is en.
--adminuser=USERNAME Username for the admin account. Default is admin.
--adminemail=STRING Email address for the totara admin account.
--fullname=STRING Name of the site
--shortname=STRING Name of the siteZodra de CLI-installatie is voltooid, kun je naar de startpagina van de site gaan en inloggen met de beheerdersgegevens voor verdere installatie.
Webinstallatie
Webinstallatie kan worden uitgevoerd door te navigeren naar de wwwroot die is ingesteld in het config.php-bestand en de instructies op het scherm te volgen.
Essentiële configuratie
Hieronder staat een voorbeeld van een minimaal config.php-bestand dat aanwezig moet zijn in de map op het hoogste niveau. Er is veel optionele configuratie die kan worden toegevoegd - zie het bestand config.example.php in de map op het hoogste niveau.
<?php
$CFG = new stdClass();
$CFG->wwwroot = 'http://mytotara.com';
$CFG->dirroot = '/var/www/totara/htdocs/server';
$CFG->dataroot = '/var/sitedata/totara';
$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode
$CFG->dbhost = 'localhost';
$CFG->dbtype = 'pgsql';
$CFG->dbuser = 'dbuser';
$CFG->dbpass = 'dbpass';
$CFG->dbname = 'totaradb';
$CFG->prefix = 'ttr_';
$CFG->forceflavour = 'learn_engage';De volgende opties zijn beschikbaar voor de Forceflavour config, afhankelijk van welke combinatie van producten de site zal gebruiken:
leren
inschakelen
uitvoeren
learn_perform
learn_engage
perform_engage
learn_perform_engage
Als je de smaken wil gebruiken, dan kun je hier meer informatie over vinden in de documentatie voor ontwikkelaars.
Geplande taken
Het Totara 'cron'-proces is een PHP-script (onderdeel van de standaard Totara-installatie) dat regelmatig op de achtergrond moet worden uitgevoerd. Het wordt sterk aanbevolen om de frequentie van cron in te stellen op minstens één keer per minuut. Het Totara cron-script voert verschillende taken uit met verschillend geplande intervallen, die kunnen worden geconfigureerd door een systeembeheerder.
Sla het instellen van het cron-proces op je server voor je Totara niet over. Je site zal niet goed werken zonder deze site.
Ga voor meer informatie over de geplande taken en hoe je dit kunt instellen naar de pagina Geplande taken
Volgende stappen
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.