Как да инсталирате OpenMeetings на Ubuntu 16.04

Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. Той предоставя много функции, като аудио и видео конференции, споделяне на екрана, изследовател на файлове, система за модериране на потребители, лични съобщения и контакти, интегриран календар за планове за срещи и много други. Можете също да записвате конферентни сесии. Той предоставя SOAP/REST API и множество плъгини за лесно интегриране с Moodle, Jira, Joomla, Confluence и др.

Предпоставки

  • Vultr Ubuntu 16.04 сървърен екземпляр с поне 4 GB RAM.
  • А потребителското Sudo .
  • Име на домейн, насочено към сървъра.

За този урок ще използваме 192.168.1.1 като публичен IP адрес и meetings.example.com като име на домейн, насочено към екземпляра Vultr. Моля, не забравяйте да замените всички срещания на примерния IP адрес и име на домейн с действителното.

Актуализирайте базовата си система с помощта на ръководството Как да актуализирате Ubuntu 16.04 . След като вашата система бъде актуализирана, продължете да инсталирате Java.

Инсталирайте Java

OpenMeetings е написан на Java, така че изисква Java Runtime Environment (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

The command above will also create the home directory of the openmeetings user in /var/openmeetings.

Check the Apache OpenMeetings download page to obtain the link to the latest available release. Download the OpenMeetings archive.

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

Extract the archive into the /var/openmeetings directory.

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

Provide ownership of the files to the OpenMeetings user we have created earlier.

sudo chown -R openmeetings:openmeetings /var/openmeetings

You can now start the application.

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

You can now access http://192.168.1.1:5080/openmeetings in your favorite browser. You will see the welcome screen with instructions to install GhostScript.

Как да инсталирате OpenMeetings на Ubuntu 16.04

Since we have already installed GhostScript, proceed further. On the next interface, you will be prompted to provide database server details. Select database type "PostgreSql" and provide your database server details that you configured during the PostgreSQL installation.

Как да инсталирате OpenMeetings на Ubuntu 16.04

Click on the "Check" button and you will get the message: "Database check was successful". Provide your administrator account details and a group name in the next interface.

Как да инсталирате OpenMeetings на Ubuntu 16.04

Configure the basic settings of your installation; such as to allow self-registration, email verification, and default language. Also, provide your SMTP server details. If you do not have an SMTP server ready, you can also provide the SMTP details later in the administrator dashboard.

Как да инсталирате OpenMeetings на Ubuntu 16.04

You will be asked for the path to the binaries of different applications. Provide /usr/bin as the path for ImageMagick, FFmpeg, and SoX. If the application is providing errors for the path entered, then you can use which <binary_name> to find the absolute path to the binary. For example, which ffmpeg should give you /usr/bin/ffmpeg as output. Use /opt/openoffice4 as the path to the OpenOffice binaries.

Как да инсталирате OpenMeetings на Ubuntu 16.04

You can skip the configuration on the next interface since we are going to use the default values. Finally, click the "Finish" button to install the application and write the database.

OpenMeetings is now installed on your server. To make it more production friendly, we will setup Systemd to manage the OpenMeetings server. We will also configure Nginx with a Let's Encrypt SSL as the secured reverse proxy to serve the application.

Setting up Systemd

It is recommended to set up a Systemd service unit to manage the application. This will ensure that the service is automatically started on boot time and failures.

Stop the OpenMeetings server either by pressing CTRL + C or by killing the shell of the openmeetings user.

sudo pkill -KILL -u openmeetings

Create a new Systemd unit file for OpenMeetings.

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

Populate the file.

[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

Start the OpenMeetings server and enable it to automatically start at boot time.

sudo systemctl start openmeetings
sudo systemctl enable openmeetings

To check the status of the service, you can run the following.

sudo systemctl status openmeetings

You will see a similar output.

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

...

Setup Nginx as a Reverse Proxy

По подразбиране 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“. В таблицата с колони ID, ключ и стойност намерете application.base.url. Променете стойността му на https://meetings.example.com според името на вашия домейн. Запазете конфигурацията, като щракнете върху иконата за запазване по-горе.

Как да инсталирате OpenMeetings на Ubuntu 16.04

Рестартирайте услугата OpenMeetings.

sudo systemctl restart openmeetings

Сега можете да прегледате https://meetings.example.com с любимия си уеб браузър и да влезете, за да използвате приложението.

Поздравления, Apache OpenMeetings вече е инсталиран на вашия сървър. Можете да поканите приятелите си и да започнете да използвате OpenMeetings за онлайн конференции.


Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Microweber на Ubuntu 16.04

Инсталиране на Microweber на Ubuntu 16.04

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате osTicket на FreeBSD 12

Как да инсталирате osTicket на FreeBSD 12

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате платформата за електронна търговия Sylius на Ubuntu 18.04 LTS

Как да инсталирате платформата за електронна търговия Sylius на Ubuntu 18.04 LTS

Използване на различна система? Sylius е модерна платформа за електронна търговия за PHP, базирана на Symfony Framework. Източникът на Sylius е в GitHub. Това ръководство ще wal

Как да инсталирате Cezerin eCommerce на Ubuntu 18.04

Как да инсталирате Cezerin eCommerce на Ubuntu 18.04

Cezerin е прогресивно уеб приложение за електронна търговия с отворен код, създадено с помощта на React и Node.js. В този урок ще научите как да разположите Cezerin за production

Как да инсталирате OpenMeetings на CentOS 7

Как да инсталирате OpenMeetings на CentOS 7

Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз

Инсталиране на Microweber на Debian 9

Инсталиране на Microweber на Debian 9

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Инсталиране на Akaunting на Debian 9

Инсталиране на Akaunting на Debian 9

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

Как да инсталирате приложението за бюлетин Mailtrain на Debian 9

Как да инсталирате приложението за бюлетин Mailtrain на Debian 9

Използване на различна система? Mailtrain е самостоятелно хоствано приложение за бюлетин с отворен код, изградено на Node.js и MySQL/MariaDB. Източникът на Mailtrains е в GitHub. ти

Инсталиране на Akaunting на Fedora 28

Инсталиране на Akaunting на Fedora 28

Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно

OpenBSD като решение за електронна търговия с PrestaShop и Apache

OpenBSD като решение за електронна търговия с PrestaShop и Apache

Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR

Как да инсталирате приложението за бюлетин Mailtrain на Ubuntu 16.04

Как да инсталирате приложението за бюлетин Mailtrain на Ubuntu 16.04

Използване на различна система? Mailtrain е самостоятелно хоствано приложение за бюлетин с отворен код, изградено на Node.js и MySQL/MariaDB. Източникът на Mailtrains е в GitHub. ти

Как да инсталирате InvoicePlane на Fedora 28

Как да инсталирате InvoicePlane на Fedora 28

Използване на различна система? InvoicePlane е безплатно приложение за фактуриране с отворен код. Неговият изходен код може да бъде намерен в това хранилище на Github. Това ръководство

Как да инсталирате osTicket на CentOS 7

Как да инсталирате osTicket на CentOS 7

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате Open Web Analytics на CentOS 7

Как да инсталирате Open Web Analytics на CentOS 7

Използване на различна система? Open Web Analytics (OWA) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт

Как да инсталирате Open Web Analytics на Debian 9

Как да инсталирате Open Web Analytics на Debian 9

Използване на различна система? Open Web Analytics (OWA) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт

Как да инсталирате Osclass на Ubuntu 18.04 LTS

Как да инсталирате Osclass на Ubuntu 18.04 LTS

Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник

Как да инсталирате Osclass на Debian 9

Как да инсталирате Osclass на Debian 9

Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник

Как да инсталирате OpenMeetings на Ubuntu 16.04

Как да инсталирате OpenMeetings на Ubuntu 16.04

Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз

Как да инсталирате X-Cart 5 на Fedora 31

Как да инсталирате X-Cart 5 на Fedora 31

Използване на различна система? X-Cart е изключително гъвкава платформа за електронна търговия с отворен код с множество функции и интеграции. Изходният код на X-Cart е хост

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече