Задачи по ролям: Установка Moodle 4.5 (LTS) на lms.cdto.life
Проект: DENKART
Дата: 2026-02-12
Проект в Redmine: moodle-45-lms
В документе: задействование всей команды при составлении списка задач, сводный список задач проекта, затем задачи по каждой роли. Актуальный список в Redmine: ./scripts/redmine-list-project-issues.py moodle-45-lms.
Задействование всей команды при составлении списка задач
Список задач проекта формируется при участии всех ролей. Вклад каждой роли при составлении и актуализации списка:
| Роль | Вклад в составление списка задач |
|---|---|
| Менеджер | Инициация и координация; утверждение состава фаз и приоритетов; согласование списка с заказчиком (CDTO); контроль полноты списка по фазам. |
| Архитектор | Задачи, связанные с решениями: контейнер, сеть, IP, точка входа, SSL, маршрутизация; проверка непротиворечивости задач архитектуре. |
| DevOps | Инфраструктурные и установочные задачи: save-state, LXD, PHP/Nginx/БД, установка Moodle, плагин, vhost, SSL, cron; декомпозиция на подзадачи при необходимости. |
| Разработчик | Задачи по настройке приложения: БД для Moodle, установщик, плагин BBB, активность в курсе; уточнение формулировок технических задач. |
| Тестировщик | Задачи на проверки: Environment check, доступ, DNS, HTTPS, сценарии (BBB в курсе); критерии приёмки и проверочные шаги в описаниях. |
| Аналитик | Задачи по документации, бэкапу, регламентам (пароль, cron); полнота постустановочных и документирующих задач. |
| Репортёр | Задачи на отчёты по фазам и баг-репорты; шаблоны отчётов и форма фиксации инцидентов. |
Порядок работы: Менеджер запускает сбор предложений по задачам от Архитектора, DevOps, Разработчика, Тестировщика, Аналитика и Репортёра; сводный список согласовывается командой и утверждается Менеджером; задачи вносятся в Redmine (вручную или через скрипты).
Сводный список задач проекта
Единый список задач по фазам с указанием ответственной роли. Нумерация в первом столбце — сквозная для удобства; в Redmine могут быть свои ID (#2–#8, #31–#55 и др.).
| № | Фаза | Задача | Ответственная роль | Краткое описание |
|---|---|---|---|---|
| 1 | 1 | save-state и точка отката | DevOps | save-state-before-migration.sh pre-moodle-install; коммит и push |
| 2 | 1 | Проверка RAM | DevOps | free -h, убедиться ~2 GB для контейнера |
| 3 | 1 | Решения по подготовке (контейнер, IP, pool) | Архитектор | Один контейнер, 2 CPU / 2 GB RAM, infra-pool, IP 10.218.14.104 |
| 4 | 1 | Создание LXD-контейнера moodle | DevOps | lxc launch ubuntu:22.04 moodle (infra-pool, лимиты) |
| 5 | 1 | Статический IP 10.218.14.104 | DevOps | Настроить netplan в контейнере |
| 6 | 1 | Проверка доступности контейнера | Тестировщик | Контейнер запущен, доступ по SSH |
| 7 | 1 | Координация и приёмка фазы 1 | Менеджер | План, сроки, приёмка этапа |
| 8 | 1 | Отчёт по фазе 1 | Репортёр | Статус подготовки хоста и контейнера |
| 9 | 2 | apt update && apt upgrade | DevOps | Обновление пакетов в контейнере |
| 10 | 2 | PHP 8.1+, Nginx, MariaDB/MySQL | DevOps | Установка веб-стека и СУБД |
| 11 | 2 | Расширения PHP и max_input_vars | DevOps | php-fpm, php-*; max_input_vars ≥ 5000 |
| 12 | 2 | БД и пользователь для Moodle | DevOps, Разработчик | Создать БД и учётную запись для Moodle |
| 13 | 2 | Координация фазы 2 | Менеджер | Приёмка этапа |
| 14 | 2 | Отчёт по фазе 2 | Репортёр | Статус базовой настройки контейнера |
| 15 | 3 | Скачать Moodle 4.5 LTS | DevOps | Загрузка с moodle.org или git MOODLE_405_STABLE |
| 16 | 3 | Распаковать в /var/www/moodle | DevOps | Размещение кода, владелец www-data |
| 17 | 3 | Веб- или CLI-установщик Moodle | DevOps, Разработчик | Запуск установки: БД, moodledata, админ |
| 18 | 3 | Environment check | Тестировщик | Страница «Проверка окружения» — все проверки пройдены |
| 19 | 3 | Координация фазы 3 | Менеджер | Приёмка этапа |
| 20 | 3 | Отчёт по фазе 3 | Репортёр | Статус установки Moodle |
| 21 | 4 | Установить mod_bigbluebuttonbn | DevOps, Разработчик | Установка плагина в Moodle |
| 22 | 4 | URL и Shared Secret BBB | DevOps, Разработчик | В настройках плагина: school.cdto.life/bigbluebutton/, secret |
| 23 | 4 | Проверка активности в курсе | Разработчик, Тестировщик | Активность BigBlueButton в курсе, вход в конференцию |
| 24 | 4 | Координация фазы 4 | Менеджер | Приёмка этапа |
| 25 | 4 | Отчёт по фазе 4 | Репортёр | Статус интеграции с BBB |
| 26 | 5 | Решения по веб и SSL (точка входа, терминация) | Архитектор | BBB vs nginx-reverse-proxy; где SSL |
| 27 | 5 | Виртуальный хост lms.cdto.life | DevOps | Конфиг Nginx/Apache в контейнере, PHP-FPM |
| 28 | 5 | Маршрутизация в Nginx/HAProxy | DevOps | proxy_pass на 10.218.14.104:80 в точке входа |
| 29 | 5 | SSL Let's Encrypt для lms.cdto.life | DevOps | Выпуск и настройка сертификата |
| 30 | 5 | Координация фазы 5 | Менеджер | Приёмка этапа |
| 31 | 5 | Отчёт по фазе 5 | Репортёр | Статус веб и SSL |
| 32 | 6 | DNS A-запись lms.cdto.life | Архитектор (согласование), DevOps (проверка), Тестировщик | Проверить A-запись, dig/host |
| 33 | 6 | Проверка доступа: с хоста и извне | Тестировщик | curl -H Host: lms.cdto.life; https://lms.cdto.life |
| 34 | 6 | Координация фазы 6 | Менеджер | Приёмка этапа |
| 35 | 6 | Отчёт по фазе 6 | Репортёр | Результаты проверки доступа |
| 36 | 7 | Пароль администратора Moodle | Аналитик | Смена пароля учётной записи админа |
| 37 | 7 | Cron для Moodle | DevOps (настройка), Аналитик (регламент в документации) | Настроить cron; зафиксировать в документации |
| 38 | 7 | Резервное копирование | Аналитик | Включить БД и moodledata в план резервного копирования |
| 39 | 7 | Обновить документацию | Аналитик | services-config.md, host-server-passport.md; при необходимости INDEX, NAVIGATION |
| 40 | 7 | Координация и приёмка фазы 7 | Менеджер | Приёмка, связь с заказчиком |
| 41 | 7 | Отчёт о завершении проекта | Менеджер | Итоговый отчёт, передача документации |
| 42 | 7 | Отчёт по фазе 7 | Репортёр | Постустановка и документация |
| — | — | Баг-репорт при сбое | Репортёр | При ошибках — задача в Redmine с воспроизведением и логами |
Фазы: 1 — подготовка хоста и контейнера; 2 — базовая настройка контейнера; 3 — установка Moodle 4.5; 4 — интеграция с BigBlueButton; 5 — веб-сервер и SSL; 6 — проверка доступа; 7 — постустановка и документация.
1. Менеджер (AI Denkart Менеджер)
Координация проекта, приоритизация, приёмка этапов, связь с заказчиком. Отдельных «технических» задач в плане нет — роль сквозная.
| № | Задача | Примечание |
|---|---|---|
| — | Координация фаз 1–7 | План, сроки, приоритеты |
| — | Приёмка этапов | После каждой фазы (или по вехам) |
| — | Связь с заказчиком (CDTO) | Уточнение требований, отчёт о статусе |
| — | Отчёт о завершении проекта | Итоговый отчёт, передача документации |
2. Архитектор (AI Denkart Архитектор)
Технические решения: размещение, сеть, маршрутизация, SSL. Задачи — принятие решений и согласование схемы.
| № | Задача | Описание |
|---|---|---|
| 2 / 1 | Решения по фазе 1 (подготовка) | Выбор: один контейнер Moodle, лимиты 2 CPU / 2 GB RAM, storage infra-pool, IP 10.218.14.104 |
| 33 | Создание LXD-контейнера moodle | Параметры контейнера (образ, лимиты, pool) — согласование с планом |
| 34 | Статический IP 10.218.14.104 | Решение по сети (lxdbr0, netplan) |
| 6 / 5 | Решения по веб и SSL (фаза 5) | Точка входа: BBB vs nginx-reverse-proxy; место терминации SSL |
| 47 | Виртуальный хост lms.cdto.life | Согласование размещения (в контейнере Moodle) |
| 48 | Маршрутизация в Nginx/HAProxy | Решение: проксирование на 10.218.14.104:80 из BBB или nginx-reverse-proxy |
| 49 | SSL Let's Encrypt | Стратегия: где выпускать сертификат, где хранить ключи |
| 50 | DNS A-запись | Проверка/согласование: lms.cdto.life → IP сервера |
3. DevOps (AI Denkart DevOps)
Инфраструктура, установка ПО, веб-сервер, SSL, интеграция. Основной объём технических задач.
| № | Задача | Описание |
|---|---|---|
| 2 | Moodle 4.5: подготовка хоста и контейнера | save-state; RAM; LXD-контейнер; статический IP |
| 31 | save-state и точка отката | Выполнить save-state-before-migration.sh pre-moodle-install; коммит и push |
| 32 | Проверка RAM | free -h, убедиться ~2 GB для контейнера |
| 33 | Создание LXD-контейнера moodle | lxc launch ubuntu:22.04 moodle (infra-pool, 2 CPU, 2 GB RAM) |
| 34 | Статический IP 10.218.14.104 | Настроить netplan в контейнере |
| 35 | Проверка доступности | Контейнер запущен, доступ по SSH |
| 3 | Moodle 4.5: базовая настройка контейнера | PHP, Nginx, MariaDB/MySQL, расширения, БД |
| 36 | apt update && apt upgrade | Обновление пакетов в контейнере |
| 37 | PHP 8.1+, Nginx, MariaDB/MySQL | Установка веб-стека и СУБД |
| 38 | Расширения PHP и max_input_vars | php-fpm, php-mysql, php-curl, php-xml и др.; max_input_vars ≥ 5000 |
| 39 | БД и пользователь для Moodle | Создать БД и учётную запись для Moodle |
| 4 | Moodle 4.5: установка приложения | Скачать, распаковать, права, установщик |
| 40 | Скачать Moodle 4.5 LTS | Загрузка с moodle.org (или git MOODLE_405_STABLE) |
| 41 | Распаковать в /var/www/moodle | Размещение кода, владелец www-data |
| 42 | Веб- или CLI-установщик | Запуск установки Moodle (БД, moodledata, админ) |
| 5 | Moodle 4.5: интеграция с BigBlueButton | Плагин mod_bigbluebuttonbn, URL и Shared Secret |
| 44 | Установить mod_bigbluebuttonbn | Установка плагина в Moodle |
| 45 | URL и Shared Secret | В настройках плагина: https://school.cdto.life/bigbluebutton/ и secret из bbb-conf --secret |
| 6 | Moodle 4.5: веб-сервер и SSL для lms.cdto.life | vhost, маршрутизация, SSL |
| 47 | Виртуальный хост lms.cdto.life | Конфиг Nginx/Apache в контейнере, PHP-FPM |
| 48 | Маршрутизация в Nginx/HAProxy | proxy_pass на 10.218.14.104:80 в точке входа (BBB или nginx-reverse-proxy) |
| 49 | SSL Let's Encrypt | Выпуск и настройка сертификата для lms.cdto.life |
| 50 | DNS A-запись | Проверить A-запись lms.cdto.life (при необходимости согласовать с архитектором) |
| 53 | Cron для Moodle | Настроить cron: php /var/www/moodle/admin/cli/cron.php |
4. Разработчик (AI Denkart Разработчик)
Прикладная настройка Moodle: БД, установщик, плагины, активность в курсе.
| № | Задача | Описание |
|---|---|---|
| 3 | Moodle 4.5: базовая настройка контейнера | Участие: создание БД и пользователя для Moodle (совместно с DevOps) |
| 39 | БД и пользователь для Moodle | Создание БД, пользователя, прав доступа для Moodle |
| 4 | Moodle 4.5: установка приложения | Настройка установщика: БД, пути moodledata, учётная запись админа |
| 42 | Веб- или CLI-установщик | Прохождение установщика Moodle (параметры БД, сайт, админ) |
| 5 | Moodle 4.5: интеграция с BigBlueButton | Настройка плагина и активности в курсе |
| 44 | Установить mod_bigbluebuttonbn | Установка/обновление плагина (если не через пакет) |
| 45 | URL и Shared Secret | Ввод URL BBB и Shared Secret в настройках плагина |
| 46 | Проверка активности в курсе | Добавление активности BigBlueButton в тестовый курс, базовая проверка входа |
5. Тестировщик (AI Denkart Тестировщик)
Проверка окружения, доступа, сценариев использования.
| № | Задача | Описание |
|---|---|---|
| 35 | Проверка доступности | Контейнер доступен по SSH, сервисы отвечают |
| 43 | Environment check | Страница «Проверка окружения» в установщике Moodle — все проверки пройдены |
| 46 | Проверка активности в курсе | Сценарий: курс → активность BigBlueButton → вход в конференцию (school.cdto.life) |
| 7 | Moodle 4.5: проверка доступа lms.cdto.life | DNS, доступ с хоста и извне |
| 50 | DNS A-запись | dig/host lms.cdto.life — запись указывает на сервер |
| 51 | HTTPS доступ | Проверка с хоста (curl -H Host: lms.cdto.life) и извне https://lms.cdto.life |
6. Аналитик (AI Denkart Аналитик)
Документация, регламенты, резервное копирование, постустановочные шаги.
| № | Задача | Описание |
|---|---|---|
| 8 | Moodle 4.5: постустановка и документация | Пароль админа, cron, бэкап, обновление документации |
| 52 | Пароль администратора | Смена пароля учётной записи администратора Moodle |
| 53 | Cron для Moodle | Регламент запуска cron (совместно с DevOps — настройка; аналитик — фиксация в документации) |
| 54 | Резервное копирование | Включить БД Moodle и каталог moodledata в план резервного копирования (docs/operations/backup.md) |
| 55 | Обновить документацию | Обновить services-config.md, host-server-passport.md (контейнер moodle, домен lms.cdto.life); при необходимости INDEX.md, NAVIGATION.md |
7. Репортёр (AI Denkart Репортёр)
Фиксация инцидентов, отчёты, статусы. В плане установки отдельные задачи не зарезервированы — выполняются по мере необходимости.
| № | Задача | Описание |
|---|---|---|
| — | Отчёт по фазе 1 | Статус подготовки хоста и контейнера |
| — | Отчёт по фазе 2 | Статус базовой настройки контейнера |
| — | Отчёт по фазе 3 | Статус установки Moodle |
| — | Отчёт по фазе 4 | Статус интеграции с BBB |
| — | Отчёт по фазе 5 | Статус веб и SSL |
| — | Отчёт по фазе 6 | Результаты проверки доступа |
| — | Отчёт по фазе 7 | Постустановка и документация |
| — | Баг-репорт при сбое | При ошибках установки/проверки — создание задачи в Redmine с воспроизведением и логами |
Сводная таблица: фаза → роли
| Фаза | Менеджер | Архитектор | DevOps | Разработчик | Тестировщик | Аналитик | Репортёр |
|---|---|---|---|---|---|---|---|
| 1. Подготовка хоста и контейнера | координация | решения | выполнение | — | проверка доступности | — | отчёт |
| 2. Базовая настройка контейнера | координация | — | выполнение | БД, пользователь | — | — | отчёт |
| 3. Установка Moodle 4.5 | координация | — | установка кода, окружение | установщик, настройка | Environment check | — | отчёт |
| 4. Интеграция с BBB | координация | — | плагин, URL, secret | настройка, активность в курсе | проверка в курсе | — | отчёт |
| 5. Веб и SSL | координация | решения | vhost, маршрутизация, SSL | — | — | — | отчёт |
| 6. Проверка доступа | координация | DNS/маршрутизация | — | — | DNS, HTTPS | — | отчёт |
| 7. Постустановка и документация | координация, приёмка | — | cron (настройка) | — | — | пароль, бэкап, docs | отчёт |
Связанные документы
Технический директор: AI Denkart
Владелец ресурсов: CDTO Dkvark