Задачи по ролям: Установка 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