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

Содержание
  1. Почему мы используем собственный сервер
  2. Что осталось за бортом?
  3. Что может начальная версия
  4. Как сделать резервную копию moodle перед обновлением?
  5. Как обновить Moodle?
  6. Как выбрать тему оформления в Moodle?
  7. Как разрешить пользовательские темы в Moodle?
  8. Как удалить плагин Moodle?
  9. Adaptable
  10. Bigbluebutton
  11. Faq — часто задаваемые попросы
  12. Level up!
  13. Overview statistics
  14. Выбираем и регистрируем домен
  15. Ещё раз о сертификате в moodle
  16. Запускаем сервер дистанционного обучения на moodle
  17. Как попробовать moodle без установки
  18. Как установить moodle на локальный компьютер
  19. Как установить moodle на отдельный хостинг beget
  20. Как установить moodle: пошаговая инструкция
  21. Как установить плагины
  22. Разворачиваем школьный учебный портал на moodle и bigbluebutton
  23. Резюме
  24. Создаем сервер
  25. Ставим операционную систему
  26. Устанавливаем apache и mysql
  27. Устанавливаем moodle
  28. Устанавливаем php
  29. Устанавливаем веб-сервер
  30. Установка webmin
  31. Шаг 2. пройдите регистрацию
  32. Шаг 2. разархивируйте дистрибутив отдельную папку
  33. Шаг 2. установите moodle на beget
  34. Шаг 3. запустите установщик
  35. Шаг 3. перейдите в moodle
  36. Шаг 4. откройте moodle в браузере
  37. Шаг 5. установите moodle

Почему мы используем собственный сервер

В нашей школе дистанционное обучение проводится с 2021 года. В тот год первые две недели царил «полнейший аврал», но сдача экзаменов среднего образования прошла без каких-либо эксцессов. Даже был проведен виртуальный выпускной.

К концу учебного года, при 1500 студентов, система стала занимать на диске более 600 Гб. Плюс место для резервных копий. Для резервных копий был выделен внешний жесткий диск. Как понимаете, при таком объеме дискового пространства стоимость выделенного сервера становится недоступной для бюджета учебного заведения. Потому и приходится создавать и обслуживать собственный сервер.

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

Этим материалом я постараюсь облегчить процесс установки Moodle. Совсем без командной строки, конечно, не обойтись, но я попробую сделать этот процесс максимально простым и понятным.

Что осталось за бортом?

А там осталось многое. Как внедрить в Moodle видеоконференцию Zoom или BigBlueButton. Как установить сертификат SSL. Как для обеспечения безопасности сменить порт Webmin. Как запустить резервное копирование…

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

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

Источник

Что может начальная версия

После установки вы попадаете на начальную страницу Moodle. Это «нулевая» система. Здесь уже есть некоторые модули, позволяющие осуществлять базовые действия, вроде создания курсов и записи пользователей, так что с ней уже можно работать.

Moodle полностью управляется через панель «Администрирование». Функций здесь не так много, но достаточно для первой настройки. В «нулевой» Moodle можно:

  • Создавать лекции, тесты и задания во встроенном редакторе
  • Приглашать и импортировать пользователей, объединять их в группы, записывать их на курсы
  • Просматривать статистику активности на платформе

Изменение дизайна, интеграция с другими сервисами, визуализация отчетов и другие функции настраиваются с помощью плагинов. Это архивы с настройками, которые скачиваются из интернета и устанавливаются на платформу. К примеру, можно добавить возможность устраивать вебинары, чего в «нулевой» Moodle нет.

Как сделать резервную копию moodle перед обновлением?

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

Как обновить Moodle?

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

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

  1. Создайте резервные копии баз данных, дополнительных плагинов и папки moodledata, чтобы не потерять курсы, тесты и всю статистику. Как создать резервную копию в Moodle →

На этом подготовительная работа заканчивается. Теперь обновим Moodle. В среднем, работа занимает 15 минут.

Как выбрать тему оформления в Moodle?

Чтобы изменить оформление Moodle на панели Администрирование выберите раздел Внешний вид → Темы → Выбор темы. Перед вами появится список доступных вариантов оформления СДО. Выберите тему и нажмите Продолжить — Moodle сменит внешний вид.

Как разрешить пользовательские темы в Moodle?

  1. Разрешите установку дополнительных тем. Для этого зайдите на свой учебный портал и на панели Администрирование выберите раздел Внешний видТемыВыбор темыРазрешить пользовательские темы. Теперь вы сможете загрузить в систему шаблон с новым оформлением.
  2. Установите новый шаблон оформления. Для этого панели Администрирование выберите ПлагиныУстановка дополнений и нажмите кнопку Установить дополнение из каталога плагинов Moodle. Вы попадёте в каталог плагинов на официальном сайте Moodle. Укажите вашу версию СДО и перейдите в раздел Themes.
  3. Выберите тему из предложенного списка и нажмите Install. Вы перейдёте на следующую страницу и увидите на какой сайт установится новое оформление. Чтобы подтвердить операцию, ещё раз нажмите Install, а после Продолжить — выбранный шаблон оформления загрузят на ваш учебный портал.
  4. Сайт проверить совместимость вашего Moodle с новым оформлением. Напротив всех пунктов должно стоять Ок. После нажмите Установить дополнение, а на следующей странице Обновить Moodle → Продолжить. Новый шаблон установлен на ваш учебный портал.
  5. Перейдите в СДО → Администрирование выберите раздел Внешний видТемыВыбор темы, найдите в списке загруженный шаблон оформления и активируйте его.

Как удалить плагин Moodle?

  1. Перейдите на учебный портал на панели Администрирование выберите ПлагиныОбзор плагинов. Выберите нужный плагин и нажмите Удалить.

Adaptable

Adaptable — альтернативная тема для Moodle, изменяющая дизайн. Для установки проделайте следующие шаги:

Bigbluebutton

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

  1. Выберите Администрирование под панелью Настройки, затем ПлагиныУстановка плагинов.
  2. Нажмите на Установить плагины из каталога Moodle.
  3. Нажмите на Log in и введите данные учетной записи на сайте Moodle.
  4. В поиске введите «big blue button» и нажмите Search.
  5. Выберите BigBlueButtonBN и нажмите Install now.
  6. Система выдаст список сайтов, если у вас их несколько. Выберите сайт и нажмите Install now.
  7. Вас перенаправит обратно в Moodle. Система уведомит о запросе на установку плагина. Нажмите Продолжить.
  8. Нажмите ПродолжитьОбновить MoodleПродолжить.
  9. Введите адрес вашей вебинарной комнаты на Big Blue Button и нажмите Сохранить изменения внизу страницы.

В редакторе курсов Moodle должен появиться новый элемент: видеоконференция BigBlueButton. Он позволяет устраивать вебинары на платформе.

Faq — часто задаваемые попросы

В этом разделе мы собрали вопросы, которые чаще всего интересуют тех, кто решил установить СДО Moodle. Если вы не нашли ответ на итересующий вас вопрос, пишите в комментариях. Мы обязательно поможем!

Level up!

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

  1. Выберите Администрирование под панелью Настройки, затем ПлагиныУстановка плагинов.
  2. Нажмите на Установить плагины из каталога Moodle.
  3. В поиске введите «gamification» и выберите Level up! — Gamification
  4. Выберите сайт и нажмите Install now.
  5. Вас перенаправит обратно в Moodle. Нажмите Продолжить.
  6. Нажмите ПродолжитьОбновить MoodleПродолжить.
  7. Настройки геймификацию на свой вкус и по завершению нажмите на Сохранить изменения внизу страницы.
  8. Плагин установлен, и теперь пользователи начнут получать виртуальный опыт за активность на сайте. Для изменения настроек перейдите в ПлагиныБлокиОпыт!

Это один из способов настроить геймификацию в Moodle. Если Level up вам не понравился — просто попробуйте другой плагин из каталога через поиск по слову Gamification.

Overview statistics

Это плагин, генерирующий отчеты по пользователям и курсам в виде графиков. Для установки проделайте следующие шаги:

Выбираем и регистрируем домен

Стоимость доменного имени составляет около 200 рублей в год. Можно, конечно, обойтись без доменного имени, но тогда на сервер придется заходить по IP-адресу, который не каждый запомнит.

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

Открываем панель управления хостингом, переходим в раздел «Домены и поддомены», кликаем на символ шестеренки и выбираем пункт «Настройки DNS». В поле «А» указываем IP-адрес, выданный вашим провайдером.

В настройках DNS также есть поле «AAAA», это IPv6-адрес. В примере он удален, поскольку не поддерживался нашим провайдером, но именно с IPv6 адресов шло большинство вредоносных запросов. Пока прописываются DNS, переходим к установке сервера.

Про сертификаты:  Вход в личный кабинет НМО | Вход в личный кабинет edu rosminzdrav ru

Ещё раз о сертификате в moodle

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

Замечу, что печать и подпись можно сделать на онлайн-сервисах, о чём я писала раньше. Сегодня несколько слов о том, как добавить рамку с подписью и печатью, оставив всё остальное на откуп системе (то есть, система остальное допишет сама.) Хотя мне не очень нравится заголовок, прописываемый системой, пока я его не меняла, оставив по умолчанию. Изменения коснулись рамки, подписи и печати.

Печать и подпись делаем в программе Corel Draw. Пробную версию программы можно скачать ЗДЕСЬ.

Печать делается размером примерно 38 миллиметров. Для рамки выбирается формат A4 альбомный. Шаблоны для рамки берём на бесплатных ресурсах с атрибутом “C правом на изменение”. В Corel Draw соединяем рамку, печать и подпись, загружаем в Moodle через Администрирование – Плагины – Модули элементов курса – Сертификат.

Пример 1. Сертификат для детей младшего школьного возраста.

Исходник взят

ЗДЕСЬ

.

В результате ученики получат следующее (со своим именем, естественно):

Как известно, созданные в Corel Draw рисунки, сохранённые в формате jpg или png, весят очень много. Чтобы картинка вашего сертификата весила мало (до 500 килабайт), сохраните свой сертификат рисунком в формате jpg и оптимизируйте здесь:

Ссылка

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

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

Или:

Меняем язык системы и получаем надпись на английском:

Можно также заменить заголовок своим, прописав его на шаблоне, можно изменить цвет букв. Рекомендуют делать это следующим образом:

Идём в папку, где установлен Сертификат:
Сервер/mod/certificate
Далее идём в папку типов сертификатов (если установлен А4_встроенный,
пример)
type/A4_embedded
Копируем файл certificate.php себе на комп
В нём комментируем строчки после //Add text
//$pdf->SetTextColor(0, 0, 120);
//certificate_print_text($pdf, $x, $y, ‘C’, $fontsans, ”, 30, get_string(‘title’, ‘certificate’));
Не забываем сохранить обратно на сервер в ту же папку под тем же именем.
Кроме того, строка $pdf->SetTextColor(0, 0, 0); задаёт цвет текста в
RGB-режиме. Перед каждым элементом можно печатать эту команду и
задавать разные цвета элементов.
Цвета можно подбирать тут:
http://colorscheme.ru/color-converter.html

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

Ещё один штрих. Для того, чтобы сертификат был не только для мальчиков (завершил), но и для девочек (завершил(а)), правим строку в certificate.php через систему, т.е внутри мудла. Администрирование – Язык – Локальные изменения языкового пакета. Находим нужный файл certificate.php, в нём нужную строку Завершил курс, вписываем в качестве перевода и сохраняем завершил (а) курс.

Запускаем сервер дистанционного обучения на moodle

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

Де-факто стандартом электронного обучения у нас является Moodle, система управления курсами. Система бесплатная и гибкая в настройке. Благодаря большому количеству плагинов обладает огромными возможностями – например, организацией платных и бесплатных курсов, интеграцией видеоконференций и так далее.

Чтобы развернуть такую систему на собственном сервере, понадобится внешний IP-адрес. Почему на собственном? Сейчас поясню.

Как попробовать moodle без установки

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

Что для этого надо сделать:

Как установить moodle на локальный компьютер

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

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

Требования к серверу для установки Moodle
Минимальные требования к серверуУстановлены следующие базы данных
Процессор: 2-х ядерный, 2ГГц

Microsoft SQL Server 2008

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

Что надо сделать для установки:

Как установить moodle на отдельный хостинг beget

Moodle можно установить и на открытый сервер, рассмотрим этот процесс на примере хостинга Beget. Если вы хотите установить на другой хостинг, то оцените, подходит ли он под минимальные требования:

Минимальные требования к хостингу для установки moodle
Минимальные требования к серверуУстановлены следующие базы данных
  • Процессор: 2-х ядерный, 2ГГц
  • ОЗУ: 1ГБ
  • Место на диске: 5ГБ
  • MySQL 5.6
  • PostgreSQL 9.4
  • MariaDB 5.5.31
  • Microsoft SQL Server 2008
  • Oracle Database 11.2

Что надо сделать для установки на хостинг:

Как установить moodle: пошаговая инструкция

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

Moodle применяют и в корпоративном секторе, когда нет выделенных бюджетов под elearning. Например, так поступили в учебном центре АО «ВМК» — внедрение Moodle обошлось в 40000 рублей.

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

Поэтому мы подготовили подробное руководство по установке Moodle. Из статьи вы узнаете, как установить Moodle на сервер или хостинг и как настроить ее в первый раз.

Если вам необходимо быстро развернуть платформу для обучения, попробуйте iSpring Learn. Платформа готова к работе сразу после регистрации, имеет простой интерфейс и поддерживает все функции Moodle. Узнайте, чем iSpring отличвается от Moodle→

Как установить плагины

Установить плагины можно двумя способами.

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

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

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

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

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

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

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

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

Установка Moodle

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

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

$ sudo su -

Обновляем систему:

apt update
apt dist-upgrade

Настраиваем timezone:

dpkg-reconfigure tzdata

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

apt-cache search cloud-init
bash -c "echo 'datasource_list: [ None ]' sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg"
apt purge -y cloud-init
rm -Rf /etc/cloud /var/lib/cloud

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

apt install apache2 mysql-client mysql-server php libapache2-mod-php mc

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

mysql_secure_installation

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

apt install graphviz aspell ghostscript clamav php7.2-pspell php7.2-curl php7.2-gd php7.2-intl php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-ldap php7.2-zip php7.2-soap php7.2-mbstring

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

[Date]
date.timezone = "Asia/Kamchatka"

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

wget https://download.moodle.org/download.php/stable38/moodle-latest-38.tgz

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

chmod 0777 -R /var/www/html/moodle

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

mkdir /var/www/moodledata
chmod 0777 -R /var/www/moodledata

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

<VirtualHost *:80>
ServerName urok.myportal.ru
ServerAdmin help@myportal.ru
DocumentRoot /var/www/html/moodle/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

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

service apache2 restart
add-apt-repository ppa:certbot/certbot
apt update
apt install certbot python3-certbot-apache
certbot --apache -d urok.myportal.ru
service apache2 restart

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

<VirtualHost *:80>
ServerName urok.myportal.ru
ServerAdmin help@myportal.ru
DocumentRoot /var/www/html/moodle/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =urok.myportal.ru
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName urok.myportal.ru
ServerAdmin help@myportal.ru
DocumentRoot /var/www/html/moodle/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/urok.myportal.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/urok.myportal.ru/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

Настраиваем ufw:

ufw enable
ufw allow ssh
ufw allow 'Apache Full'
ufw delete allow 'Apache'
ufw status
Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

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

mysql -u root -p
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'pass';

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

Про сертификаты:  Академия «Просвещение»

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

crontab -u www-data -e
* * * * * /usr/bin/php  /var/www/html/moodle/admin/cli/cron.php >/dev/null

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

apt install memcached libmemcached-tools php-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:

chmod 0755 -R /var/www/html/moodle

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

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

cd /var/www/html/moodle/
chmod -R 0757 mod/
chmod -R 0757 theme/

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

chmod -R 0755 mod/
chmod -R 0755 theme/

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

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

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

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

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

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

Установка BigBlueButton

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

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

apt update
apt dist-upgrade
dpkg-reconfigure tzdata

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

ufw enable
ufw allow ssh
ufw allow in 80,443,1935,7443/tcp
ufw allow in 16384:32768/udp

Создаем каталог /var/bigbluebutton/, в нем будут храниться записи вебинаров.

Я для этого каталога использовал отдельный LUN объемом 4 ТБ.

Проверяем локаль:

cat /etc/default/locale

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

apt-get install language-pack-en
update-locale LANG=en_US.UTF-8
exit

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

# cat /etc/default/locale
LANG=en_US.UTF-8

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

systemctl show-environment
systemctl set-environment LANG=en_US.UTF-8
systemctl show-environment
LANG=en_US.UTF-8

Дальше воспользуемся готовым скриптом установки BBB

https://github.com/bigbluebutton/bbb-install

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.myportal.ru -e help@myportal.ru

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

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

apt-get purge bbb-demo

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

# bbb-conf --secret
    URL: https://bbb.myportal.ru/bigbluebutton/
    Secret: cBjkdnjasuibnjnfdksagn6967sfrs

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

Установка почтового сервера.

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

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

Сначала мы использовали 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 и имя сервера:

mcedit /etc/hosts
127.0.0.1 localhost
77.88.99.11 mail.myportal.ru mail

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

apt-cache search cloud-init
bash -c "echo 'datasource_list: [ None ]' sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg"
apt purge -y cloud-init
rm -Rf /etc/cloud /var/lib/cloud
systemctl disable systemd-resolved
systemctl stop systemd-resolved
echo "nameserver 77.88.8.8" > /etc/resolv.conf

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

wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU18_64.20210918004220.tgz
tar -xzf zcs-8.8*
cd /home/zcs-8.8.15_GA_3869.UBUNTU18_64.20210918004220/
./install.sh

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

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

DNS ERROR resolving MX for mail.myportal.ru
Change domain name? Yes
myportal.ru

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

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

ufw enable
ufw allow ssh
ufw allow in 25,80,110,143,443,465,587,993,995,5222,5223,9071,7071/tcp

Теперь можно зайти в админку Zimbra по адресу

mail.myportal.ru

:7071

Для получения сертификата Let’s Encrypt будет использоваться этот скрипт:

https://github.com/VojtechMyslivec/letsencrypt-zimbra

apt install software-properties-common
add-apt-repository ppa:certbot/certbot
apt update
apt install certbot
git clone https://github.com/VojtechMyslivec/letsencrypt-zimbra.git /opt/letsencrypt-zimbra
cp /opt/letsencrypt-zimbra/letsencrypt-zimbra.cfg{.example,}

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

mcedit /opt/letsencrypt-zimbra/letsencrypt-zimbra.cfg
email="help@myportal.ru"
common_names=( "mail.myportal.ru" )

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

cp configs/sudoers.conf /etc/sudoers.d/zimbra_certbot

Получаем сертификат:

sudo -Hiu zimbra /opt/letsencrypt-zimbra/obtain-and-deploy-letsencrypt-cert.sh -v

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

cp configs/cron.conf /etc/cron.d/letsencrypt-zimbra

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

touch account.sh
chmod  x account.sh

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

export LC_ALL='ru_RU.UTF-8'
zmprov createAccount a9arkhipov@myportal.ru 'dhfekjcjd' displayName 'Андрей Архипов' givenName 'Андрей' sn 'Архипов' zimbraPasswordMustChange FALSE

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

su zimbra
./account.sh
Настройка Moodle

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

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

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

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

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

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

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

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

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

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

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

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

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

username:firstname:lastname:email:cohort1:city:country:lang:password
g1petrov:Владимир:Петров:g1petrov@myportal.ru:1 Г (2020):Елизово:RU:ru:drkcwf,f,

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

Про сертификаты:  Как правильно вести в 1С учет подарочных сертификатов?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s vks.myportal.ru -e help@myportal.ru -g
cd greenlight/
docker exec greenlight-v2 bundle exec rake admin:create

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

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

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

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

Update 15.10.2021. Если после 30 сентября перестали отображаться презентации, то делаем следующее:
# apt-get remove certbot
# apt-get install snapd
# snap install –classic certbot
# ln -s /snap/bin/certbot /usr/bin/certbot
# certbot renew –force-renewal –cert-name bbb.myportal.ru –preferred-chain «ISRG Root X1»
# /etc/init.d/nginx restart
# bbb-conf –stop
# bbb-conf –start

Резюме

Давайте взглянем на Moodle до и после. До установка интерфейс платформы выглядел следующим образом:

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

Конечно, до полноценного функционала платной системы обучения Moodle далеко. Потребуется установить десяток плагинов и даже внедрить свои разработки. Настройку придется делать без техподдержки, полагаясь на обзоры из Интернета. Это может подойти компаниям с малым бюджетом на обучение, университетам и энтузиастам eLearning.

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

Продукт iSpring ориентирован на быстрый запуск, и вы можете попробовать его бесплатно в течение 14 дней. В комплект входит уже настроенная система обучения iSpring Learn и конструктор курсов iSpring Suite.

источник

Создаем сервер

Для начала собираем сам сервер. Минимальные требования можно посмотреть на официальном сайте Moodle.

На нашем сервере используется следующая конфигурация, и этого хватает с лихвой:

  • Процессор – AMD A8-9600 RADEON R7,
  • Оперативная память – 16 Гб,
  • Жесткий диск – 1 Тб.

Плюс внешний жесткий диск такого же объема, на котором по расписанию создается полная копия образа в архиве, чтобы в случае форс-мажора максимально быстро восстановить систему. Диски самые обычные, не SSD, поскольку бюджет любого муниципального учебного заведения весьма ограничен. Ширина канала — 50 Мбит.

Даже когда сайт достигал пика посещений, а это примерно 400 человек онлайн, потребление ресурсов не превышало 50 процентов. В каждом конкретном случае показатели могут различаться. Поэтому, когда собираете сервер, предусмотрите возможность апгрейда.

Ставим операционную систему

Мне больше нравится Debian, но если вы склоняетесь к Ubuntu, можете поставить ее. Рассмотрим оба варианта, ибо разница между ними минимальна. Остальные OS мы рассматривать не будем. На Windows резко возрастают требования к ресурсам, а стоимость лицензии весьма ощутима.

Скачиваем образ операционной системы с официального сайта. Если выбрали Debian, то загружаем минимальный образ, все остальные пакеты будут загружены в процессе установки. Если душа просит Ubuntu, то скачиваем последнюю версию. Берем обычную версию, никаких «Server edition».

Далее через Rufus создаем загрузочный USB и ставим систему на сервер.

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

Если используем Ubuntu, загружаем и инсталлируем SSH командой:

Справка. SSH – это сетевой протокол, позволяющий удаленно работать на компьютере через командную оболочку.

Устанавливаем apache и mysql

Открываем раздел «Неиспользуемые модули», выбираем «Веб-сервер Apache» и нажимаем «Установить». Точно так же устанавливаем «Сервер баз данных MySQL».

Кликаем на «Обновить модули» и в разделе «Службы» видим только что установленные компоненты.

Устанавливаем moodle

Загружаем последнюю версию с официального сайта.

Рекомендую выбрать расширенную версию, которая оканчивается на . Далее загружаем через файловый менеджер файлы в корневую директорию сайта. У нас эта директория var www.

Создаем базу данных и, открыв в браузере адрес нашего сайта, приступаем к установке.

При установке Moodle будет запущен мастер проверки. Наиболее типичные ошибки на этом этапе:

Устанавливаем php

Осталось установить PHP. Снова открываем Putty (если закончилась сессия), заново авторизуемся под суперпользователем (root) и вводим команду:

Будет выведен список пакетов для установки. После подтверждения начнется установка.

На момент написания статьи по умолчанию устанавливается версия 7.3 или 7.4. Любая из версий нас полностью устраивает.

Ставим остальные пакеты, необходимые для запуска Moodle (пример на версии 7.3):

Если у вас установлена другая версия PHP, то в команде установки ее необходимо изменить.

Устанавливаем веб-сервер

Для работы Moodle нам нужен веб-сервер, а именно:

  • Apache – сам сервер,
  • MySQL – система управления базами данных,
  • PHP – язык, на котором написан Moodle.

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

Установка webmin

Справка. Webmin – это оболочка, которая позволяет через веб-интерфейс (т.е. через обычный браузер) управлять вашим сервером. Это и файловый менеджер, и инструмент для настройки автоматического резервного копирования или создания/удаления баз данных.

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

Шаг 2. пройдите регистрацию

Пройдите регистрацию из 5 шагов. Вас попросят ввести данные (ФИО, пароль, страну), затем пришлют код на телефон, который потребуется ввести на странице, и придумать название вашего сайта на MoodleCloud.

Шаг 2. разархивируйте дистрибутив отдельную папку

Система готова к установке, но перед этим стоит подготовить папку для файлов системы. Так вы сможете хранить все файлы Moodle в одном месте.

Создав папке, разархивируйте архив в нее.

Шаг 2. установите moodle на beget

Перейдите в вашу учетную запись, выберите CMS в меню и найдите в списке Moodle. Заполните форму и нажмите «Установить»: система начнет скачиваться и устанавливаться. Этот процесс может занять несколько минут.

Шаг 3. запустите установщик

Запустите Start Moodle.exe. Это откроет cmd-окно (интерпретатор командной строки Windows), и система произведет предварительную настройку.

Шаг 3. перейдите в moodle

В конце вам предложат перейти в Moodle. Если на сайте в этот момент не идут работы (например, выкатывают новый релиз Moodle) — можно перейти по ссылке и начать пользоваться системой.

У бесплатной облачной версии есть существенные ограничения:

  • Максимум 50 пользователей
  • Ограниченное хранилище в 200МБ
  • Нельзя создавать свои сертификаты
  • Нельзя внедрять свои плагины и разработки

Поэтому серверная Moodle или платный хостинг лучше подходит для длительного пользования.

Шаг 4. откройте moodle в браузере

Работать в Moodle вы будете через браузер. Откройте любимый браузер и наберите localhost: это универсальный локальный адрес вашего компьютера, для этого не нужно подключение к интернету.

Шаг 5. установите moodle

Установите Moodle, следуя указаниям в руководстве. Вас попросят придумать пароль и название для базы данных, затем база данных начнет генерироваться, а в конце потребуется создать имя и пароль администратора, который станет первым пользователем платформы.

Оцените статью
Мой сертификат
Добавить комментарий