geoffreyvanwyk.moodle

Ansible-Rolle für Moodle

build

Diese Rolle installiert, aktualisiert und implementiert Moodle auf Ubuntu-Servern.

Außerdem erweitert sie Moodle durch die Installation von Plugins aus Git.

Anforderungen

Alle Voraussetzungen, die möglicherweise nicht von Ansible selbst oder der Rolle abgedeckt sind, sollten hier erwähnt werden. Wenn die Rolle z.B. das EC2-Modul verwendet, könnte es sinnvoll sein, in diesem Abschnitt zu erwähnen, dass das Boto-Paket erforderlich ist.

Die Rolle wird nur mit langfristig unterstützten Versionen von Ubuntu getestet, die noch Standardunterstützung erhalten.

Im Moment verwendet die Rolle nur den Apache-Webserver, den sie selbst installiert.

Rollenvariablen

Hier sollte eine Beschreibung der einstellbaren Variablen für diese Rolle stehen, einschließlich aller Variablen in defaults/main.yml, vars/main.yml und aller Variablen, die über Parameter an die Rolle gesetzt werden können/sollten. Alle Variablen, die aus anderen Rollen und/oder dem globalen Bereich (z.B. hostvars, group vars usw.) gelesen werden, sollten hier ebenfalls erwähnt werden.

Bereitstellung des Quellcodes

moodle_deploy_repository: https://github.com/moodle/moodle # Öffentliches Repository.
moodle_deploy_version: MOODLE_403_STABLE # Branch, Tag oder Commit.
moodle_deploy_update: ja # Ob neue Commits abgerufen werden sollen.
moodle_deploy_destination: /var/www/html/moodle # Auch das Web-Dokumentenverzeichnis.

Der Moodle-Quellcode kann nur aus einem öffentlichen Repository und nur über HTTPS bereitgestellt werden. Für stabile Versionen von Moodle kann der entsprechende Git-Branch angegeben werden, z.B. für Version 4.3 wird der Branch MOODLE_403_STABLE verwendet. Immer wenn die Rolle ausgeführt wird und neue Commits im angegebenen Branch verfügbar sind, gibt die Variable moodle_deploy_update an, ob diese neuen Commits heruntergeladen werden sollen. Wenn ja, wird auch die Moodle-Instanz aktualisiert. Das Verzeichnis, in das der Moodle-Quellcode bereitgestellt wird (moodle_deploy_destination), ist auch das Verzeichnis, aus dem der Webserver es bereitstellt.


PHP

php_version: 8.1

Die PHP-Version wird automatisch basierend auf der moodle_version festgelegt.


Datenbankeinrichtung

moodle_db_install: ja      # Ob ein Datenbankdienst installiert werden soll.
moodle_cfg_dbtype: pgsql    # Welchen Datenbankdienst verwenden: pgsql oder mariadb.
moodle_cfg_dbname: moodle   # Der Name der Datenbank.
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: *****    # Ein zufällig erstelltes Passwort.

Wenn ein Datenbankdienst installiert wird, hat der angegebene Benutzer moodle_cfg_dbuser alle Administrationsrechte auf der angegebenen Datenbank. Wenn das Datenbankpasswort moodle_cfg_dbpass nicht angegeben ist, wird ein zufälliges 24-Zeichen-Passwort aus ASCII-Buchstaben und -Ziffern generiert.


Webhosting

moodle_web_service: apache2 # Oder nginx, aber derzeit wird nur apache unterstützt.
moodle_web_root: unterverzeichnis # des vorhandenen Virtuellen Hosts oder Root des neuen Virtuellen Hosts.
moodle_web_protected_directories: ... # Siehe defaults/main.yml für die Standardliste.
moodle_web_protected_files: ... # Siehe defaults/main.yml für die Standardliste.
moodle_web_protocol: http # Ob Moodle über 'https' oder nur 'http' bereitgestellt wird.
moodle_web_domain: 127.0.0.1 # Domainname des Webdienstes Virtueller Host.
moodle_web_path: moodle # Unterverzeichnis relativ zum virtuellen Host.

Die Variable moodle_web_root gibt an, ob Moodle aus einem Unterverzeichnis eines vorhandenen virtuellen Hosts oder aus einem neu zu erstellenden virtuellen Host bereitgestellt wird. Wenn unterverzeichnis angegeben ist, müssen moodle_deploy_destination und moodle_web_path entsprechend festgelegt werden.


Installation & Serverseitige Konfiguration

moodle_cfg_wwwroot: ... # Berechnet basierend auf Webprotokoll, Domain und Pfad.
moodle_cfg_dataroot: ... # Berechnet basierend auf Webdomain und Pfad.
moodle_site_fullname: Modular Object-Orientated Dynamic Learning Environment
moodle_site_shortname: Moodle
moodle_site_summary: >
  Moodle ist die anpassbarste und vertrauenswürdigste eLearning-Lösung der Welt, die
  Pädagogen befähigt, unsere Welt zu verbessern.

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

Plugins

moodle_plugins_git: []

Eine Liste von Plugins, die aus einem Git-Repository installiert werden müssen, weil sie im offiziellen Plugin-Verzeichnis nicht verfügbar sind. Für jedes Plugin müssen die folgenden Angaben gemacht werden:

  • frankenstyle Name des Plugins, z.B. mod_questionnaire, block_xp.
  • URL zum Repository;
  • die Versionsreferenz (das ist der Branch, Tag oder Commit).

Zusätzliche Plugins, die bereits installiert sind, aber nicht in dieser Liste enthalten sind, werden deinstalliert.

Abhängigkeiten

Eine Liste anderer Rollen, die auf Galaxy gehostet werden, sollte hier stehen, sowie alle Details zu Parametern, die möglicherweise für andere Rollen festgelegt werden müssen, oder Variablen, die aus anderen Rollen verwendet werden.

Die Liste der Rollen, von denen diese Rolle abhängt, befindet sich in requirements.yml.

Beispiel-Playbook

Ein Beispiel, wie man deine Rolle verwenden kann (zum Beispiel mit als Parameter übergebenen Variablen), ist auch für die Benutzer hilfreich:

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

Lizenz

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

Diese Datei ist Teil der Ansible-Rolle geoffreyvanwyk.moodle.

Die Ansible-Rolle geoffreyvanwyk.moodle ist freie Software: Sie können sie unter den Bedingungen der GNU General Public License, wie sie von der Free Software Foundation veröffentlicht wurde, entweder in der Version 3 der Lizenz oder (nach Ihrer Wahl) in einer späteren Version weitergeben und/oder ändern.

Die Ansible-Rolle geoffreyvanwyk.moodle wird in der Hoffnung verteilt, dass sie nützlich sein wird, aber OHNE JEDE GEWÄHR; ohne auch nur die implizite Gewähr für MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Einzelheiten.

Sie sollten eine Kopie der GNU General Public License zusammen mit der Ansible-Rolle geoffreyvanwyk.moodle erhalten haben. Wenn nicht, siehe https://www.gnu.org/licenses/.

Autorinformationen

Ein optionaler Abschnitt, in dem die Autoren der Rolle Kontaktinformationen oder eine Webseite (HTML ist nicht erlaubt) angeben können.

Geoffrey Bernardo van Wyk hat diese Rolle im Jahr 2023 erstellt.

Über das Projekt

Deploys, installs, and upgrades Moodle.

Installieren
ansible-galaxy install geoffreyvanwyk.moodle
Lizenz
gpl-3.0
Downloads
2.1k
Besitzer
I first learned computer programming in a module at Stellenbosch University in the '90s. The programming language was Fortran.