geoffreyvanwyk.moodle

Moodle 的 Ansible 角色

build

Ubuntu 服务器上部署、安装和升级 Moodle

此外,通过从 Git 安装插件来扩展 Moodle。

需求

在这里提到任何可能没有被 Ansible 自身或该角色覆盖的先决条件。例如,如果角色使用了 EC2 模块,最好在此部分提到需要 boto 包。

该角色仅在仍然接收标准支持的长期支持版本的 Ubuntu 上进行了测试。

目前,角色仅使用 Apache 网页服务器,且是由角色自身安装。

角色变量

此角色可设置变量的描述应在这里,包括 defaults/main.yml、vars/main.yml 中的任何变量,以及可以/应该通过角色参数设置的任何变量。任何从其他角色和/或全局范围(即 hostvars、组变量等)读取的变量也应在这里提到。

源代码的部署

moodle_deploy_repository: https://github.com/moodle/moodle # 公开的仓库。
moodle_deploy_version: MOODLE_403_STABLE # 分支、标签或提交。
moodle_deploy_update: yes # 是否拉取新提交。
moodle_deploy_destination: /var/www/html/moodle # 也是网页文档根目录。

Moodle 源代码只能从公开仓库通过 HTTPS 部署。对于稳定版本的 Moodle,可以指定相应的 Git 分支,例如,对于版本 4.3,使用分支 MOODLE_403_STABLE。每次运行角色时,当指定分支上有新提交可用时,变量 moodle_deploy_update 决定是否应拉取这些新提交。如果是 yes,Moodle 实例也将更新。Moodle 源代码的部署目录 moodle_deploy_destination 也是网页服务器提供服务的目录。


PHP

php_version: 8.1

PHP 版本将根据 moodle_version 自动设置。


数据库的设置

moodle_db_install: yes      # 是否安装数据库服务。
moodle_cfg_dbtype: pgsql    # 使用的数据库服务:pgsql 或 mariadb。
moodle_cfg_dbname: moodle   # 数据库的名称。
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: *****    # 随机生成的密码。

如果安装了数据库服务,指定的用户 moodle_cfg_dbuser 将在指定的数据库上拥有所有管理权限。如果没有指定数据库密码 moodle_cfg_dbpass,将生成一个包含 ASCII 字母和数字的随机 24 字符密码。


网站托管

moodle_web_service: apache2 # 或 nginx,但目前仅支持 apache。
moodle_web_root: 子目录 # 现有虚拟主机的子目录或新虚拟主机的根目录。
moodle_web_protected_directories: ... # 请参见 defaults/main.yml 的默认列表。
moodle_web_protected_files: ... # 请参见 defaults/main.yml 的默认列表。
moodle_web_protocol: http # Moodle 是通过 'https' 还是仅通过 'http' 提供服务。
moodle_web_domain: 127.0.0.1 # 网站服务虚拟主机的域名。
moodle_web_path: moodle # 相对于虚拟主机的子目录。

变量 moodle_web_root 指定 Moodle 是否从现有虚拟主机的子目录提供服务,或者是否必须专门为其创建新的虚拟主机。如果指定为 subdirectory,则 moodle_deploy_destinationmoodle_web_path 必须相应一致。


安装与服务器端配置

moodle_cfg_wwwroot: ... # 根据网络协议、域名和路径计算。
moodle_cfg_dataroot: ... # 根据网络域名和路径计算。
moodle_site_fullname: 模块化面向对象的动态学习环境
moodle_site_shortname: Moodle
moodle_site_summary: >
  Moodle 是全球最可定制和受信任的电子学习解决方案,赋予教育者改善世界的能力。

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

插件

moodle_plugins_git: []

必须从 Git 仓库安装的插件列表,因为它们在官方插件目录中不可用。对于每个插件,必须指定:

  • 插件的 frankenstyle 名称,例如 mod_questionnaire,block_xp。
  • 仓库的 URL;
  • 版本引用(即分支、标签或提交)。

已经安装但不在此清单中的附加插件将被卸载。

依赖

在这里列出托管在 Galaxy 上的其他角色,以及需要为其他角色设置的任何参数或使用的变量。

该角色所依赖的角色列表可以在 requirements.yml 中找到。

示例剧本

包括如何使用此角色的示例(例如,作为参数传递的变量)对用户来说总是很有用的:

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

许可证

版权所有 © 2023 Geoffrey Bernardo van Wyk https://geoffreyvanwyk.dev

此文件是 Ansible 角色 geoffreyvanwyk.moodle 的一部分。

Ansible 角色 geoffreyvanwyk.moodle 是免费软件:您可以在 GNU 通用公共许可证的条款下重新分发和/或修改它,该许可证由自由软件基金会发布,版本为 3 或(按您选择)任何后续版本。

Ansible 角色 geoffreyvanwyk.moodle 是为了希望对您有用,但不提供任何担保;甚至没有适销性或特定用途适用性的隐含担保。有关更多详细信息,请参阅 GNU 通用公共许可证。

您应该随附有 Ansible 角色 geoffreyvanwyk.moodle 的 GNU 通用公共许可证。如果没有,请参见 https://www.gnu.org/licenses/

作者信息

角色作者可选择在此部分提供联系信息或网站(不允许使用 HTML)。

Geoffrey Bernardo van Wyk 于 2023 年创建此角色。

关于项目

Deploys, installs, and upgrades Moodle.

安装
ansible-galaxy install geoffreyvanwyk.moodle
许可证
gpl-3.0
下载
2.1k
拥有者
I first learned computer programming in a module at Stellenbosch University in the '90s. The programming language was Fortran.