buluma.moodle

Rol de Ansible moodle

Instala y configura Moodle en tu sistema.

GitHub Versión Issues Solicitudes de extracción Descargas
github Versión Issues Solicitudes de extracción Rol de Ansible

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada envío, solicitud de extracción y lanzamiento.

---
- name: converge
  hosts: all
  become: true
  gather_facts: true

  pre_tasks:
    - name: Actualizar caché de apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Verificar si existe el archivo EXTERNALLY-MANAGED de python3.11
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Renombrar archivo EXTERNALLY-MANAGED de python3.11 si existe
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py311.stat.exists
      args:
        creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old

    - name: Verificar si existe el archivo EXTERNALLY-MANAGED de python3.12
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Renombrar archivo EXTERNALLY-MANAGED de python3.12 si existe
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py312.stat.exists
      args:
        creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old

  roles:
    - role: buluma.moodle

La máquina necesita estar preparada. En CI, esto se hace utilizando molecule/default/prepare.yml:

---
- name: prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.buildtools
    - role: buluma.epel
    - role: buluma.mysql
      mysql_databases:
        - name: moodle
          encoding: utf8mb4
          collation: utf8mb4_unicode_ci
      mysql_users:
        - name: moodle
          password: moodle
          priv: "moodle.*:ALL"
    - role: buluma.python_pip
    - role: buluma.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: buluma.php
    - role: buluma.selinux
    - role: buluma.httpd
      httpd_vhosts:
        - name: moodle
          servername: moodle.example.com
    - role: buluma.cron
    - role: buluma.core_dependencies

También puedes ver una explicación completa y un ejemplo sobre cómo utilizar estos roles.

Variables del rol

Los valores predeterminados para las variables están establecidos en defaults/main.yml:

---
# archivo de valores predeterminados para moodle

# La versión de moodle a instalar.
moodle_version: 401

# Un camino donde guardar los datos.
moodle_data_directory: /opt/moodledata

# Los permisos de los directorios creados.
moodle_directory_mode: "0750"

# Detalles para conectar a la base de datos.
moodle_database_type: mysqli
moodle_database_hostname: localhost
moodle_database_name: moodle
moodle_database_username: moodle
moodle_database_password: moodle
moodle_database_prefix: ""

# La URL donde servir contenido.
moodle_wwwroot: "https://{{ ansible_default_ipv4.address }}/moodle"

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub Versión
buluma.bootstrap Ansible Molecule Versión
buluma.buildtools Ansible Molecule Versión
buluma.cron Ansible Molecule Versión
buluma.core_dependencies Ansible Molecule Versión
buluma.epel Ansible Molecule Versión
buluma.httpd Ansible Molecule Versión
buluma.mysql Ansible Molecule Versión
buluma.openssl Ansible Molecule Versión
buluma.php Ansible Molecule Versión
buluma.python_pip Ansible Molecule Versión
buluma.selinux Ansible Molecule Versión

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para obtener más información.

Aquí hay una visión general de los roles relacionados:

dependencias

Compatibilidad

Este rol se ha probado en estas imágenes de contenedor:

contenedor etiquetas
EL 8
Debian todas
Fedora 38, 39, 40
opensuse todas
Ubuntu jammy, noble

La versión mínima de Ansible requerida es la 2.12. Se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor regístralos en GitHub

Registro de cambios

Historial del rol

Licencia

Apache-2.0

Información del autor

Shadow Walker

Acerca del proyecto

Install and configure moodle on your system.

Instalar
ansible-galaxy install buluma.moodle
Licencia
apache-2.0
Descargas
11.5k
Propietario
DevOps Engineer