geoffreyvanwyk.moodle

Rôle Ansible pour Moodle

build

Déploie, installe et met à jour Moodle sur des serveurs Ubuntu.

De plus, étend Moodle en installant des plugins depuis Git.

Prérequis

Toute condition préalable qui n'est pas couverte par Ansible ou le rôle lui-même doit être mentionnée ici. Par exemple, si le rôle utilise le module EC2, il peut être bon de mentionner dans cette section que le paquet boto est requis.

Le rôle n'est testé que sur des versions d'Ubuntu avec support à long terme qui reçoivent encore du support standard.

Pour l'instant, le rôle utilise uniquement le serveur web Apache, qu'il installe lui-même.

Variables du rôle

Une description des variables configurables pour ce rôle doit ici être indiquée, y compris les variables présentes dans defaults/main.yml, vars/main.yml, et toutes les variables pouvant/doivent être définies via des paramètres pour le rôle. Les variables qui sont lues à partir d'autres rôles et/ou de la portée globale (c'est-à-dire hostvars, group vars, etc.) doivent également être mentionnées ici.

Déploiement du Code Source

moodle_deploy_repository: https://github.com/moodle/moodle # Répertoire public.
moodle_deploy_version: MOODLE_403_STABLE # Branche, étiquette ou commit.
moodle_deploy_update: yes # Pour savoir s'il faut récupérer les nouveaux commits.
moodle_deploy_destination: /var/www/html/moodle # Également le répertoire racine du site web.

Le code source de Moodle ne peut être déployé que depuis un répertoire public et seulement par HTTPS. Pour les versions stables de Moodle, la branche Git associée peut être spécifiée, par exemple, pour la version 4.3, la branche MOODLE_403_STABLE est utilisée. À chaque executions du rôle et si de nouveaux commits sont disponibles sur la branche spécifiée, la variable moodle_deploy_update indique si ces nouveaux commits doivent être récupérés. Si yes, l'instance Moodle sera également mise à jour. Le répertoire où le code source de Moodle est déployé moodle_deploy_destination sera également le répertoire à partir duquel le serveur web le servira.


PHP

php_version: 8.1

La version de PHP est automatiquement définie en fonction de la moodle_version.


Configuration de la Base de Données

moodle_db_install: yes      # Pour savoir s'il faut installer un service de base de données.
moodle_cfg_dbtype: pgsql    # Quel service de base de données utiliser : pgsql ou maridb.
moodle_cfg_dbname: moodle   # Le nom de la base de données.
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: *****    # Un mot de passe créé aléatoirement.

Si un service de base de données est installé, l'utilisateur spécifié moodle_cfg_dbuser aura tous les privilèges administratifs sur la base de données spécifiée. Si le mot de passe de la base de données moodle_cfg_dbpass n'est pas spécifié, un mot de passe aléatoire de 24 caractères composé de lettres et de chiffres ASCII sera généré.


Hébergement Web

moodle_web_service: apache2 # Ou nginx, mais seul apache est actuellement supporté.
moodle_web_root: sous-dossier # d'un virtual host existant ou racine d'un nouveau virtual host.
moodle_web_protected_directories: ... # Voir defaults/main.yml pour la liste par défaut.
moodle_web_protected_files: ... # Voir defaults/main.yml pour la liste par défaut.
moodle_web_protocol: http # Pour savoir si Moodle est servi via 'https' ou simplement 'http'.
moodle_web_domain: 127.0.0.1 # Nom de domaine du virtual host du service web.
moodle_web_path: moodle # Sous-dossier relatif au virtual host.

La variable moodle_web_root précise si Moodle est servi depuis un sous-dossier d'un virtual host existant ou si un nouveau virtual host doit être créé spécifiquement pour cela. Si sous-dossier est spécifié, alors moodle_deploy_destination et moodle_web_path doivent être en conformité avec cela.


Installation & Configuration Serveur

moodle_cfg_wwwroot: ... # Calculé en fonction du protocole web, du domaine et du chemin.
moodle_cfg_dataroot: ... # Calculé en fonction du domaine web et du chemin.
moodle_site_fullname: Environnement d'apprentissage dynamique orienté objet modulaire
moodle_site_shortname: Moodle
moodle_site_summary: >
  Moodle est la solution d'eLearning la plus personnalisable et de confiance au monde qui
  permet aux éducateurs d'améliorer notre monde.

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

Plugins

moodle_plugins_git: []

Une liste de plugins devant être installés depuis un dépôt Git, car ils ne sont pas disponibles dans le répertoire officiel des plugins. Pour chaque plugin, il faut spécifier :

  • le nom frankenstyle du plugin, par ex. mod_questionnaire, block_xp.
  • l'URL du dépôt ;
  • la référence de version (c'est-à-dire la branche, l'étiquette ou le commit).

Les plugins supplémentaires déjà installés mais qui ne figurent pas dans cette liste seront désinstallés.

Dépendances

Une liste d'autres rôles hébergés sur Galaxy devrait être inclu ici, ainsi que tout détail concernant les paramètres qui pourraient devoir être définis pour d'autres rôles, ou les variables qui sont utilisées d'autres rôles.

La liste des rôles dont dépend ce rôle se trouve dans requirements.yml.

Exemple de Playbook

Inclure un exemple de la manière d'utiliser votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours apprécié par les utilisateurs aussi :

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

Licence

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

Ce fichier fait partie du rôle Ansible geoffreyvanwyk.moodle.

Le rôle Ansible geoffreyvanwyk.moodle est un logiciel libre : vous pouvez le redistribuer et/ou le modifier sous les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, ou (selon votre choix) toute version ultérieure.

Le rôle Ansible geoffreyvanwyk.moodle est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE, sans même la garantie implicite de COMMERCIABILITÉ ou D'ADÉQUATION À UN BUT PARTICULIER. Voir la GNU General Public License pour plus de détails.

Vous devez avoir reçu une copie de la GNU General Public License avec le rôle Ansible geoffreyvanwyk.moodle. Si ce n'est pas le cas, voir https://www.gnu.org/licenses/.

Informations sur l'Auteur

Une section optionnelle pour que les auteurs du rôle incluent des informations de contact ou un site web (HTML n'est pas permis).

Geoffrey Bernardo van Wyk a créé ce rôle en 2023.

À propos du projet

Deploys, installs, and upgrades Moodle.

Installer
ansible-galaxy install geoffreyvanwyk.moodle
Licence
gpl-3.0
Téléchargements
2.1k
Propriétaire
I first learned computer programming in a module at Stellenbosch University in the '90s. The programming language was Fortran.