Как установить OpenMeetings на CentOS 7

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

Предпосылки

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

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

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

Установить Java

OpenMeetings написан на Java, поэтому для его работы требуется среда выполнения Java (JRE). Загрузите последний доступный пакет Oracle SE JDK 8 RPM, который включает в себя JRE и JDK.

wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Установите скачанный пакет.

sudo rpm -Uvh jdk-8u161-linux-x64.rpm

Если 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_HOMEи JRE_HOME. Найдите абсолютный путь к исполняемому файлу JAVA в вашей системе.

readlink -f $(which java)

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

[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java

Теперь установите переменные среды JAVA_HOMEи в JRE_HOMEсоответствии с путем к каталогу Java.

echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile

Запустите bash_profileфайл.

source ~/.bash_profile

Теперь вы можете запустить echo $JAVA_HOMEкоманду, чтобы убедиться, что установлена ​​переменная окружения.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161

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

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

sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript

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

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

[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc.  All rights reserved.

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

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

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-rpm_en-US.tar.gz

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

tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm

Чтобы проверить, правильно ли установлен и работает OpenOffice, введите openoffice4 -hв командной строке. Он распечатает свою версию и краткую справку.

[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5  415m1(Build:9789)

Usage: soffice [options] [documents...]

Options:

-minimized      keep startup bitmap minimized.
...

Установите репозиторий RPMFusion в своей системе, поскольку он предоставляет предварительно собранные пакеты для FFmpeg и Sound eXchange (SoX).

sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

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

sudo yum -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 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)

Установить PostgreSQL

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

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

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

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

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Инициализируйте базу данных.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

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

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Измените пароль для пользователя 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

Отредактируйте pg_hba.confфайл, чтобы включить аутентификацию на основе MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Найдите следующие строки и измените значения в METHODстолбце с identна md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

После обновления конфигурация будет выглядеть следующим образом.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Сохраните файл и выйдите из редактора. Перезапустите PostgreSQL, чтобы изменения вступили в силу.

sudo systemctl restart postgresql-10

Установка OpenMeetings

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

 sudo adduser -b /var -s /sbin/nologin openmeetings

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

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

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

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

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

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

sudo chown -R openmeetings:openmeetings /var/openmeetings

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

sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload

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

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

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

Как установить OpenMeetings на CentOS 7

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

Как установить OpenMeetings на CentOS 7

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

Как установить OpenMeetings на CentOS 7

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

Как установить OpenMeetings на CentOS 7

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

Как установить OpenMeetings на CentOS 7

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

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

Настройка Systemd

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

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

sudo pkill -KILL -u openmeetings

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

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

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

[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
   Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
 Main PID: 10522 (java)
   CGroup: /system.slice/openmeetings.service
           └─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...

Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                              Openmeetings is up ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                      4.0.1 3795f14 2017-12-05T16...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                               and ready to use  ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.

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

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

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

sudo yum -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Прежде чем вы сможете запросить сертификаты, вам необходимо разрешить порты 80и / 443или стандартные HTTPи HTTPSсервисы через брандмауэр.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

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

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

sudo certbot certonly --webroot -w /usr/share/nginx/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. Если срок действия сертификата истекает, он будет автоматически продлен.

Теперь измените файл конфигурации Nginx по умолчанию, чтобы убрать default_serverстроку.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

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

sudo nano /etc/nginx/conf.d/meetings.example.com.conf

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

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 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". В таблице ID, ключ и значение; найти application.base.url. Измените его значение в https://meetings.example.comсоответствии с вашим доменным именем. Сохраните конфигурацию, нажав значок сохранения выше.

Как установить OpenMeetings на CentOS 7

Перезапустите сервис 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. Прочтите эту статью, чтобы узнать больше