Auswahl einer Umgebung
Informationen zur unterstützten Umgebung finden Sie immer im Code in der Datei readme.md. Sie finden sie auch in der Dokumentation der Systemserveranforderungen.
Wir empfehlen dringend, dass alle Produktionsstandorte nach Möglichkeit unsere empfohlenen Umgebungen befolgen.
Produktionsstandorte sollten von Grund auf neu installiert werden, anstatt aus einer Datenbanksicherung einer anderen Website geklont zu werden.
Vorbereitung Ihrer Umgebung
Arbeitsweise
Wenn Sie Totara in mehreren Benutzersprachen verwenden möchten, sollten Sie sicherstellen, dass der Server ordnungsgemäß mit den richtigen Gebietsschemata konfiguriert wurde. Dies ist wichtig, um sicherzustellen, dass Daten, Zahlen und Währungsdaten für die ausgewählte Sprache des Nutzers korrekt angezeigt werden. Weitere Informationen zu Serverstandorten finden Sie in der Entwicklerdokumentation.
Stellen Sie sicher, dass Ihr Server ordnungsgemäß für eine Produktionsumgebung gesichert ist. Wenden Sie sich an den Anbieter Ihres Betriebssystems, um zu erfahren, wie Sie dies am besten erreichen können.
Datenbank
Totara unterstützt eine Reihe verschiedener Datenbanken. Die Auswahl einer Datenbank ist ein äußerst wichtiger Schritt bei der Einrichtung Ihrer Totara-Installation. Wir können Ihnen nicht sagen, welche Wahl Sie treffen sollen oder welche besser ist als die anderen. Wie Sie Ihre Datenbank nutzen und skalieren möchten und wie Ihr Wissen darüber eine größere Wirkung haben wird als die meisten anderen Faktoren.
Wenn Sie sich nicht sicher sind, welche Wahl Sie treffen sollten, empfehlen wir PostgreSQL, da es sofort eine gute Leistung bietet, ohne dass eine Abstimmung erforderlich ist.
MySQL
Wenn Sie MySQL verwenden möchten, empfehlen wir Ihnen, MySQL 8 oder höher zu verwenden, da mehrsprachige Inhalte in Totara besser unterstützt werden.
Wir empfehlen Ihnen dringend, eine Kombination zwischen Groß- und Kleinschreibung und Akzent zu verwenden (die MySQL 5.7 nicht unterstützt). Wir empfehlen außerdem einen 4-Byte-kompatiblen Zeichensatz (utf8mb4), um die volle Unterstützung für Zeichen wie Emojis zu gewährleisten.
MySQL muss das Barracuda-Dateiformat verwenden. So erstellen Sie Ihre Datenbank:
CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;Aus Sicherheitsgründen empfehlen wir Ihnen, einen dedizierten Datenbankbenutzer zu verwenden, der nur Zugriff auf die Totara-Datenbank hat.
MariaDB
Für MariaDB ist keine Sammlung mit Groß- und Kleinschreibung sowie mit Akzent verfügbar. Wenn dies wahrscheinlich ein Problem für Sie ist, empfehlen wir Ihnen, stattdessen MySQL 8 oder höher in Betracht zu ziehen.
MySQL muss das Barracuda-Dateiformat verwenden. So erstellen Sie Ihre Datenbank:
CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;Aus Sicherheitsgründen empfehlen wir Ihnen, einen dedizierten Datenbankbenutzer zu verwenden, der nur Zugriff auf die Totara-Datenbank hat.
PostgreSQL
So erstellen Sie Ihre Datenbank:
createdb -E utf8 {dbname}Aus Sicherheitsgründen empfehlen wir Ihnen, einen dedizierten Datenbankbenutzer zu verwenden, der nur Zugriff auf die Totara-Datenbank hat.
Wenn Sie PostgreSQL 14.0 oder 14.1 ausführen, muss die Einstellung enable_memoize deaktiviert sein.
MSSQL
Wenn Sie Totara als sysadmin installieren, muss Ihr Datenbankbenutzer die Berechtigung haben, die Servereinstellungen zu ändern:
ALTER SETTINGS(SERVER)Die Volltextsuche muss aktiviert sein; siehe Volltextsuche in MSSQL Server [LINK].
Aus Sicherheitsgründen empfehlen wir Ihnen, einen dedizierten Datenbankbenutzer zu verwenden, der nur Zugriff auf die Totara-Datenbank hat. Alternativ können Sie Totara auch als Nicht-Sysadmin-Benutzer mit der folgenden SQL-Anweisung installieren:
-- 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;
GONach der Installation von Totara stellt die folgende SQL-Anweisung sicher, dass Totara vollständig ohne sysadmin-Privilegien verwendbar ist:
-- 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 ist eine webbasierte Anwendung, die auf einen Webserver angewiesen ist. Totara wird offiziell unterstützt, wenn es über Apache, IIS und Nginx ausgeführt wird.
Der Totara Quellcode enthält ein Serververzeichnis. Der Webserver muss so konfiguriert sein, dass er nur dieses Verzeichnis und seine untergeordneten Verzeichnisse bedient.
Die Struktur der Codebasis wurde zwischen Totara 12 und Totara 13 geändert. Es ist wichtig, dass Ihr Webserver nur das Serververzeichnis bedient. Es ist ein Sicherheitsproblem, wenn Ihr Webserver so konfiguriert ist, dass er dem Quellcodeverzeichnis der obersten Ebene dient, da dadurch mehr Informationen als beabsichtigt offengelegt werden.
Bei der Konfiguration des Webservers empfehlen wir Ihnen, ihn gemäß den Best Practices für den von Ihnen gewählten Webserver zu härten. Die folgenden Punkte können als Leitfaden für Totara Best Practices für Produktionsstandorte dienen:
Verzeichnislisten deaktivieren
Zustellung der folgenden Verzeichnisse deaktivieren:
/server/**/tests/
/server/**/amd/
/server/**/templates/
/server/**/classes/
Die Bereitstellung der folgenden Dateitypen deaktivieren:
/server/*/.txt (Zugriff sollte nur auf checknet.txt erlaubt sein)
/server/*/.md
/server/*/.xml
Alle Dateien beginnen mit "."
Die Bereitstellung der folgenden Dateien deaktivieren:
/server/package.json
/server/package-lock.json
Stellen Sie sicher, dass Fehler an einen bekannten Speicherort der Protokolldatei geschrieben werden. Wenn Sie Probleme haben und Unterstützung suchen, werden Sie oft gebeten, die Fehlerprotokolle des Webservers zu überprüfen.
Wenn Sie Apache + mod_php, CGI oder PHP-FPM verwenden und die Totara Mobile App verwenden möchten, müssen Sie zusätzlich die folgende Richtlinie zu Ihrem VirtualHost-Eintrag für die Website hinzufügen, damit Apache die Authentifizierungskopfzeilen, die für die mobile App erforderlich sind, korrekt weitergeben kann:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1Wenn Sie Apache + mod_php, CGI oder PHP-FPM verwenden, empfehlen wir Ihnen, Ihrem Apache VirtualHost-Eintrag die folgenden Richtlinien hinzuzufügen, um sicherzustellen, dass diese Header erhalten bleiben:
SetEnvIf Content-Type "(.*)" HTTP_CONTENT_TYPE=$1
SetEnvIf Accept "(.*)" HTTP_ACCEPT=$1Informationen zur erforderlichen PHP-Umgebung finden Sie auf der Seite Serversystemanforderungen.
Datenverzeichnis
Totara benötigt Zugriff auf ein Datenverzeichnis, in dem Nutzerdaten, Cache-Dateien, temporäre Dateien usw. gespeichert werden können. Dieses Verzeichnis muss für den Webserver-Benutzer lesbar und beschreibbar sein.
In einer horizontal skalierten Umgebung müssen alle Webserver Zugriff auf das Datenverzeichnis haben. Sie muss von ihnen geteilt werden.
Totara wird installiert
Code abrufen
Der Totara-Code ist nur für Partner von Totara Alliance verfügbar. Wir bieten Zugriff auf den Quellcode über ein GIT-Versionskontroll-Repository.
Um auf den Code zuzugreifen, müssen Sie Ihren öffentlichen Ssh-Schlüssel zu unserem Git-Server hinzufügen. Wenn Sie Hilfe benötigen, reichen Sie bitte ein Ticket beim Support-Desk ein.
Für den Totara-Hauptcode:
git clone ssh://git@code.totaralms.com/totara-txp.gitFür den Code der Totara Mobile App:
git clone ssh://git@code.totaralms.com/totara-mobile.gitAufbau von Totara über eine Zwischenumgebung
Von Totara 13 bis 19 wurden viele Bibliotheken von Drittanbietern über die Bibliotheken/das erforderliche Verzeichnis verteilt. Von Totara 20 wird dieses Verzeichnis nicht mehr automatisch einbezogen. Stattdessen müssen Bibliotheken von Drittanbietern vor der Installation/Aktualisierung der Website mit Composer installiert werden.
Wenn Sie die Zip-Verteilung von Totara verwenden, sind diese Schritte nicht erforderlich. Die Verteilung erfolgt mit den enthaltenen PHP-Bibliotheken.
Wir empfehlen, den Totara-Quellcode auf einem separaten Build-Server zu erstellen und die Artefakte in Ihre Produktionsumgebung zu übertragen.
Was Sie vorkonfiguriert haben sollten
PHP CLI installiert für die Version, die Sie als
Composer installiert und verfügbar Einführung – Composer
git, wenn Sie über unsere Vertriebs-Repositorys klonen https://git-scm.com/
Die Möglichkeit, Dateien über das Zip-Dienstprogramm (oder eine andere Methode zum Versenden der generierten Dateien) zu entpacken und zu entpacken (optional)
Warum ist dies notwendig? Das Ausführen von Git oder Composer in einer Produktionsumgebung wird nicht empfohlen. Der sicherste Weg, Totara zu erstellen, besteht darin, die Build-Befehle auf einem Server auszuführen und die generierte Ausgabe zu übernehmen und an Ihre Produktionsumgebungen zu senden, um die endgültigen Installations-/Upgrade-Skripte auszuführen.
Weitere Informationen zu Totara und Composer finden Sie auf der Seite Bibliotheken von Drittanbietern mit Composer.
Ausführung des Builds
Bestätigen Sie, dass Ihre PHP-Version mit einer in der Datei readme.md aufgeführten Version übereinstimmt
php --versionBestätigen Sie, dass Sie PHP nicht als Root-Nutzer ausführen.
Stellen Sie sicher, dass Sie sich im Stammordner befinden, im selben Verzeichnis, in dem
README.mdund .gitignoreexistieren, nicht im Serverordner.Erstellung von PHP-Bibliotheken (erforderlich). Dies ist ein erforderlicher Schritt:
Führen Sie den Installationsbefehl des Komponisten aus (je nachdem, wie Sie ihn installiert haben).
# If composer is available globally composer install --no-dev -o # If you've installed composer locally php composer.phar install --no-dev -oBestätigen Sie, dass der Anbieter/das Verzeichnis erstellt wurde.
Fügen Sie alle Anpassungen hinzu. Wenn Sie zusätzliche Plugins installieren, empfehlen wir Ihnen, deren Quelle jetzt hinzuzufügen.
Schließlich sollten Sie eine Kopie von Totara haben, die zur Verteilung bereit ist. Sie können es zippen oder neu synchronisieren oder eine andere Methode verwenden, um es auf Ihrem Produktionsserver zu verteilen.
Von Ihrem Produktionsserver aus können Sie dann die regulären Installations- oder Upgrade-Befehle wie unten angegeben ausführen.
CLI-Installation
Wir empfehlen dringend, die Installation und das Upgrade über die Befehlszeilenschnittstelle abzuschließen.
Dieser Befehl muss als Webnutzer ausgeführt werden (in diesem Fall www-data):
sudo -u www-data php server/admin/cli/install_database.php --agree-license --adminpass=mypassword123Es gibt eine Reihe weiterer optionaler Argumente, die bereitgestellt werden können, um die Einrichtung nach der Installation zu minimieren:
--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 siteSobald die CLI-Installation abgeschlossen ist, können Sie zur Website-Homepage gehen und sich mit den Admin-Anmeldedaten für die weitere Einrichtung anmelden.
Web-Installation
Die Webinstallation kann durch Navigieren zu wwwroot, das in der Datei config.php festgelegt wurde, und Befolgen der Anweisungen auf dem Bildschirm durchgeführt werden.
Wesentliche Konfiguration
Unten sehen Sie ein Beispiel für eine minimale config.php-Datei, die im obersten Ordner vorhanden sein sollte. Es gibt viele optionale Konfigurationen, die hinzugefügt werden können – siehe Datei config.example.php im Ordner der obersten Ebene.
<?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';Die folgenden Optionen sind für die Konfiguration von erzwungenen Aromen verfügbar, je nachdem, welche Kombination von Produkten die Website verwenden wird:
lernen
einbinden
durchführen
Lernen_durchführen
learn_engage
perform_engage
Lernen_durchführen_einbinden
Wenn Sie Geschmacksrichtungen verwenden möchten, finden Sie weitere Informationen dazu in unserer Entwicklerdokumentation.
Regelmäßige Tasks
Der Totara 'cron'-Prozess ist ein PHP-Skript (Teil der Standardinstallation von Totara), das regelmäßig im Hintergrund ausgeführt werden muss. Es wird dringend empfohlen, die Häufigkeit von Cron mindestens einmal pro Minute einzustellen. Das Totara Cron-Skript führt verschiedene Aufgaben in unterschiedlich geplanten Intervallen aus, die von einem Site-Administrator konfiguriert werden können.
Überspringen Sie nicht die Einrichtung des Cron-Prozesses auf Ihrem Server für Ihr Totara. Ihre Website funktioniert ohne sie nicht richtig.
Weitere Informationen zu den geplanten Aufgaben und zur Einrichtung finden Sie auf der Seite Geplante Aufgaben
Nächste Schritte
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2026 Totara Learning Solutions. All rights reserved.