geoffreyvanwyk.moodle
Rol de Ansible para Moodle
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.
Deploys, installs, and upgrades Moodle.
ansible-galaxy install geoffreyvanwyk.moodle