如何在Ubuntu 16.04上安装OpenMeetings

Apache OpenMeetings是一个开源Web会议应用程序。它是用Java编写的,并且支持多个数据库服务器。它提供许多功能,例如音频和视频会议,屏幕共享,文件浏览器,用户审核系统,私人消息和联系人,用于会议计划的集成日历等等。您还可以记录会议会话。它提供了一个SOAP / REST API和多个插件,可以轻松地与Moodle,Jira,Joomla,Confluence等集成。

先决条件

  • 具有至少4GB RAM的Vultr Ubuntu 16.04服务器实例。
  • 一个 sudo的用户
  • 指向服务器的域名。

在本教程中,我们将使用 192.168.1.1 公共IP地址和 meetings.example.com 指向Vultr实例的域名。请确保将所有示例IP地址和域名替换为实际的IP地址和域名。

使用指南如何更新Ubuntu 16.04更新基本系统 。系统更新后,继续安装Java。

安装Java

OpenMeetings用Java编写,因此它需要Java Runtime Environment(JRE)才能工作。添加适用于Oracle Java 8的Ubuntu存储库。

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

如果您根本看不到任何输出,则需要从当前shell注销并重新登录。

安装依赖项

安装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。

切换到临时目录并下载适用于Ubuntu的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-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

为最新版本的FFmpeg安装PPA。

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

为OpenMeetings用户创建一个新的PostgreSQL用户。

createuser openmeetings

您可以使用任何用户名代替 openmeetings

切换到PostgreSQL shell。

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的说明。

如何在Ubuntu 16.04上安装OpenMeetings

由于我们已经安装了GhostScript,因此请继续进行。在下一个界面上,系统将提示您提供数据库服务器详细信息。选择数据库类型“ PostgreSql”,并提供您在PostgreSQL安装期间配置的数据库服务器详细信息。

如何在Ubuntu 16.04上安装OpenMeetings

单击“ Check”按钮,您将收到消息:“ Database check was successful”。在下一个界面中提供您的管理员帐户详细信息和组名。

如何在Ubuntu 16.04上安装OpenMeetings

配置安装的基本设置;例如允许自我注册,电子邮件验证和默认语言。另外,提供您的SMTP服务器详细信息。如果您尚未准备好SMTP服务器,则稍后也可以在管理员仪表板中提供SMTP详细信息。

如何在Ubuntu 16.04上安装OpenMeetings

系统将要求您提供不同应用程序的二进制文件的路径。提供 /usr/bin 作为ImageMagick,FFmpeg和SoX的路径。如果应用程序为输入的路径提供了错误,则可以 which <binary_name> 用来查找二进制文件的绝对路径。例如, which ffmpeg 应该给您 /usr/bin/ffmpeg 作为输出。使用 /opt/openoffice4 的路径OpenOffice的二进制文件。

如何在Ubuntu 16.04上安装OpenMeetings

由于我们将使用默认值,因此您可以在下一个界面上跳过配置。最后,单击“ Finish”按钮以安装应用程序并编写数据库。

现在,OpenMeetings已安装在您的服务器上。为了使生产更加友好,我们将设置Systemd来管理OpenMeetings服务器。我们还将使用“让我们加密SSL”配置Nginx作为安全的反向代理来为应用程序提供服务。

设置系统

建议设置一个Systemd服务单元来管理应用程序。这将确保该服务在启动时和发生故障时自动启动。

通过按CTRL+ C或通过杀死openmeetings 用户的外壳 程序来停止OpenMeetings服务器。

sudo pkill -KILL -u openmeetings

为OpenMeetings创建一个新的Systemd单位文件。

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侦听port 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

让我们加密证书的有效期限为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 Web服务器以实现配置更改。

sudo systemctl restart nginx

在开始使用SSL安全站点上的应用程序之前,您需要在OpenMeetings中进行配置更改。登录到您的OpenMeetings管理控制台,然后导航到“ Administration >> Configuration”。在具有ID,键和值列的表中,找到 application.base.urlhttps://meetings.example.com 根据您的域名更改其值 。通过单击上方的保存图标来保存配置。

如何在Ubuntu 16.04上安装OpenMeetings

重新启动OpenMeetings服务。

sudo systemctl restart openmeetings

现在,您可以 https://meetings.example.com 使用自己喜欢的Web浏览器浏览并登录以使用该应用程序。

恭喜,您服务器上现已安装了Apache OpenMeetings。您可以邀请您的朋友并开始使用OpenMeetings进行在线会议。



Leave a Comment

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

如何在Fedora 29上安装Attendize

如何在Fedora 29上安装Attendize

使用其他系统?简介Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。Attendiz

如何在Ubuntu 16.04上安装Dolibarr

如何在Ubuntu 16.04上安装Dolibarr

使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔

如何在CentOS 7上安装Microweber

如何在CentOS 7上安装Microweber

使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示

如何在Debian 9上安装Mailtrain Newsletter应用程序

如何在Debian 9上安装Mailtrain Newsletter应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。Mailtrains源位于GitHub上。锡

如何在FreeBSD 12上安装osTicket

如何在FreeBSD 12上安装osTicket

使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中

如何在Debian 9上安装Attendize

如何在Debian 9上安装Attendize

使用其他系统?Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。参加源鳕鱼

如何在FreeBSD 12上安装Dolibarr

如何在FreeBSD 12上安装Dolibarr

使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔

如何在Ubuntu 18.04 LTS上安装X-Cart 5

如何在Ubuntu 18.04 LTS上安装X-Cart 5

使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管

如何在Debian 9上安装Osclass

如何在Debian 9上安装Osclass

使用其他系统?Osclass是一个开放源代码项目,可让您轻松创建分类站点,而无需任何技术知识。它的来源

如何在CentOS 7上安装Open Web Analytics

如何在CentOS 7上安装Open Web Analytics

使用其他系统?开放式Web分析(OWA)是一个开放源代码的Web分析程序,可用于跟踪和分析人们如何使用您的网站

如何在FreeBSD 11上安装Matomo Analytics

如何在FreeBSD 11上安装Matomo Analytics

使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o

如何在Ubuntu 18.04上安装Cezerin电子商务

如何在Ubuntu 18.04上安装Cezerin电子商务

Cezerin是使用React和Node.js构建的开源电子商务渐进式Web应用程序。在本教程中,您将学习如何部署Cezerin来进行生产

如何在Debian 10上安装osTicket

如何在Debian 10上安装osTicket

使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中

如何在CentOS 7上安装Matomo Analytics

如何在CentOS 7上安装Matomo Analytics

使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o

如何在Debian 9上安装Open Web Analytics

如何在Debian 9上安装Open Web Analytics

使用其他系统?开放式Web分析(OWA)是一个开放源代码的Web分析程序,可用于跟踪和分析人们如何使用您的网站

如何在CentOS 7上安装osTicket

如何在CentOS 7上安装osTicket

使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中

如何在Ubuntu 18.04 LTS上安装Attendize

如何在Ubuntu 18.04 LTS上安装Attendize

使用其他系统?Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。参加源鳕鱼

如何在Fedora 31上安装X-Cart 5

如何在Fedora 31上安装X-Cart 5

使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管

如何在Fedora 28上安装Dolibarr

如何在Fedora 28上安装Dolibarr

使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息