Instalación de Totara

Prev Next

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 ajuste enable_memoize 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:

    • /servidor/paquete.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 solo para los Totara Alliance Partners. Proporcionamos acceso al código fuente a través de un repositorio de control de versiones de GIT.

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

Construcción de Totara a través de un entorno intermedio

De Totara 13 a 19 muchas bibliotecas de terceros se distribuyeron a través de las bibliotecas/directorio requerido. Desde Totara 20 este directorio ya no se incluye automáticamente. En su lugar, las bibliotecas de terceros deben instalarse antes de la instalación/actualización del sitio utilizando composer.

Si estás usando la distribución zip de Totara, estos pasos no son necesarios, la distribución vendrá con las bibliotecas PHP incluidas.

Recomendamos crear el código fuente de Totara en un servidor de compilación separado y transferir los artefactos a tu entorno de producción.

Lo que deberías tener preconfigurado

  • CLI de PHP instalada para la versión que ejecutarás en el sitio como

  • Composer instalado y disponible Introducción - Composer

  • git si estás clonando a través de nuestros repositorios de distribución https://git-scm.com/

  • La capacidad de comprimir y descomprimir archivos a través de la utilidad zip (o algún otro método para enviar los archivos generados) (opcional)

¿Por qué es necesario? No se recomienda ejecutar git o compositor en un entorno de producción. La forma más segura de crear Totara es ejecutar los comandos de creación en un servidor y tomar la salida generada y enviarla a sus entornos de producción para ejecutar los scripts de instalación/actualización finales.

Para obtener más información sobre Totara y Composer, consulta la página Bibliotecas de terceros con Composer.

Ejecución de la compilación

  1. Confirma que tu versión de PHP coincida con una versión enumerada en el archivo readme.md php --version

  2. Confirme que está ejecutando PHP no como usuario raíz.

  3. Asegúrate de estar dentro de la carpeta raíz, del mismo directorio en el que existen README.md y .gitignore, no de la carpeta del servidor.

  4. Creación de bibliotecas PHP (obligatorio). Este es un paso requerido:

    1. Ejecute el comando de instalación del compositor (según cómo lo haya instalado).

      # If composer is available globally
      composer install --no-dev -o 
      # If you've installed composer locally
      php composer.phar install --no-dev -o

    2. Confirme que se haya creado el proveedor/directorio.

  5. Añadir en cualquier personalización. Si instalas cualquier plugin adicional, te recomendamos que añadas su fuente ahora.

  6. Por último, debes tener una copia de Totara que esté lista para su distribución. Puedes comprimirlo o volver a sincronizarlo o usar otro método para distribuirlo a tu servidor de producción.

  7. Desde su servidor de producción, puede ejecutar los comandos de instalación o actualización regulares como se indica a continuación.

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

  • Aprender_Realizar

  • aprender_engage

  • Perform_Engage

  • aprender_realizar_participar

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

Tareas programadas

El proceso "cron" de Totara es un script PHP (parte de la instalación estándar de Totara) que debe ejecutarse regularmente en segundo plano. Se recomienda encarecidamente que la frecuencia de cron se establezca en al menos una vez por minuto. La secuencia de comandos de Totara cron ejecuta diferentes tareas en intervalos programados de manera diferente, que pueden ser configurados por un administrador del sitio.

No omitas la configuración del proceso cron en tu servidor para tu Totara. Tu sitio no funcionará correctamente sin él.

Para obtener más información sobre las tareas programadas y cómo configurar esto, visita la página de tareas  programadas

Próximos pasos

Join the Totara Community for more resources to help you get the most out of Totara. 


© Copyright 2026 Totara Learning Solutions. All rights reserved.