buluma.moodle

Rôle Ansible moodle

Installer et configurer moodle sur votre système.

GitHub Version Problèmes Demandes de tirage Téléchargements
github Version Issues PullRequests Ansible Role

Exemple de Playbook

Cet exemple provient de molecule/default/converge.yml et est testé à chaque poussée, demande de tirage et version.

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

  pre_tasks:
    - name: Mettre à jour le cache apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Vérifier si le fichier EXTERNALLY-MANAGED pour python3.11 existe
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Renommer le fichier EXTERNALLY-MANAGED pour python3.11 s'il 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: Vérifier si le fichier EXTERNALLY-MANAGED pour python3.12 existe
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Renommer le fichier EXTERNALLY-MANAGED pour python3.12 s'il 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 machine doit être préparée. Dans CI, cela se fait en utilisant 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

Vous pouvez également consulter une explication complète et un exemple sur la façon d'utiliser ces rôles.

Variables du rôle

Les valeurs par défaut des variables sont définies dans defaults/main.yml:

---
# fichier de valeurs par défaut pour moodle

# La version de moodle à installer.
moodle_version: 401

# Un chemin où sauvegarder les données.
moodle_data_directory: /opt/moodledata

# Les permissions des répertoires créés.
moodle_directory_mode: "0750"

# Détails pour se connecter à la base de données.
moodle_database_type: mysqli
moodle_database_hostname: localhost
moodle_database_name: moodle
moodle_database_username: moodle
moodle_database_password: moodle
moodle_database_prefix: ""

# L'URL où servir le contenu.
moodle_wwwroot: "https://{{ ansible_default_ipv4.address }}/moodle"

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub Version
buluma.bootstrap Ansible Molecule Version
buluma.buildtools Ansible Molecule Version
buluma.cron Ansible Molecule Version
buluma.core_dependencies Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.httpd Ansible Molecule Version
buluma.mysql Ansible Molecule Version
buluma.openssl Ansible Molecule Version
buluma.php Ansible Molecule Version
buluma.python_pip Ansible Molecule Version
buluma.selinux Ansible Molecule Version

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles connexes :

dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs:

conteneur tags
EL 8
Debian tous
Fedora 38, 39, 40
opensuse tous
Ubuntu jammy, noble

La version minimale d'Ansible requise est 2.12, des tests ont été réalisés :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les enregistrer sur GitHub

Journal des modifications

Historique du rôle

Licence

Apache-2.0

Informations sur l'auteur

Shadow Walker

À propos du projet

Install and configure moodle on your system.

Installer
ansible-galaxy install buluma.moodle
Licence
apache-2.0
Téléchargements
11.5k
Propriétaire
DevOps Engineer