Using openmeetings with https

Настройка

Java

Для работы OpenMeetings необходим пакет . Если параллельно установлены и другие версии Java, выполните следующую команду, чтобы OpenJDK 11 использовался по умолчанию:

# archlinux-java set java-11-openjdk

ImageMagick

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

/etc/ImageMagick-7/policy.xml
<!-- <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" /> -->
<!-- <policy domain="delegate" rights="none" pattern="gs" /> -->

Базы данных

По умолчанию OpenMeetings использует интегрированную локальную базу данных H2, которая не требует дополнительных настроек и уже готова для использования. Также поддерживаются такие базы данных как MySQL, PostgreSQL, IBM DB2, MSSQL и Oracle (англ.).

Настройка базы данных MySQL

Ниже рассмотрена настройка базы данных MariaDB/MySQL для хранения данных OpenMeetings.

Прежде всего, установите пакет .

Для работы с базой данных MySQL OpenMeetings использует MySQL Connector/J, который можно установить либо с пакетом AUR, либо вручную, скачав с официального сайта:

$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar 
# cp mysql-connector-java-8.0.18.jar /opt/openmeetings/webapps/openmeetings/WEB-INF/lib
# chown nobody:nobody /opt/openmeetings/webapps/openmeetings/WEB-INF/lib/mysql-connector-java-8.0.18.jar

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

# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

После этого запустите/включите службу mysqld.

Задайте пароль для пользователя root:

# mysqladmin -u root password

Создайте новую базу данных OpenMeetings:

$ mysql -u root -p
MariaDB > CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
quit

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

$ mysql -u root -p
MariaDB> CREATE USER 'openmeetings'@'localhost' IDENTIFIED BY 'some_pass';
MariaDB> GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' WITH GRANT OPTION;
MariaDB> quit

Впоследствии при входе через укажите эти данные и OpenMeetings создаст в базе данных необходимые таблицы.

Медиа-сервер KMS

Медиа-сервер можно установить одним из двух способов: с помощью Docker или через AUR.

Примечание: Без установленного и запущенного kurento-media-server вы будете получать ошибку .

Установка с помощью Docker

См. статью Docker для получения информации о его настройке.

Запустите kurento-media-server из Docker Hub:

# docker run -d --name kms -p 8888:8888 --mount type=bind,source=/opt/openmeetings/webapps/openmeetings/data,target=/opt/openmeetings/webapps/openmeetings/data kurento/kurento-media-server

Установка и настройка Moodle

Обновление Moodle с версии 1.9 до версии 2.3

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

mysqldump -h old.server.ip.address --allow-keywords --opt --user=moodle -pMoodlePasswd moodle\
| ssh root@new.server.ip.address "mysql --user=moodle -pMoodlePasswd moodle"

Синхронизируем файлы учебных курсов:

rsync -av -e ssh /srv/www/moodledata/ new.server.ip.address:/srv/www/moodledata/

Нами производилось обновление Moodle с установленной версии 1.9.9 до версии 2.3.2. Экспериментальным путем было установлено, что осуществить этот процесс без ручного допиливания базы данных возможно лишь пошагово производя обновление до 2.1.8 (weekly build), затем до 2.2.5 (weekly build) и лишь потом до желаемой версии 2.3.2.

Скаченные с официального сайта пакеты последовательно распаковывались в папку /srv/www/htdocs/moodle, запускался скрипт install.php, после отработки которого содержимое папки /srv/www/htdocs/moodle удалялось и цикл повторялся со следующей версией moodle. Для избежания возникновения ошибки записи в конфигурационные файлы, находящиеся в данной папке, на время отработки скрипта install.php права на /srv/www/htdocs/moodle устанавливались в 777.

Конвертация БД из MyISAM в InnoDB

mysql -p -e "show tables in moodle;" | tail --lines=+2 | xargs -i echo "ALTER TABLE {} ENGINE=INNODB;" > /tmp/alter_table.sql
mysql --database=moodle -p -f -v < /tmp/alter_table.sql
rm /tmp/alter_table.sql

Проблема 2х модулей mod_assignment

Необходимо обновить курсы и выключить старый модуль:

http://docs.moodle.org/23/en/Upgrade_tool

CRON

Создаем файл:

touch /etc/cron.hourly/cron4moodle.sh
chmod 0755 /etc/cron.hourly/cron4moodle.sh

Пишем в него:

#!/bin/bash
/usr/bin/php /srv/www/htdocs/moodle/admin/cli/cron.php

HTTPS / SSL

HTTPS for logins can be enabled by an administrator in Settings > Site administration > Security > HTTP security .

ГЛЮЧИТ, надо разбираться.

Command reference

 -v,--verbose                        verbose error messages
--------------------------------------------------------------------------------------------------
 -h,--help                           prints this message
--------------------------------------------------------------------------------------------------
 -b,--backup                         Backups OM
   -file <arg>                       (optional) file used for backup/restore/install
      --exclude-files                (optional) should backup exclude files 
--------------------------------------------------------------------------------------------------
 -r,--restore                        Restores OM
   -file <arg>                       file used for backup/restore/install
--------------------------------------------------------------------------------------------------
 -l,--LDAP                           Import LDAP users into DB
   -d,--domain-id <arg>              LDAP domain Id
      --print-only                   (optional) Print users found instead of importing
--------------------------------------------------------------------------------------------------
 -i,--install                        Fill DB table, and make OM usable
   -tz <arg>                         Default server time zone, and time zone for the selected user
                                     (mutually exclusive with 'file')
   -group <arg>                      The name of the default user group (mutually exclusive with
                                     'file')
   -email <arg>                      Email of the default user (mutually exclusive with 'file')
   -user <arg>                       Login name of the default user, minimum 4 characters (mutually
                                     exclusive with 'file')
   -file <arg>                       file used for backup/restore/install
      --password <arg>               (optional) Password of the default user, minimum 4 characters
                                     (will be prompted if not set)
      --system-email-address <arg>   (optional) System e-mail address 
      --smtp-server <arg>            (optional) SMTP server for outgoing e-mails 
      --smtp-port <arg>              (optional) SMTP server for outgoing e-mails 
      --email-auth-user <arg>        (optional) Email auth username (anonymous connection will be
                                     used if not set)
      --email-auth-pass <arg>        (optional) Email auth password (anonymous connection will be
                                     used if not set)
      --email-use-tls                (optional) Is secure e-mail connection 
      --skip-default-objects         (optional) Do not create default rooms and OAuth servers
                                     
      --disable-frontend-register    (optional) Do not allow front end register 
      --db-type <arg>                (optional) The type of the DB to be used
      --db-host <arg>                (optional) DNS name or IP address of database
      --db-port <arg>                (optional) Database port
      --db-name <arg>                (optional) The name of Openmeetings database
      --db-user <arg>                (optional) User with write access to the DB specified
      --db-pass <arg>                (optional) Password of the user with write access to the DB
                                     specified
      --drop                         (optional) Drop database before installation
      --force                        (optional) Install without checking the existence of old data
                                     in the database.
--------------------------------------------------------------------------------------------------
 -f,--files                          File operations - statictics/cleanup
      --cleanup                      (optional) Should intermediate files be clean up
--------------------------------------------------------------------------------------------------

5.0.0

This release provides WebRTC audio/video/screen-sharing in the Room

IMPORTANT: Java 11 is required

Flash plugin is no longer required in the browser

Security:

  • Libraries are updated to latest versions
  • More strict CSP is implemented
  • User accounts are hidden for regular users
  • User email addresses are hidden

UI:

  • Support for touch events is added (mobiles, tablets)
  • Better support for new MS Edge browser
  • Direct link for entering the room with room name (not ID)
  • Front camera is used by default
  • User avatar is editable at Admin->Users

Audio/Video:

  • Stability is improved
  • Connection to KMS is auto-recovering
  • Camera resolution changes take effect immediately
  • Multiple client-side JS errors are fixed

Some other fixes and improvements, 74 issues were addressed

Как установить 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+

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

Шаг 1. Зарегистрируйте учетную запись Beget

Перейдите на сайт Beget.com и зарегистрируйтесь. Хостинг предлагает дешевые подписки от 140р/месяц, при этом первый месяц бесплатен.

Шаг 2. Установите Moodle на Beget

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

Шаг 3. Перейдите в Moodle

После установки Beget сгенерирует ссылку для вашего сайта, по которой вы сможете перейти на платформу. Ссылка находится в списке установленных CMS в этом же меню. Ее можно дать другим пользователям, с которыми вы планируете тестировать и настраивать платформу.

Система готова к работе.

5.0.0-M4

This release provides WebRTC audio/video/screen-sharing in the Room

IMPORTANT: Java 11 is required

Flash plugin is no more required in the browser

UI:

  • Main UI library has been changed Jquery-UI -> Bootstrap
  • Hotkey to resize&arrage «video» windows is added
  • Camera/Microphone on/off icons are less confusing
  • The room can be blocked until moderator will enter
  • Room sidebar dock button works as expected
  • Right-click menu for WB tab is fixed
  • Link to privacy statement is added to sign-in dialog

Audio/Video:

  • Audio-only clients doesn’t create «video» windows
  • Audio/Video stream tries to re-connect in case of any issue

Backup/Restore:

  • Backup/restore was re-worked and better covered with tests
  • Multiple other issues are addressed

Integration:

  • OAuth: user attributes retrieval is improved
  • LDAP documentation is improved
  • User picture can be retrieved from LDAP

Please NOTE: this version might be not production ready

Some other fixes and improvements, 56 issues were addressed

ffmpeg и sox

ffmpeg будем собирать сами. Можно, конечно, попробовать установить готовый пакет ffmpeg от Alien, но нужную библиотеку (libmp3lame) я там не нашёл, может, плохо искал.

Для сборки ffmpeg необходимо доустановить некоторые пакеты. Соберем и установим их при помощи sbopkg.

Если sbopkg отсутствует, то скачиваем, устанавливаем и синхронизируемся с его репозиторием попутно соглашаясь с созданием отсутствующих каталогов.

# wget https://github.com/sbopkg/sbopkg/releases/download/0.38.1/sbopkg-0.38.1-noarch-1_wsr.tgz
# upgradepkg --install-new ./sbopkg-0.38.1-noarch-1_wsr.tgz
# sbopkg -r
# sbopkg -Bki "libass libgme gsm libilbc libmodplug lame opus rtmpdump speex x264 x265 xvidcore OpenAL libfdk-aac"

Далее, скачаем тарбол со Slackbuild’ом и иже с ним. Распакуем его, и сюда же скачаем последние исходники ffmpeg (на сегодня 3.4.1).

# wget https://slackbuilds.org/slackbuilds/14.2/multimedia/ffmpeg.tar.gz
# tar xf ./ffmpeg.tar.gz
# cd ffmpeg
# wget http://www.ffmpeg.org/releases/ffmpeg-3.4.1.tar.gz

Тут же создадим файл ./ff_build со содержимым:

LAME=yes \
X264=yes \
GSM=yes \
RTMP=yes \
SPEEX=yes \
XVID=yes \
ASS=yes \
OPENAL=yes \
ILBC=yes \
MODPLUG=yes \
OPUS=yes \
X265=yes \
GME=yes \
OPENSSL=yes \
X11GRAB=no \
./ffmpeg.SlackBuild

В SlackBuild’e меняем версию ffmpeg, присваиваем ему и файлу ./ff_build бит запуска и запускаем ./ff_build. После сборки устанавливаем получившийся пакет.

# chmod +x ./ffmpeg.SlackBuild
# chmod +x ./ff_build
# ./ff_build
...
...
Slackware package /tmp/ffmpeg-3.4.1-x86_64-1_SBo.tgz created.

# upgradepkg --install-new /tmp/ffmpeg-3.4.1-x86_64-1_SBo.tgz
...
...
Package ffmpeg-3.4.1-x86_64-1_SBo.tgz installed.

Обычно sox уже установлен в системе, если «нет», то поставьте его с установочного DVD Slackware (slackware64/ap/sox-14.4.2-x86_64-3.txz ) или с любого зеркала в Интернете.

Установка необходимых компонентов

OpenMeetings написан на Java и для корректной работы требует установки соответствующей платформы и дополнительных компонентов.

1. Дополнительные репозитории

Устанавливаем репозиторий EPEL:

yum install epel-release

Установка RPMFusion:

yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

Теперь переходим на страницу репозитория OKey и копируем ссылку на последнюю версию okay-release:

Используя скопированную ссылку, устанавливаем репозиторий:

yum install http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el8.noarch.rpm

2. OpenJava

Для установки OpenJava вводим команду:

yum install java-11-openjdk-devel

Выбираем директорию java:

update-alternatives —config java

И на запрос:

  Selection    Command
————————————————
*+ 1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.6.10-0.el8_1.x86_64/bin/java)

… выбираем единственно предложенный вариант, нажав Enter.

Команда:

java -version

… должна вернуть что-то на подобие:

openjdk version «11.0.6» 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)

3. LibreOffice

Устанавливаем wget и tar:

yum install wget tar

* wget нужна для загрузки файлов по сети; tar — распаковки архивов.

Переходим на страницу загрузки пакетов для LibreOffice. Выбираем каталог с последней версией программы — RPM — x86_64. Копируем ссылку на архив пакета:

Переходим в каталог /opt:

cd /opt

Используя ссылку, копируем архив на сервер:

wget ftp://mirror.7he.at/pub/tdf/libreoffice/stable/6.4.2/rpm/x86_64/LibreOffice_6.4.2_Linux_x86-64_rpm.tar.gz

Распаковываем скачанный архив:

tar zxvf LibreOffice_*

Переходим в распакованную папку:

cd LibreOffice_*/

Устанавливаем LibreOffice:

yum localinstall RPMS/*.rpm

4. Ghostscript

Установим пакеты, необходимые для сборки Ghostscript:

yum install libjpeg libjpeg-devel freetype freetype-devel unzip gcc gcc-c++ ncurses ncurses-devel make zlib zlib-devel libtool bison openssl-devel bzip2 bzip2-devel file-roller git autoconf automake pkgconfig nmap vlc

* на все дополнительные запросы отвечаем утвердительно Y.

Переходим в каталог /opt:

cd /opt

Скачиваем скрипт для сборки и установки Ghostscript:

wget https://cwiki.apache.org/confluence/download/attachments/27838216/ghostscript.sh

Разрешаем запуск скрипта:

chmod +x ghostscript.sh

… и запускаем его:

./ghostscript.sh

В итоге, мы должны увидеть:

…GhostScript compilation is Finished!

5. ImageMagick и Sox

Для установки ImageMagick вводим:

yum install ImageMagick giflib

Для установки Sox скачиваем пакет:

wget http://ftp.icm.edu.pl/packages/sox/14.4.2/sox-14.4.2.tar.gz

Распаковываем архив:

tar xzvf sox-14.4.2.tar.gz

Переходим в распакованную папку:

cd sox-14.4.2

Конфигурируем пакет:

./configure

Собираем пакет и устанавливаем его:

make

make install

6. FFmpeg

Устанавливаем пакеты, необходимые для сборки FFmpeg:

yum install glibc alsa-lib-devel faad2 faad2-devel gsm imlib2 imlib2-devel vorbis-tools theora-tools autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel curl libx264-devel

Переходим в каталог opt:

cd /opt

Скачиваем скрипт для сборки и установки FFmpeg:

wget https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_centos8.sh

Делаем его исполняемым:

chmod +x ffmpeg_centos8.sh

И запускаем его:

./ffmpeg_centos8.sh

Выполнение скрипта займет около 10-20 минут. В итоге, мы должны увидеть:

FFmpeg Compilation is Finished!

8) Установка и конфигурирование MariaDB database server

MariaDB это сервер базы данных (ответвление от MySQL https://ru.wikipedia.org/wiki/MariaDB ). Установим его (версию 5.5 или 10):

sudo apt-get install mariadb-server

Будет открыто окно с запросом пароля для суперпользователя (root) MariaDB. Введите его → Ok → Enter

Последует запрос повторить пароль:

запускаем MariaDB:

/etc/init.d/mysql start

Важно! Необходимо правильно настроить кодировку MySQL. При попытке установить openmeetings «вчистую» наткнулся на неприятный момент, когда неожиданно все русские имена пользователей и тексты в письмах(сообщениях) превращались в вопросительные знаки

Про настройку кодировки расписал тут:

Создаем базу данных с пользователем владельцем для OpenMeetings:

mysql -u root -p

… будет запрошен root пароль который вы только что придумали, введите его…

MariaDB > CREATE DATABASE open307 DEFAULT CHARACTER SET 'utf8';

Этой командой мы создали базу данных с именем open307, но вы можете выбрать другое имя на ваш выбор.

Теперь создадим пользователя со всеми правами для базы open307

(Все в одну строку с пробелами)

MariaDB > GRANT ALL PRIVILEGES ON open307.* TO 'openmeetings'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
  • open307 — имя базы данных
  • openmeetings — имя пользователя базы данных
  • 123456 — пароль пользователя openmeetings

Вы можете изменить эти данные… но не забудьте их!

MariaDB > quit

12) Конфигурирование OpenMeetings

После того, как вы зашли в OpenMeetings перейдите по пунктам:

Administration → Configuration (В русском интерфейсе Администрирование → Конфигурация)


где проверьте и поправьте параметры для конвертации файлов, звука и видео:

Параметры должны быть такими:

swftools_path Value(Значение)= /usr/local/bin

imagemagick_path Value(Значение)= /usr/bin

sox_path Value(Значение)= /usr/local/bin

ffmpeg_path Value(Значение)= /usr/local/bin

office.path Value(Значение)= /usr/lib/libreoffice

jod.path Value(Значение)= /opt/jodconverter-core-3.0-beta-4/lib

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

Для этого есть следующие параметры:

smtp_server

smtp_port

для соединения по обычному (незащищенному) протоколу smtp_port обычно равер 25.

Однако, сейчас многие почтовые серверы (например mail.ru, yandex.ru) не допускают подключения по незащищенному протоколу. Поэтому, для таких серверов нужно посмотреть параметры подключения почтовых программ (обычно там импользуется другой порт — не равный 25) и еще установить следующие параметры:

mail.smtp.starttls.enable = 1

и иногда требуется установить

oauth2.ignore_bad_ssl = yes

The code has been moved to GitHub in the hope that somebody else will fork and maintain it

в 32-битной системе оказалось, что надо /usr/bin

Автоматический запуск

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

Создаем файл:

vi /etc/systemd/system/openmeetings.service

Description=OpenMeetings Service
After=network.target

Type=forking
ExecStart=/etc/init.d/tomcat3 start
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

WantedBy=multi-user.target

Применяем изменения в systemd:

systemctl daemon-reload

Разрешаем автозапуск сервиса:

systemctl enable openmeetings

Останавливаем сервис, запущенный нами ранее:

/etc/init.d/tomcat3 stop

И запустим его через systemd:

systemctl start openmeetings

5.0.0-M3

This release provides WebRTC audio/video/screen-sharing in the Room

IMPORTANT: Java 11 is required

Flash plugin is no more required in the browser

Backup/Restore:

  • Multiple issues with restore were fixed
  • Confirmation of backup import was added
  • File/recording hashes are preserved when possible

White board:

  • Document upload/conversion is improved
  • Whiteboards are not auto-created on room enter
  • Keyboard shortcut for quick poll is added

Room:

User list is now sorted

Audio/Video:

Multiple issues with audio/video/screen sharing are fixed

Please NOTE: this version might be not production ready

Some other fixes and improvements, 36 issues were addressed

CVE-2016-2163 — Stored Cross Site Scripting in Event description

Severity: Moderate

Vendor: The Apache Software Foundation

Versions Affected: Apache OpenMeetings 1.9.x — 3.0.7

Description: When creating an event, it is possible to create clickable URL links in the event description. These links will be present inside the event details once a participant enters the room via the event. It is possible to create a link like «javascript:alert(‘xss’)», which will execute once the link is clicked. As the link is placed within an <a> tag, the actual link is not visible to the end user which makes it hard to tell if the link is legit or not.CVE-2016-2163

All users are recommended to upgrade to Apache OpenMeetings 3.1.1

11) Первый запуск

Перезагружаем MariaDB:

/etc/init.d/mysql restart

… и теперь запускаем red5-OpenMeetings:

/etc/init.d/red5 start

в консоли появятся две строки:

start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information

… и ничего не происходит. Не волнуйтесь, так и должно быть.

… подождите не менее секунд 10, затем в браузере зайдите на страницу: http://localhost:5080/openmeetings/install

… Должна открыться такая страничка (если не такая, значит сервер еще не полностью запустился):

… жмите на кнопку Next (внизу страницы) и вы увидите настройку конфигурации базы данных:

… жмите Next еще раз:

… здесь, чтобы в дальнейшем правильно все работало обязательно необходимо внести следующую информацию:

  • Username = omadmin … этот пользователь будет администратором (можете выбрать удобное для вас имя)
  • Userpass = password … это пароль пользователя-администратора
  • Email = mail@mail.ru … почтовый адрес администратора
  • User Time Zone = Регион, где расположен сервер.
  • Organisations(Domains) Name = example-openmeetings … групповое имя, на ваш выбор.

После заполнения всех полей жмем Finish

… подождите несколько секунд, пока инициализируется база данных.

Когда все завершится, об этом сообщит следующее окно:

… кликаем на Enter the Application и увидим вход в OpenMeetings:

Вводим имя пользователя и пароль, которые выбрали при установке и

Организация электронного обучения

У Moodle непростая организация обучения. Для вашего удобства мы поделили этот раздел на три части: создание, поддержка и организация курсов.

Создание контента

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

Вот так выглядит вопрос теста, созданного в редакторе Moodle:

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

Лекцию вы создаете во вкладке Администрирование. Затем надо перейти к курсу, включить режим редактирования и начать настраивать темы. В темы нужно добавить элементы — формы контента для курса, и каждый элемент настраивается отдельно. Элементов много, и если у вас нет опыта работы с Moodle, не всегда понятно, какой элемент лучше использовать.

Неопытный пользователь может потратить на создание одной лекции день. Сократить время работы и упрастить задачу можно при помощи конструктора электронных курсов (Authoring Tool). С его помощью вы за час упакуете текст, видео, картинки и музыку в электронный курс. Например, iSpring Suite — комплексный набор, позволяющий создавать полноценные уроки: презентации, тесты, диалоговые тренажеры и скринкасты. Это может быть урок по пожарной безопасности или тренажер по продажам в салоне. Так выглядит тренажер, созданный в iSpring Suite:

Поддержка контента

В хранилище Moodle можно загрузить файлы в следующих форматах:

  • Текст — doc, pdf, xls, csv
  • Изображения — jpeg, png, gif
  • Видео — flv, f4v, f4p, mp4, m4v, m4a, 3gp, mov
  • Аудио — mp3, aac, flac, m4a, oga, ogg, wav

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

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

SCORM 1.2 — самый новый из таких стандартов, но Moodle поддерживает и более старые. Полный список:

  • SCORM 2004, 1.2
  • IMS
  • LTI 1.1, 1.3, 2.0
  • AICC
  • xAPI и cmi5. Поддерживаются через плагин Logstore API

Организация курсов

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

Курс в Moodle состоит из отдельных единиц учебного контента — лекция, тест или SCORM-пакет

Любой курс состоит из тем, которые наполняются готовым контентом: лекциями, тестами, SCORM-курсами и т.д. Темы выполняют роль разграничительных этапов, и с их помощью можно создать гибкую траекторию обучения. Например, такой курс, где последняя тема не покажется, если студент не наберет нужное количество баллов.

Организация учебного курса в Moodle

Итог:

  • Курсы состоят из тем
  • Темы состоят из готовых единиц контента: лекция, тест, SCORM-пакет
  • Контент создается во внутреннем редакторе или загружается на платформу

Возможности

OpenMeetings имеет функционал, аналогичный коммерческим ВКС-системам, а именно:

  • передача звука и видео
  • общая доска, общий экран (скриншаринг)
  • запись веб-мероприятий
  • возможность создавать неограниченное кол-во публичных и приватных виртуальных комнат
  • приватный и общий чат
  • внутренний почтовый клиент для email-переписки и рассылок
  • календарь для планирования совещаний
  • опросы и голосования
  • обмен документами распространённых офисных форматов (PDF, MS Office, OpenOffice)
  • каталог файлов и видеозаписей
  • мобильный клиент под Android.

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

Попробовать, как работает система можно на демо-серверах,, воспользовавшись публичными комнатами совещаний или создав свои личные.

Установка OpenMeetings по шагам

Видеоконференцсвязь «на халяву»

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

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

  • групповой и личный чат для удобного общения пользователей;
  • запись с экрана и звука во время проведения видеотрансляций;
  • возможность создавать неограниченное количество сессий для общения;
  • внутренний почтовый клиент для переписки и рассылок по электронной почте;
  • удобный и понятный календарь с функцией планирования событий;
  • проведение опросов и голосования среди аудитории в режиме реального времени;
  • пересылка необходимых документов или файлов различных форматов;
  • удобное и функциональное приложение для ОС Android.

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

Требования для установки программы:

  • Сервер под управлением Ubuntu 18.04.
  • Пользователь с предоставленными правами sudo.

9) Установка OpenMeetings

Мы установим OpenMeetings в папку /opt/red5307. Вся последующая информация будет базироваться на этой директории.

Делаем установку в папку red5307

Создаем папку:

mkdir /opt/red5307
cd /opt/red5307
wget http://apache.rediris.es/openmeetings/3.0.7/bin/apache-openmeetings-3.0.7.zip
unzip apache-openmeetings-3.0.7.zip

Сейчас ссылка на версию 3.0.7 изменилась, вот так должно работать:

wget http://archive.apache.org/dist/openmeetings/3.0.7/bin/apache-openmeetings-3.0.7.zip

… удалим загруженный архив

rm -f apache-openmeetings-3.0.7.zip

Делаем nobody владельцем папки OpenMeetings:

chown -R nobody /opt/red5307

Загружаем и устанавливаем коннектор между OpenMeetings и MariaDB:

cd /opt
wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar

… и копируем его туда где он должен быть:

cp /opt/mysql-connector-java-5.1.36.jar /opt/red5307/webapps/openmeetings/WEB-INF/lib

Теперь конфигурируем OpenMeetings для использования базы данных в MariaDB^

cd /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF
mv persistence.xml persistence.xml-ori
mv mysql_persistence.xml persistence.xml

Редактируем файл настроек нашим «любимым» редактором (здесь это gedit):

gedit /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

… исправляем строчку 78

, Url=jdbc:mysql://localhost:3306/openmeetings

… на

, Url=jdbc:mysql://localhost:3306/open307

… это имя базы данных которую мы инициализировали.

… исправляем также строчку 83

, Username=root

… на

, Username=openmeetings

… это пользователь наше базы данных

… правим строку 84

, Password="/>

… на

, Password=123456" />

… это был пароль пользователя «openmeetings» который мы придумали для базы данных.

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

Защищаем от несанкционированного доступа файл настроек:

chmod 640 /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

openmeetings

Распакуем архив openmeetings.tar.gz, далее скачаем последний openmeetings в каталог со slackbuld’ом (на сегодня это 4.0.1)

# wget http://apache-mirror.rbc.ru/pub/apache/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz

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

# groupadd -g 270 openmeetings
# useradd -r -g 270 -u 270 -s /bin/bash -d /opt/apache-openmeetings openmeetings
# chmod +x ./apache-openmeetings.SlackBuild
# ./apache-openmeetings.SlackBuild
...
...
Slackware package /tmp/apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz created.

# upgradepkg --install-new /tmp/apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz
...
...
Package apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz installed.

По умолчанию openmeetings устанавливается в /opt/apache-openmeetings с этим каталогом и будем работать. Путь установки можно поменять в apache-openmeetings.SlackBuild до сборки пакета.

После установки, у меня почему-то скрипт запуска скопировался с нулевым размером (не разбирался почему). Поэтому я его скопировал вручную из каталога со slackbuild’ом и дал права на запуск.

# cp ./rc.apache-openmeetings /etc/rc.d/
# chmod +x /etc/rc.d/rc.apache-openmeetings

CVE-2016-0784 — ZIP file path traversal

Severity: Moderate

Vendor: The Apache Software Foundation

Versions Affected: Apache OpenMeetings 1.9.x — 3.1.0

Description: The Import/Export System Backups functionality in the OpenMeetings Administration menu (http://domain:5080/openmeetings/#admin/backup) is vulnerable to path traversal via specially crafted file names within ZIP archives. By uploading an archive containing a file named ../../../public/hello.txt will write the file “hello.txt” to the http://domain:5080/openmeetings/public/ directory. This could be used to, for example, overwrite the /usr/bin/convert file (or any other 3 rd party integrated executable) with a shell script, which would be executed the next time an image file is uploaded and imagemagick is invoked.CVE-2016-0784

All users are recommended to upgrade to Apache OpenMeetings 3.1.1

Ссылки

Linux

Операционные системы  SuSE Linux • ALT Linux • ASPLinux • Fedora • Gentoo • Mandriva Linux • Red Hat • Ubuntu Linux • Vyatta
Программное обеспечение  LibreOffice • Mozilla Firefox • Nagios • Nginx • Nslookup • VLC • ZoneMinder • Zabbix • Subversion • MySQL • Google Chrome • Ulteo • Bugzilla • Moodle • SSH • OTRS • RedHat Enterprise Virtualization • OpenStack
Настройка  Настройка proxy-сервера • Настройка web-сервера • Настройка автозапуска программ в KDE и GNOME • Настройка сервера DNS • Автоматическая настройка прокси • Setting up IBM pSeries p510Q. Networking with VLANs • Posix ACLs • Iptables load balancing • 3G модем • Configuring Ubuntu 6.06 as VMware guest • Установка Netatalk (AFP) на OpenSUSE • Локальные зеркала репозиториев Linux • Резервное копирование • Внедрение IPv6 • Установка и настройка среды дистанционного обучения • Интернет-радио
Советы  Установка сервера Linux • Полезности для работающих в командной строке *nix • Мониторинг температуры в серверной • Мониторинг подозрительной DNS активности в локальной сети • Как отключить перезапуск X по Ctrl+Alt+Backspace • Как минимизировать проблемы при перезагрузке зависшего Linux • Wake on lan • Squid tips. Blacklisting spyware & porn sites • Remove duplicate lines with uniq • Increase Total File Descriptors For System • Борьба с брутфорсом SSH
Полезные скрипты  Internet connection checker • Ssh key pairs auth • Pem2crt • CUE Audio-CD Image Splitter • Simple APE2FLAC converter • Simple web-gallery

Бесплатное ПО

ОС  SuSE Linux
Офис  LibreOffice • Документы в формате ODT / ODF / DOCX • Как создать документ PDF • OpenOffice HOWTO
Интернет  Mozilla Firefox • Google Chrome • PhpBB
Почта  Mozilla Thunderbird
Сканер  OpenOCR (CuneiForm) • Tesseract
Мультимедиа  VLC
Библиотека  Koha • DSpace
Обучение  Moodle • Создание обучающего курса в среде Moodle • Ulteo Open Virtual Desktop

Безопасность и кастомизация

  • передача данных по протоколам https и rtmps с использованием механизмов шифрования SSL или TLS;
  • хранение паролей на сервере в зашифрованном виде (MD5) ;
  • установка сервера на собственном оборудовании;
  • открытый исходный код продукта;
  • возможность авторизации при помощи LDAP/Oaouth
  • различные уровни доступа пользователей к системе
  • возможность доступа участников с помощью одноразовых маркеров доступа.

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий