geoffreyvanwyk.moodle
Rôle Ansible pour Moodle
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.
Deploys, installs, and upgrades Moodle.
ansible-galaxy install geoffreyvanwyk.moodle