Как установить OpenMeetings на Ubuntu 16.04

Apache OpenMeetings - это приложение для веб-конференций с открытым исходным кодом. Он написан на Java и поддерживает несколько серверов баз данных. Он предоставляет множество функций, таких как аудио- и видеоконференции, совместное использование экрана, файловый менеджер, система пользовательской модерации, личные сообщения и контакты, встроенный календарь для планов встреч и многое другое. Вы также можете записывать сеансы конференц-связи. Он предоставляет SOAP / REST API и несколько плагинов для легкой интеграции с Moodle, Jira, Joomla, Confluence и другими.

Предпосылки

  • Экземпляр сервера Vultr Ubuntu 16.04 с ОЗУ не менее 4 ГБ.
  • Пользователь Sudo .
  • Доменное имя указывает на сервер.

В этом руководстве мы будем использовать 192.168.1.1 в качестве общедоступного IP-адреса и в meetings.example.com качестве имени домена, указывающего на экземпляр Vultr. Обязательно замените все вхождения примера IP-адреса и доменного имени на фактическое.

Обновите свою базовую систему, используя руководство Как обновить Ubuntu 16.04 . После обновления системы перейдите к установке Java.

Установить Java

OpenMeetings написан на Java, поэтому для его работы требуется среда выполнения Java (JRE). Добавьте репозиторий Ubuntu для Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Установите Java.

sudo apt -y install oracle-java8-installer

Проверьте версию Java.

java -version

Вы увидите следующий вывод.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Установите путь по умолчанию для Java, установив следующий пакет.

sudo apt -y install oracle-java8-set-default

Вы можете проверить, что JAVA_HOMEустановлено, запустив следующее.

echo $JAVA_HOME

Вы увидите похожий вывод.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Если вы не видите никакого вывода, вам нужно будет выйти из текущей оболочки и снова войти в систему.

Установить зависимости

Установите библиотеки ImageMagick и GhostScript.

sudo apt -y install imagemagick ghostscript libxt6 libxrender1

ImageMagick предоставляет поддержку для загрузки изображений и импорта их на доску. GhostScript позволяет загружать PDF-файлы на доску.

Проверьте версию ImageMagick и GhostScript, чтобы убедиться, что они успешно установлены.

user@vultr:~$ identify -version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib

user@vultr:~$ ghostscript -v
GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.

Кроме того, нам также потребуется установить Apache OpenOffice или LibreOffice в системе. Установка любого из них позволит OpenMeetings импортировать файлы в форматы документов Office , таких как .doc, .docx, .ppt, .pptx, или .xlx. В этом уроке мы установим Apache OpenOffice.

Перейдите во временный каталог и загрузите пакет Apache OpenOffice для Ubuntu.

cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz

Распакуйте архив и установите все пакеты DEB.

tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_en-US.tar.gz
cd en-US/DEBS
sudo dpkg -i *.deb
sudo dpkg -i desktop-integration/openoffice4.1-debian-menus_4.1.5*.deb

Установите PPA для последней версии FFmpeg.

sudo add-apt-repository --yes ppa:jonathonf/ffmpeg-3
sudo apt update

Установите FFmpeg и SoX.

sudo apt -y install ffmpeg sox

FFmpeg и SoX позволят вам записывать встречи. Они также помогают в импортирующих мультимедийных файлов , таких как .avi, .flv, .mov и .mp4 в доску. Проверьте установку, проверив версии FFmpeg и SoX.

user@vultr:~$ sox --version
sox:      SoX v14.4.1

user@vultr:~$ ffmpeg -version
ffmpeg version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609

Установить PostgreSQL

OpenMeetings поддерживает несколько типов серверов баз данных, таких как MySQL, PostgreSQL, Apache Derby и Oracle. В этом руководстве мы будем использовать PostgreSQL для размещения базы данных OpenMeeting.

PostgreSQL - это объектно-реляционная система баз данных, известная своей стабильностью и скоростью. Репозиторий Ubuntu по умолчанию содержит старую версию PostgreSQL, поэтому добавьте репозиторий PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Установите сервер базы данных PostgreSQL.

sudo apt -y install postgresql

Запустите сервер PostgreSQL и включите его автоматический запуск во время загрузки.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Измените пароль для пользователя PostgreSQL по умолчанию.

sudo passwd postgres

Войдите в систему как пользователь PostgreSQL.

sudo su - postgres

Создайте нового пользователя PostgreSQL для пользователя OpenMeetings.

createuser openmeetings

Вы можете использовать любое имя пользователя вместо openmeetings.

Переключитесь на оболочку PostgreSQL.

psql

Установите пароль для вновь созданного пользователя для базы данных OpenMeetings.

ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

Замените DBPassword на безопасный пароль.

Создайте новую базу данных для установки OpenMeetings.

CREATE DATABASE openmeetings OWNER openmeetings;

Выход из psql оболочки.

\q

Переключиться на sudo пользователя.

exit

Сохраните файл и выйдите из редактора.

Установка OpenMeetings

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

sudo adduser --home /var/openmeetings --disabled-login --disabled-password --gecos "OpenMeetings User" openmeetings

Команда выше также создаст домашний каталог openmeetings пользователя в /var/openmeetings.

Посетите страницу загрузки Apache OpenMeetings, чтобы получить ссылку на последний доступный выпуск. Загрузите архив OpenMeetings.

cd /tmp
wget http://www-eu.apache.org/dist/openmeetings/4.0.2/bin/apache-openmeetings-4.0.2.tar.gz

Распакуйте архив в /var/openmeetings каталог.

sudo tar xf apache-openmeetings-*.tar.gz -C /var/openmeetings

Предоставьте право собственности на файлы пользователю OpenMeetings, который мы создали ранее.

sudo chown -R openmeetings:openmeetings /var/openmeetings

Теперь вы можете запустить приложение.

sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings

Теперь вы можете получить доступ http://192.168.1.1:5080/openmeetings в вашем любимом браузере. Вы увидите экран приветствия с инструкциями по установке GhostScript.

Как установить OpenMeetings на Ubuntu 16.04

Поскольку мы уже установили GhostScript, продолжайте. На следующем интерфейсе вам будет предложено указать данные сервера базы данных. Выберите тип базы данных " PostgreSql" и укажите сведения о сервере базы данных, которые вы настроили во время установки PostgreSQL.

Как установить OpenMeetings на Ubuntu 16.04

Нажмите на кнопку « Check», и вы получите сообщение: « Database check was successful». Укажите данные своей учетной записи администратора и имя группы в следующем интерфейсе.

Как установить OpenMeetings на Ubuntu 16.04

Настройте основные параметры вашей установки; например, чтобы разрешить самостоятельную регистрацию, подтверждение по электронной почте и язык по умолчанию. Также предоставьте данные вашего SMTP-сервера. Если у вас нет готового SMTP-сервера, вы также можете указать подробности SMTP по��же на панели администратора.

Как установить OpenMeetings на Ubuntu 16.04

Вам будет предложено указать путь к двоичным файлам различных приложений. Укажите /usr/bin путь для ImageMagick, FFmpeg и SoX. Если приложение предоставляет ошибки для введенного пути, то вы можете использовать, which <binary_name> чтобы найти абсолютный путь к двоичному файлу. Например, which ffmpeg должен дать вам в /usr/bin/ffmpeg качестве вывода. Используйте /opt/openoffice4 в качестве пути к двоичным файлам OpenOffice.

Как установить OpenMeetings на Ubuntu 16.04

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

OpenMeetings теперь установлен на вашем сервере. Чтобы сделать его более удобным для производства, мы настроим Systemd для управления сервером OpenMeetings. Мы также настроим Nginx с Let's Encrypt SSL в качестве защищенного обратного прокси-сервера для обслуживания приложения.

Настройка Systemd

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

Остановите сервер OpenMeetings, нажав CTRL+ Cили убив оболочку openmeetings пользователя.

sudo pkill -KILL -u openmeetings

Создайте новый файл модуля Systemd для OpenMeetings.

sudo nano /etc/systemd/system/openmeetings.service

Заполните файл.

[Unit]
Description=OpenMeeting Service 
After=network.target

[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings 
ExecStart=/var/openmeetings/red5.sh
Restart=always

[Install]
WantedBy=multi-user.target

Запустите сервер OpenMeetings и включите его автоматический запуск во время загрузки.

sudo systemctl start openmeetings
sudo systemctl enable openmeetings

Чтобы проверить состояние сервиса, вы можете запустить следующее.

sudo systemctl status openmeetings

Вы увидите похожий вывод.

user@vultr:~$ sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
   Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-04-08 19:08:33 UTC; 52s ago
 Main PID: 8788 (java)
   CGroup: /system.slice/openmeetings.service
           └─8788 /usr/bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m

Apr 08 19:08:40 vultr red5.sh[8788]: [INFO] [main] org.apache.catalina.core.StandardService - Starti
Apr 08 19:08:40 vultr red5.sh[8788]: Apr 08, 2018 7:08:40 PM org.apache.catalina.core.StandardEngine

...

Настройте Nginx в качестве обратного прокси

По умолчанию OpenMeetings прослушивает порт 5080. Если соединение между браузером и сервером не зашифровано с помощью SSL, то логины и другая информация будут отправлены в виде простого текста. Это может быть потенциальной угрозой, так как кто-то, подслушивающий сеть, может получить информацию. Чтобы устранить эту проблему, мы настроим Nginx в качестве обратного прокси-сервера, который будет прослушивать HTTPSпорт по умолчанию и будет передавать все запросы на сервер OpenMeetings.

Установите Nginx.

sudo apt -y install nginx

Запустите Nginx и включите его автоматический запуск во время загрузки.

sudo systemctl start nginx
sudo systemctl enable nginx

Добавьте хранилище Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Установите Certbot, который является клиентским приложением для Let's Encrypt CA.

sudo apt -y install certbot

Примечание. Чтобы получить сертификаты от Let's Encrypt CA, домен, для которого должны быть созданы сертификаты, должен быть направлен на сервер. Если нет, внесите необходимые изменения в записи DNS домена и дождитесь распространения DNS, прежде чем снова делать запрос сертификата. Certbot проверяет полномочия домена перед предоставлением сертификатов.

Создайте сертификаты SSL.

sudo certbot certonly --webroot -w /var/www/html -d meetings.example.com

Сгенерированные сертификаты, вероятно, будут храниться в /etc/letsencrypt/live/meetings.example.com/. Сертификат SSL будет сохранен как, fullchain.pem а закрытый ключ - как privkey.pem.

Срок действия сертификатов Let's Encrypt истекает через 90 дней, поэтому рекомендуется настроить автоматическое обновление сертификатов с помощью заданий Cron.

Откройте файл задания cron.

sudo crontab -e

Добавьте следующую строку в конец файла.

30 5 * * * /usr/bin/certbot renew --quiet

Вышеуказанная работа cron будет выполняться каждый день в 5:30. Если срок действия сертификата истекает, он будет автоматически продлен.

Создайте новый файл конфигурации для OpenMeetings.

sudo nano /etc/nginx/sites-available/openmeetings

Заполните файл.

server {
    listen 80;
    server_name meetings.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name meetings.example.com;

    ssl_certificate           /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/meetings.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/openmeetings.access.log;

location / {
    proxy_pass            http://localhost:5080;        
    proxy_set_header    host $host;
    proxy_http_version  1.1;
    proxy_set_header upgrade $http_upgrade;         
    proxy_set_header connection "upgrade";     
    } 
}

Активная конфигурация.

sudo ln -s /etc/nginx/sites-available/openmeetings /etc/nginx/sites-enabled/openmeetings

Проверьте на наличие ошибок в новом файле конфигурации.

sudo nginx -t

Если вы видите следующий вывод, конфигурация без ошибок.

user@vultr:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если вы получили какую-то ошибку, не забудьте дважды проверить путь к сертификатам SSL. Перезапустите веб-сервер Nginx, чтобы внести изменения в конфигурацию.

sudo systemctl restart nginx

Прежде чем вы сможете начать использовать приложение на защищенном SSL-сайте, вам нужно будет внести изменения в конфигурацию в OpenMeetings. Войдите в вашу административную панель OpenMeetings и перейдите к " Administration >> Configuration". В таблице с идентификаторами столбцов, ключом и значением найдите application.base.url. Измените его значение в https://meetings.example.com соответствии с вашим доменным именем. Сохраните конфигурацию, нажав значок сохранения выше.

Как установить OpenMeetings на Ubuntu 16.04

Перезапустите сервис OpenMeetings.

sudo systemctl restart openmeetings

Теперь вы можете перейти в https://meetings.example.com свой любимый веб-браузер и войти в систему, чтобы использовать приложение.

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



Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

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

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше