Instalación de Totara
  • 08 Feb 2024
  • 7 Minutos para leer

Instalación de Totara


Article Summary

Elección de un entorno

La información sobre el entorno compatible siempre se puede encontrar en el código en el archivo readme.md. También se puede encontrar en la documentación de requisitos del servidor del sistema.

Recomendamos encarecidamente que todos los sitios de producción sigan nuestros entornos recomendados cuando sea posible.

Los sitios de producción deben instalarse desde cero en lugar de ser clonados desde una copia de seguridad de la base de datos de otro sitio.

Preparación de su entorno

Sistema Operativo

Si pretendes usar Totara en varios idiomas de usuario, debes asegurarte de que el servidor haya sido configurado correctamente con las configuraciones regionales correctas. Esto es importante para garantizar que las fechas, los números y los datos de moneda se muestren correctamente para el idioma seleccionado por el usuario. Consulte la documentación del desarrollador para obtener más información sobre las configuraciones regionales del servidor.

Asegúrate de que tu servidor haya sido debidamente asegurado para un entorno de producción. Consulte al proveedor de su sistema operativo para obtener información sobre cómo lograr esto de la mejor manera.

Base de datos

Totara admite una serie de bases de datos diferentes. Seleccionar una base de datos es un paso de vital importancia para configurar tu instalación de Totara. No podemos decirte qué elegir, ni cuál es mejor que el resto. La forma en que intentas usar y escalar tu base de datos, y tu conocimiento de ella tendrán un mayor impacto que la mayoría de los otros factores.

Si no estás seguro de cuál elegir, recomendamos PostgreSQL, ya que ofrece un buen rendimiento sin necesidad de ajustar.

MiSQL

Si deseas usar MySQL, te recomendamos que uses MySQL 8 o superior, debido a su soporte mejorado para contenido multilingüe en Totara. 

Recomendamos encarecidamente que utilice una recopilación que distingua mayúsculas y minúsculas (que MySQL 5.7 no admite). También recomendamos un conjunto de caracteres compatible con 4 bytes (utf8mb4) para garantizar el soporte total de caracteres como emojis.

MySQL debe estar usando el formato de archivo Barracuda. Para crear su base de datos:

CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;

Por motivos de seguridad, te recomendamos que uses un usuario de base de datos dedicado que tenga acceso solo a la base de datos de Totara.

MaríaDB

No hay una intercalación sensible a mayúsculas y minúsculas disponible para MariaDB. Si es probable que esto sea un problema para usted, le recomendamos que considere MySQL 8 o superior en su lugar.

MySQL debe estar usando el formato de archivo Barracuda. Para crear su base de datos:

CREATE DATABASE {dbname} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Por motivos de seguridad, te recomendamos que uses un usuario de base de datos dedicado que tenga acceso solo a la base de datos de Totara.

PostgreSQL

Para crear su base de datos:

createdb -E utf8 {dbname}

Por motivos de seguridad, te recomendamos que uses un usuario de base de datos dedicado que tenga acceso solo a la base de datos de Totara.

Si está ejecutando PostgreSQL 14.0 o 14.1, el enable_memoize ajuste debe estar desactivado.

MSSQL

Si estás instalando Totara como sysadmin, el usuario de tu base de datos debe tener permiso para modificar la configuración del servidor:

ALTER SETTINGS(SERVER)

La búsqueda de texto completo debe estar habilitada; consulte Búsqueda de texto completo en el servidor MSSQL [LINK]. 

Por motivos de seguridad, te recomendamos que uses un usuario de base de datos dedicado que tenga acceso solo a la base de datos de Totara. Como alternativa, puedes instalar Totara como un usuario que no sea administrador del sistema utilizando el siguiente 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;

 

GO

Después de instalar Totara, el siguiente SQL garantizará que Totara sea completamente utilizable sin privilegios de sysadmin:

-- 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;

 

GO

Servicio web

Totara es una aplicación basada en la web y depende de un servidor web para operar. Totara está oficialmente respaldada cuando se ejecuta a través de Apache, IIS y Nginx.

El código fuente de Totara contiene un directorio de servidor. El servidor web debe estar configurado para servir a este directorio y a sus elementos secundarios solamente.

La estructura de la base del código cambió entre Totara 12 y Totara 13. Es importante que su servidor web solo sirva al directorio del servidor. Es una preocupación de seguridad si tu servidor web está configurado para servir al directorio de código fuente de nivel superior ya que expone más información de la prevista.

Al configurar el servidor web, te recomendamos que lo fortalezcas siguiendo las mejores prácticas para el servidor web elegido. Los siguientes puntos pueden servir como guía para las mejores prácticas de Totara para los sitios de producción:

  • Deshabilitar listados de directorios
  • Deshabilitar el servicio de los siguientes directorios:
    • Servidor de prueba
    • /servidor/**/amd/
    • /servidor/**/plantillas/
    • /servidor/**/clases/
  • Deshabilitar el servicio de los siguientes tipos de archivos:
    • /server/*/.txt (solo se debe permitir el acceso a checknet.txt)
    • /servidor/*/.md
    • /servidor/*/.xml
    • Todos los archivos que comienzan con "."
  • Desactivar el servicio de los siguientes archivos:
    • /server/package.json
    • /servidor/package-lock.json
  • Asegúrate de que los errores se escriban en una ubicación conocida del archivo de registro. Si experimentas algún problema y buscas soporte, a menudo te pedirán que revises los registros de errores del servidor web.

Si estás usando Apache + mod_php, CGI o PHP-FPM, y tienes la intención de usar la aplicación Totara Mobile, deberás añadir además la siguiente directiva a tu entrada de VirtualHost para el sitio a fin de que Apache pase correctamente los encabezados de autenticación requeridos por la aplicación móvil:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Si estás usando Apache + mod_php, CGI o PHP-FPM, te recomendamos que añadas las siguientes directivas a tu entrada Apache VirtualHost para asegurarte de que estos encabezados estén preservados:
SetEnvIf Content-Type "(.*)" HTTP_CONTENT_TYPE=$1
SetEnvIf Accept "(.*)" HTTP_ACCEPT=$1
La información sobre el entorno PHP requerido se puede encontrar en la página de requisitos del sistema del servidor.

Directorio de datos

Totara requiere acceso a un directorio de datos para almacenar datos de usuarios, archivos de caché, archivos temporales, etc. El usuario del servidor web debe poder leer y escribir este directorio.

En un entorno de escala horizontal, todos los servidores web deben tener acceso al directorio de datos. Debe ser compartida por ellos.

Instalación de Totara

Obteniendo el código

El código de Totara está disponible para los Alliance Partners y se puede descargar usando los comandos a continuación.

Para acceder al código, necesitarás que tu clave pública ssh se agregue a nuestro servidor git. Para cualquier ayuda con esto, por favor, presenta un ticket al servicio de asistencia.

Para el código principal de Totara:

git clone ssh://git@code.totaralms.com/totara-txp.git

Para el código de la aplicación Totara Mobile:

git clone ssh://git@code.totaralms.com/totara-mobile.git

Instalación de CLI

Recomendamos encarecidamente que la instalación y la actualización se completen a través de la interfaz de la línea de comandos.

Este comando debe ejecutarse como usuario web (en este caso www-data):

sudo -u www-data php server/admin/cli/install_database.php --agree-license --adminpass=mypassword123

Hay una serie de otros argumentos opcionales que se pueden proporcionar para minimizar la configuración posterior a la instalación:

--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 site

Una vez finalizada la instalación de la CLI, puedes ir a la página de inicio del sitio e iniciar sesión con las credenciales de administrador para una mayor configuración.

Instalación web

La instalación web se puede realizar navegando al wwwroot que se estableció en el archivo config.php y siguiendo las instrucciones en pantalla. 

Configuración esencial

A continuación se muestra un ejemplo de un archivo config.php mínimo que debe estar presente en la carpeta de nivel superior. Hay mucha configuración opcional que se puede agregar. Consulte el archivo config.example.php en la carpeta de nivel superior.

<?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';

Las siguientes opciones están disponibles para la configuración de Forceflavour, según la combinación de productos que utilizará el sitio:

  • Learn
  • Engage
  • Perform
  • learn_perform
  • learn_engage
  • perform_engage
  • learn_perform_engage

Además, si deseas usar sabores, puedes encontrar más información sobre esto en nuestra documentación para desarrolladores .

Próximos pasos

© Copyright 2024 Totara Learning Solutions. All rights reserved.


¿Te ha sido útil este artículo?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.