Меню

Moodle как настроить главную страницу

Разворачиваем школьный учебный портал на Moodle и BigBlueButton

В конце марта 2020 маленькая камчатская школа столкнулась с той же проблемой, что и все школы нашей страны: как учить детей если они не могут ходить в школу?

Просто скидывать материал для самостоятельного изучения нельзя, должна быть обратная связь, надо убедиться, что ученик правильно понял материал.

Изучение федеральных порталов дало понимание, что имеющиеся уроки имеют слишком примитивное изложение тем, а те, что позволяют загружать свой материал скорее всего не переживут возросшую нагрузку. Поэтому были сформулированы требования к учебному порталу:

  1. Решение на своих серверах (self-hosted). Отказ от публичных сервисов, которые скорее всего не справятся с нагрузкой (что позже и подтвердилось).
  2. Ручная регистрация. Ученик должен получить логин/пароль от классного руководителя, а не ходить по ресурсам и самостоятельно регистрироваться.
  3. Работа в браузере на всех устройствах без необходимости установки стороннего ПО. Так как и родители и дети сидят дома, а компьютеров на всех не хватит, то учебный портал должен запускаться на любых устройствах (компьютеры, планшеты, смартфоны), которые в данный момент доступны ученику. Установка дополнительного ПО может стать проблемой, поэтому работать все должно в браузере без дополнительных плагинов (Flash и т.д.).
  4. Структурирование материалов урока, наличие обратной связи по каждому выполненному заданию. Выполненная учеником работа должна лежать там же, где и задание. Учитель не должен заниматься сортировкой домашних работ. У учителя должна быть возможность отмечать ошибки ученика прямо на его работе и там же оставлять комментарии.
  5. Контроль активности учащихся. Учителю надо знать, когда конкретный ученик заходил и что делал.
  6. Сквозная авторизация в видеоуроках. Ученикам нельзя давать возможность самостоятельно представляться в видеоуроках, а у учителя должны быть все инструменты модерации видеоурока (включение/выключение микрофонов и камеры каждого участника, запрет личных чатов, включение/выключение общего чата).

После беглого поиска и тестирования выбрали связку Moodle+BigBlueButton как удовлетворяющую всем этим требованиям одновременно.

Установка и настройка заняла 1 выходной день, обучение учителей и решение организационных вопросов — неделю каникул.

Для начала мы купили домен (я везде буду использовать вымышленный myportal.ru), делегировали его на DNS-серверы и начали установку.

Для установки Moodle взята «голая» виртуальная машина Ubuntu 18.04 с 8 vCPU, 24 ГБ ОЗУ и 2 ТБ места. Изначально установлен только SSH-сервер.

Подробно установка описана тут.
Чтобы не писать sudo перед каждой командой логинимся под root:

Удаляем лишние компоненты:

Ставим apache, mysql и php:

Проходим мастер для защиты mysql:

Ставим остальные пакеты, которые нужны Moodle:

Редактируем часовой пояс в /etc/php/7.2/cli/php.ini и /etc/php/7.2/apache/php.ini (естественно, указываем свой):

Качаем Moodle и распаковываем его в каталог /var/www/html/moodle:

Изначально права на каталог /var/www/html/moodle 0777, но после установки плагинов обязательно поменяем их на 0755:

Создаем каталог /var/www/moodledata, в нем наш Moodle будет хранить все файлы. На каталог /var/www/moodledata выставляем права 0777:

Удаляем сайт по-умолчанию из /etc/apache2/sites-available/ и создаем там свою конфигурацию с именем портала (например, urok.myportal.ru.conf)и следующим содержимым:

Читайте также:  Где починить съемный зубной протез

Делаем рестарт apache2 и получаем бесплатный сертификат:

В результате к нашему сайту можно подключаться по https, а конфигурация apache2 будет такой в двух файлах (с редиректом на https):

Создаем базу данных, ‘pass’ меняем на свой сложный пароль:

Теперь можно открыть наш сайт в браузере и пройти мастер установки Moodle. Потребуется указать имя базы данных (moodle), логин (moodleuser) и пароль, который мы придумали на предыдущем шаге.

После установки прописываем запуск cron.php по расписанию:

Тут замечена некоторая неторопливость Moodle, поэтому сразу был установлен Memcached:

Cтавим следующие плагины (Администрирование — Плагины — Установка плагинов):
— Opcache management для производительности https://moodle.org/plugins/tool_opcache
— Atto: Styles для визуального редактора https://moodle.org/plugins/atto_styles
— BigBlueButtonBN для видеоуроков https://moodle.org/plugins/mod_bigbluebuttonbn
— Moove в качестве темы оформления https://moodle.org/plugins/theme_moove
После установки плагинов меняем права на каталог moodle:

Это требуется для безопасности: веб-сервер выполняется от имени www-data, поэтому он не сможет писать в каталог /var/www/html/moodle. Как я уже писал, хранит свои файлы Moodle в отдельном каталоге /var/www/moodledata.

В дальнейшем на время обновления плагинов и тем можно временно менять права на каталог:

Выполнять обновление плагинов и тем через админку moodle и возвращать права:

На этом установка Moodle завершена, приступаем к установке BigBlueButton.

Тема Moove выбрана как самая простая с точки зрения пользователя. На главной странице пользователя встречает большое окно с просьбой ввести логин и пароль, а после логина — список уроков. Заблудиться невозможно.

Конечно, хотелось бы вместо предметов иметь список уроков на сегодня (более привычный формат для школы), но так как на второй день после установки с порталом начали работать учителя, то решили больше ничего не трогать и не менять в навигации.

Входящий в состав BBB Freeswitch не дружит с виртуализацией и разработчик настойчиво рекомендует ставить BBB на физический сервер. На антресольке был найден сервер Dell R610 с 2х Xeon X5650, на который и был установлен BBB.

ОС по рекомендациям разработчика была выбрана Ubuntu 16.04.
Обновляем систему и выставляем часовой пояс:

Включаем ufw и открываем порты, которые будет использовать BBB:

Создаем каталог /var/bigbluebutton/, в нем будут храниться записи вебинаров.
Я для этого каталога использовал отдельный LUN объемом 4 ТБ.

Если она отличается от en_US.UTF-8, то делаем следующее:

Логинимся заново и убеждаемся, что локаль en_US.UTF-8:

Теперь проверяем язык в show-environment. Если он отличается от en_US.UTF-8, то исправляем:

Дальше воспользуемся готовым скриптом установки BBB https://github.com/bigbluebutton/bbb-install

Вместо bbb.myportal.ru и help@myportal.ru подставляем свои значения. Сервер будет установлен, получен бесплатный сертификат Let’s Encrypt, настроен https.

После установки удаляем лишнее:

Moodle будет создавать комнаты BigBlueButton используя API. Получаем ключ API:

Этот URL и ключ мы укажем в настройка модуля Moodle BigBlueButtonBN.

Moodle отправляет очень много уведомлений. Даже если в настройках все выключить, пользователь может для конкретного предмета или урока включить отправку уведомлений на почту и ему будет отправляться письмо по каждому событию.

Читайте также:  Фен не работает одна скорость

Сначала мы использовали pdd.yandex.ru, но уже на второй день столкнулись с ограничением в 3000 писем с одного ящика. Поэтому pdd.yandex.ru был заменен собственным сервером Zimbra.
Берем Ubuntu 18.04 (4vCPU и 16 ГБ ОЗУ на наши 1000 пользователей) и качаем для нее Zimbra Open Source Edition: https://www.zimbra.com/downloads/zimbra-collaboration-open-source/

Первым делом надо прописать в hosts реальный ip и имя сервера:

Удаляем лишние компоненты:

Распаковываем дистрибутив Zimbra и запускаем инсталлятор

Cоглашаемся с лицензионным соглашением и выбираем компоненты для установки.

Я ставил все, кроме zimbra-drive, zimbra-chat и zimbra-imapd
Во время установки скрипт спросит название домена. Необходимо указать домен в формате myportal.ru

В конце указываем пароль администратора через оции 7 — 4 — ввод пароля — r — a.
Включаем ufw и открываем порты, которые будет использовать Zimbra:

Теперь можно зайти в админку Zimbra по адресу mail.myportal.ru:7071
Для получения сертификата Let’s Encrypt будет использоваться этот скрипт: https://github.com/VojtechMyslivec/letsencrypt-zimbra

В конфиге необходимо указать свою почту и имя сервера:

Разрешаем пользователю zimbra запускать certbot:

Добавляем в планировщик автоматическое обновление сертификата:

Так как учеников много, то ящики мы создаем с помощью скрипта. Из таблицы Excel с помощью склеивания значений столбцов выгружается строки создания пользователей и копируются в скрипт.

Скрипт имеет вид:

Скрипт запускается от имени пользователя zimbra.

Для того, чтобы BBB говорил по-русски установим русскую озвучку:

И распаковываем все в /opt/freeswitch/share/freeswitch/sounds.

Необходимо поправить права на каталог, чтобы к файлам имел доступ freeswitch:

Презентация, которая по-умолчнию отображается в комнатах лежит по адресу: /var/www/bigbluebutton-default/default.pdf

Некоторые параметры с объяснениями:

Сообщение в чате, которое будет отображаться при входе пользователя:

Следующие настройки влияют на пользователей со статусом «заблокировано» в конференции

Здесь я сменил качество по-умолчанию на hd и добавил значение скорости, которое будет отображаться пользователю при попытке включить камеру:

Добавил поддержку Яндекс.Браузера, иначе пользователей с таким браузером не пустит в конференцию с ошибкой «Неподдерживаемый браузер»:

После изменения настроек необходимо перезапустить сервер:

Первым делом настраиваем главную страницу: Администрирование — Главная страница — настройки главной страницы. На главной мы отсавили только Объявления, а после входа отображаются Курсы, на которые пользователь записан и Объявления.

Дальше идем в Администрирование — Сервер. Настраиваем Имя техподдержки, Электронная почта техподдержки.

В Opcache management убеждаемся, что кеширование работает.

В Сервер / Электронная почта указываем настройки отправки писем.

Сервер: mail.myportal.ru, Безопасность TLS, Тип аутентификации LOGIN, Логин noreply@myportal.ru, Пароль тот, что указывали при создании ящика. Разрешенные почтовые домены — myportal.ru, Информация о сайте, с которого отправлено сообщение — Всегда.

В Оценки — Общие настройки «Оценка в баллах по умолчанию» указываем привычные школе «5».
В настройке темы Moove (Внешний вид — Moove) я добавил завершающий код SCSS чтобы работал плагин ATTO:

В настройках главной страницы можно выключить все лишние блоки и рекламу спонсоров, а в настройках нижнего колонтитула указать контакты техподдержки.

Читайте также:  Как настроит часы g shock resist

В настройках плагинов (Администрирование — Плагины — Обзор плагинов) выбираем Видеоконференция BigBlueButton и указываем URL сервера BigBlueButton и секретный ключ, который мы получали командой bbb-conf —secret.

В настройках аутентификации (Администрирование — Плагины — Аутентификация — Ручная регистрация) запрещаем пользователям менять имя, фамилию, адрес электронной почты и отключаем самостоятельную регистрацию ( в разделе Аутентификация).

Создание пользователей Moodle.

Снова берем табличку с фамилией, именем, классом, генерируем всем пароли (например, с помощью ViPNet Password Generator) и формируем логины и адреса электронной почты. Чтобы не было мучительно больно при использовании паролей в csv и скриптах, удаляем из паролей те, что содержат ‘ и;

Сохраняем в csv в таком формате:

Кодировка файла должна быть UTF-8, преобразовывать удобно в notepad++.

Открываем Администрирование — Пользователи — Загрузить пользователей. Разделитель «:» Строк предпросмотра «1000». Смотрим на наличие ошибок и если все хорошо — загружаем.

Теперь у нас есть все ученики. Осталось создать учителей и можно создавать уроки.

Открываем Администрирование — Курсы — Управление курсами и категориями. Создаем категорию. Например, «Школа №1».

Назначаем роли категории:

В Управляющих добавляем завучей и директора, в создателей курса всех учителей.
Создаем курс (например, 11 А Информатика ). Находясь в курсе учитель или завуч нажимают «Участники» — «Записать пользователей на курс».

Можно выбрать группу (например, «11 А (2020)»), чтобы записать всех пользователей из класса.
Чтобы добавить элементы в урок включаем режим редактирования и добавляем элемент.

Например, конференцию BigBlueButton. Для запуска конференции нажимаем «Подключиться к сеансу». Видеоурок начался.

За месяц накопился опыт работы в режиме видеоуроков.

  1. Лучше всего для онлайн-обучения использовать недорогие настольные USB-микрофоны типа Fifine K669 или DEXP U700. Чем меньше кнопок на микрофоне, тем лучше.
  2. Учителя старших классов к середине месяца практически перестали пользоваться веб-камерами, так как главное — презентация и голос. Видео отвлекает учеников и не позволяет учителю просыпаться в 8:10 и сразу начинать урок.
  3. За 30 минут онлайн-урока учителя рассказывают намного больше, чем большинство учеников успевают выучить самостоятельно за то же время.

От других школ были запросы «хочется такого же, как Zoom, чтобы по ссылке», поэтому был поднят отдельный сервер с BigBlueButton и Greenlight в качестве панели управления.

Ставится он так же, как и BBB, только с ключом -g в конце:

Есть защита от срыва уроков (явление, названное zoom bombing): при создании конференции можно включить режим «Требуется одобрение модератора перед подключением». При каждом входе ученика потребуется подтверждение учителя, учитель будет пускать только своих учеников по знакомой фамилии.

Для индивидуальных консультаций был развернут сервер Jitsi, который позволяет быстро создать комнату и поделиться ссылкой, но им так активно не пользуются предпочитая создавать конференции BigBlueButton для каждого ученика на основном портале.

Надеюсь, наш опыт кому-то пригодится и мы сделали мир чуточку лучше.

Источник

Adblock
detector