moodle
Антидействие для Moodle
Развёртывает, устанавливает и обновляет Moodle на серверах Ubuntu.
Дополнительно, расширяет Moodle, устанавливая плагины из Git.
Требования
Любые предварительные условия, которые могут не быть охвачены Ansible или этой ролью, должны быть упомянуты здесь. Например, если роль использует модуль EC2, будет полезно указать в этом разделе, что требуется пакет boto.
Роль тестируется только на версиях Ubuntu с долгосрочной поддержкой, которые всё ещё получают стандартную поддержку.
В данный момент роль использует только веб-сервер Apache, который устанавливается самостоятельно.
Переменные Роли
Описание настраиваемых переменных для этой роли должно быть здесь, включая любые переменные, которые находятся в defaults/main.yml, vars/main.yml, и любые переменные, которые могут/должны быть установлены через параметры роли. Любые переменные, которые читаются из других ролей и/или глобальной области (т.е. hostvars, group vars, и т.д.) также должны быть упомянуты.
Развёртывание Исходного Кода
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 или maridb.
moodle_cfg_dbname: moodle # Имя базы данных.
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: ***** # Случайно сгенерированный пароль.
Если служба базы данных установлена, указанный пользователь moodle_cfg_dbuser
будет иметь все административные привилегии на указанную базу данных. Если пароль базы данных moodle_cfg_dbpass
не указан, будет сгенерирован случайный пароль длиной 24 символа, состоящий из букв ASCII и цифр.
Веб Хостинг
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 из подкаталога существующего виртуального хоста или необходимо создать новый виртуальный хост специально для него. Если указан подкаталог
, тогда moodle_deploy_destination
и moodle_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
.
Пример Playbook
Включение примера того, как использовать вашу роль (например, с переменными, переданными в качестве параметров), всегда приятно для пользователей:
- hosts: servers
roles:
- role: geoffreyvanwyk.moodle
moodle_plugins_git:
- name: theme_learningsandboxonline
repository: https://github.com/geoffreyvanwyk/moodle-theme_learningsandboxonline
version: MOODLE_403_STABLE
Лицензия
Copyright © 2023 Geoffrey Bernardo van Wyk https://geoffreyvanwyk.dev
Этот файл является частью роли Ansible geoffreyvanwyk.moodle.
Роль Ansible geoffreyvanwyk.moodle является бесплатным программным обеспечением: вы можете распространять его и/или модифицировать в соответствии с условиями Общественной лицензии GNU, как опубликовано Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Роль Ansible geoffreyvanwyk.moodle распространяется с надеждой, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии товарной пригодности или соответствия для конкретной цели. Смотрите Общественную лицензию GNU для получения дополнительных деталей.
Вы должны были получить копию Общественной лицензии GNU вместе с Ansible ролью geoffreyvanwyk.moodle. Если нет, смотрите https://www.gnu.org/licenses/.
Информация о Авторе
Необязательный раздел для авторов роли, чтобы включить контактную информацию или веб-сайт (HTML не разрешен).
Geoffrey Bernardo van Wyk создал эту роль в 2023 году.
ansible-galaxy install geoffreyvanwyk/ansible-role-moodle