buluma.moodle

Ansible-Rolle moodle

Installieren und konfigurieren Sie Moodle auf Ihrem System.

GitHub Version Issues Pull Requests Downloads
github Version Issues PullRequests Ansible Role

Beispiel-Playbook

Dieses Beispiel stammt aus molecule/default/converge.yml und wird bei jedem Push, Pull-Request und Release getestet.

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

  pre_tasks:
    - name: Apt-Cache aktualisieren.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Überprüfen, ob die Datei python3.11 EXTERNALLY-MANAGED existiert
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Datei python3.11 EXTERNALLY-MANAGED umbenennen, wenn sie existiert
      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: Überprüfen, ob die Datei python3.12 EXTERNALLY-MANAGED existiert
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Datei python3.12 EXTERNALLY-MANAGED umbenennen, wenn sie existiert
      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

Die Maschine muss vorbereitet werden. In CI geschieht dies mit 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

Siehe auch eine vollständige Erklärung und Beispiel zur Verwendung dieser Rollen.

Rollenvariablen

Die Standardwerte für die Variablen sind in defaults/main.yml festgelegt:

---
# Standarddatei für moodle

# Die Version von Moodle, die installiert werden soll.
moodle_version: 401

# Ein Pfad, wo die Daten gespeichert werden sollen.
moodle_data_directory: /opt/moodledata

# Die Berechtigungen für die erstellten Verzeichnisse.
moodle_directory_mode: "0750"

# Details zum Verbinden mit der Datenbank.
moodle_database_type: mysqli
moodle_database_hostname: localhost
moodle_database_name: moodle
moodle_database_username: moodle
moodle_database_password: moodle
moodle_database_prefix: ""

# Die URL, über die Inhalte bereitgestellt werden sollen.
moodle_wwwroot: "https://{{ ansible_default_ipv4.address }}/moodle"

Anforderungen

Status der verwendeten Rollen

Die folgenden Rollen werden verwendet, um ein System vorzubereiten. Sie können Ihr System auch auf andere Weise vorbereiten.

Anforderung 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

Kontext

Diese Rolle ist Teil vieler kompatibler Rollen. Schauen Sie sich die Dokumentation dieser Rollen für weitere Informationen an.

Hier ist eine Übersicht der verwandten Rollen:

dependencies

Kompatibilität

Diese Rolle wurde auf diesen Container-Images getestet:

Container Tags
EL 8
Debian alle
Fedora 38, 39, 40
opensuse alle
Ubuntu jammy, noble

Die minimale benötigte Version von Ansible ist 2.12, Tests wurden durchgeführt für:

  • Die vorherige Version.
  • Die aktuelle Version.
  • Die Entwicklungs-Version.

Wenn Sie Fehler finden, registrieren Sie diese bitte in GitHub.

Änderungsprotokoll

Rollenhistorie.

Lizenz

Apache-2.0.

Autoreninformationen

Shadow Walker.

Über das Projekt

Install and configure moodle on your system.

Installieren
ansible-galaxy install buluma.moodle
GitHub Repository
Lizenz
apache-2.0
Downloads
11.5k
Besitzer
DevOps Engineer