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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для начала собираем сам сервер. Минимальные требования можно посмотреть на официальном сайте 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 командой:

sudo apt install openssh-server

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

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

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

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

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

Установка Webmin

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

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

Скачиваем и запускаем Putty, в окне host вводим IP-адрес или домен вашего сервера. В открывшемся окне вводим логин и пароль, которые мы указали при установке сервера.

PuttyЧтобы не набирать sudo в начале каждой команды, пишем:

sudo su // в Ubuntu

su // в Debian

Снова вводим пароль.

Обновляем операционную систему:

apt update

apt dist-upgrade

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

Справка. Репозиторий – это хранилище пакетов для установки. В нашем случае мы подключаем репозиторий Webmin.

Вводим:

sudo nano /etc/apt/sources.list

Текст придется набирать вручную.

И добавляем строку:

deb http://download.webmin.com/download/repository sarge contrib

Перемещение курсора делается стрелками на клавиатуре.

Выходим из редактора, нажав Ctrl+X. Подтверждаем изменение файла и нажимаем Enter.

Чтобы наша операционная система доверяла новому репозиторию, добавляем ключи:

wget http://www.webmin.com/jcameron-key.asc

apt-key add jcameron-key.asc

Если на этом этапе возникает ошибка,  значит, вы неверно ввели какие-то команды. Откройте заново sources.list и исправьте ошибку.

source.listСтавим Webmin:

apt install webmin

Через несколько минут мы увидим сообщение

Webmin install complete. You can now login to

https://your_server_ip:10000 as root with your

root password, or as any user who can use `sudo`.

Webmin установлен, теперь можно подключиться к серверу через веб-интерфейс. 

В браузере набираем https://имя_сайта:10000. Появится предупреждение о сертификате, игнорируем его и переходим к авторизации.

Если установлен Debian, логин будет root. Если Ubuntu, то вводите логин, который вы задали во время установки.

Устанавливаем Apache и MySQL

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

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

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

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

apt-get install libapache2-mod-php

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

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

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

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

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

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

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

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

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

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

  • Не удается создать каталог moodledata. В этом случае создаем каталог вручную, затем в файловом менеджере кликаем на него правой клавишей, выбираем «Change permissions» и устанавливаем права для чтения 0777.Права 0777
  • Не удается подключиться к базе данных. Открываем «Службы» – «MySQL» – «Создание нового пользователя». Предоставляем ему все права на созданную базу.Библиотеки PHP
  • Не установлены библиотеки PHP. Открываем в файловом менеджере etc/php7.3/apache2/php.ini. Раскомментируем нужные строки. Для вступления изменений нужно перезапустить сервер Apache.Права MySQL

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

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

Интерфейс Moodle

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

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

Комментарии