geoffreyvanwyk.moodle

Rol de Ansible para Moodle

build

Despliega, instala y actualiza Moodle en servidores de Ubuntu.

Además, extiende Moodle instalando plugins desde Git.

Requisitos

Cualquier prerequisito que no esté cubierto por Ansible o por la rol debe mencionarse aquí. Por ejemplo, si la rol usa el módulo EC2, sería bueno mencionarlo en esta sección para indicar que se necesita el paquete boto.

La rol solo se prueba en versiones de soporte a largo plazo de Ubuntu que aún reciben soporte estándar.

En este momento, la rol solo utiliza el servidor web Apache, que instala por sí mismo.

Variables de la Rol

Aquí va una descripción de las variables que se pueden establecer para esta rol, incluyendo cualquier variable que esté en defaults/main.yml, vars/main.yml, y cualquier variable que se pueda/deba establecer a través de parámetros para la rol. También se deben mencionar variables que se leen de otras roles y/o del ámbito global (es decir, hostvars, group vars, etc.)

Despliegue del Código Fuente

moodle_deploy_repository: https://github.com/moodle/moodle # Repositorio público.
moodle_deploy_version: MOODLE_403_STABLE # Rama, etiqueta o commit.
moodle_deploy_update: yes # Si se deben obtener nuevos commits.
moodle_deploy_destination: /var/www/html/moodle # También la raíz del documento web.

El código fuente de Moodle solo se puede desplegar desde un repositorio público y solo a través de HTTPS. Para versiones estables de Moodle, se puede especificar la rama Git asociada, por ejemplo, para la versión 4.3, se usa la rama MOODLE_403_STABLE. Cada vez que se ejecute la rol y haya nuevos commits disponibles en la rama especificada, la variable moodle_deploy_update indica si se deben obtener esos nuevos commits. Si es yes, la instancia de Moodle también se actualizará. El directorio donde se despliega el código fuente de Moodle moodle_deploy_destination será también el directorio desde el cual el servidor web lo servirá.


PHP

php_version: 8.1

La versión de PHP se establece automáticamente según la moodle_version.


Configuración de la Base de Datos

moodle_db_install: yes      # Si se debe instalar un servicio de base de datos.
moodle_cfg_dbtype: pgsql    # Qué servicio de base de datos utilizar: pgsql o mariadb.
moodle_cfg_dbname: moodle   # El nombre de la base de datos.
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: *****    # Una contraseña generada aleatoriamente.

Si se instala un servicio de base de datos, el usuario especificado moodle_cfg_dbuser tendrá todos los privilegios administrativos sobre la base de datos especificada. Si la contraseña de la base de datos moodle_cfg_dbpass no está especificada, se generará una contraseña aleatoria de 24 caracteres compuesta por letras y dígitos ASCII.


Alojamiento Web

moodle_web_service: apache2 # O nginx, pero actualmente solo se soporta apache.
moodle_web_root: subdirectorio # del virtualhost existente o raíz de un nuevo virtualhost.
moodle_web_protected_directories: ... # Ver defaults/main.yml para la lista predeterminada.
moodle_web_protected_files: ... # Ver defaults/main.yml para la lista predeterminada.
moodle_web_protocol: http # Si Moodle se sirve a través de 'https' o solo 'http'.
moodle_web_domain: 127.0.0.1 # Nombre de dominio del virtual host del servicio web.
moodle_web_path: moodle # Subdirectorio relativo al virtual host.

La variable moodle_web_root especifica si Moodle se sirve desde un subdirectorio de un virtual host existente o si se debe crear un nuevo virtual host específicamente para ello. Si se especifica subdirectorio, entonces moodle_deploy_destination y moodle_web_path deben estar de acuerdo con eso.


Instalación y Configuración del Lado del Servidor

moodle_cfg_wwwroot: ... # Calculado según el protocolo web, dominio y ruta.
moodle_cfg_dataroot: ... # Calculado según el dominio web y la ruta.
moodle_site_fullname: Entorno de Aprendizaje Dinámico Modular Orientado a Objetos
moodle_site_shortname: Moodle
moodle_site_summary: >
  Moodle es la solución de eLearning más personalizable y confiable del mundo que
  empodera a los educadores para mejorar nuestro mundo.

moodle_admin_username: moodler
moodle_admin_password: N3verstople@rning
moodle_admin_email: [email protected]
moodle_support_email: "{{ moodle_admin_email }}"

Plugins

moodle_plugins_git: []

Una lista de plugins que deben ser instalados desde un repositorio Git, porque no están disponibles en el directorio oficial de plugins. Para cada plugin, se debe especificar lo siguiente:

  • nombre de estilo franken, por ejemplo, mod_questionnaire, block_xp.
  • URL al repositorio;
  • la referencia de versión (es decir, la rama, etiqueta o commit).

Los plugins adicionales que ya están instalados pero que no están en esta lista serán desinstalados.

Dependencias

Una lista de otras roles alojadas en Galaxy debe ir aquí, además de cualquier detalle respecto a los parámetros que pueden necesitar ser establecidos para otras roles, o variables que se usan de otras roles.

La lista de roles de las cuales depende esta rol se puede encontrar en requirements.yml.

Ejemplo de Playbook

Incluir un ejemplo de cómo usar tu rol (por ejemplo, con variables pasadas como parámetros) también es útil para los usuarios:

- hosts: servers
  roles:
    - role: geoffreyvanwyk.moodle
      moodle_plugins_git:
        - name: theme_learningsandboxonline
          repository: https://github.com/geoffreyvanwyk/moodle-theme_learningsandboxonline
          version: MOODLE_403_STABLE

Licencia

Copyright © 2023 Geoffrey Bernardo van Wyk https://geoffreyvanwyk.dev

Este archivo es parte de la rol de Ansible geoffreyvanwyk.moodle.

La rol de Ansible geoffreyvanwyk.moodle es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU, según lo publicado por la Free Software Foundation, ya sea la versión 3 de la licencia, o (a tu elección) cualquier versión posterior.

La rol de Ansible geoffreyvanwyk.moodle se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de comercialización o idoneidad para un propósito particular. Consulta la Licencia Pública General de GNU para más detalles.

Deberías haber recibido una copia de la Licencia Pública General de GNU junto con la rol de Ansible geoffreyvanwyk.moodle. Si no, ve a https://www.gnu.org/licenses/.

Información del Autor

Una sección opcional para que los autores de la rol incluyan información de contacto o un sitio web (no se permite HTML).

Geoffrey Bernardo van Wyk creó esta rol en 2023.

Acerca del proyecto

Deploys, installs, and upgrades Moodle.

Instalar
ansible-galaxy install geoffreyvanwyk.moodle
Licencia
gpl-3.0
Descargas
2.1k
Propietario
I first learned computer programming in a module at Stellenbosch University in the '90s. The programming language was Fortran.