CentOS 7にOpenMeetingsをインストールする方法

Apache OpenMeetingsは、オープンソースのWeb会議アプリケーションです。Javaで書かれており、複数のデータベースサーバーをサポートしています。オーディオおよびビデオ会議、画面共有、ファイルエクスプローラー、ユーザーモデレーションシステム、プライベートメッセージと連絡先、会議計画用の統合カレンダーなど、多くの機能を提供します。会議セッションを記録することもできます。SOAP / REST APIと複数のプラグインを提供し、Moodle、Jira、Joomla、Confluenceなどと簡単に統合できます。

前提条件

  • 4GB以上のRAMを備えたVultr CentOS 7サーバーインスタンス。
  • sudoのユーザー
  • サーバーに向けられたドメイン名。

このチュートリアルでは192.168.1.1、パブリックIPアドレスおよびmeetings.example.comVultrインスタンスを指すドメイン名として使用します。サンプルのIPアドレスとドメイン名をすべて実際のものに置き換えてください。

CentOS 7のアップデート方法ガイドを使用して、ベースシステムをアップデートします。システムが更新されたら、Javaのインストールに進みます。

Javaをインストールする

OpenMeetingsはJavaで記述されているため、動作するにはJavaランタイム環境(JRE)が必要です。JREとJDKの両方を含む、入手可能な最新のOracle SE JDK 8 RPMパッケージをダウンロードします。

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ディレクトリーのパスに従ってJAVA_HOMEJRE_HOME環境変数を設定します。

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を可能にする.doc.docx.ppt.pptx、または.xlx。このチュートリアルでは、Apache OpenOfficeをインストールします。

一時ディレクトリに切り替えて、Apache OpenOffice RPMをダウンロードします。

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

OpenMeetingsユーザー用の新しいPostgreSQLユーザーを作成します。

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の新しいユーザーを作成します。サーバーのセキュリティのため、OpenMeetingsの実行には非rootユーザーを使用することをお勧めします。

 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のインストール手順が記載されたウェルカム画面が表示されます。

CentOS 7にOpenMeetingsをインストールする方法

GhostScriptはすでにインストールされているので、先に進みます。次のインターフェイスでは、データベースサーバーの詳細を入力するよう求められます。データベースタイプ「PostgreSql」を選択し、PostgreSQLのインストール時に構成したデータベースサーバーの詳細を入力します。

CentOS 7にOpenMeetingsをインストールする方法

Check」ボタンをクリックすると、メッセージ「Database check was successful」が表示されます。次のインターフェースで、管理者アカウントの詳細とグループ名を入力します。

CentOS 7にOpenMeetingsをインストールする方法

インストールの基本設定を構成します。自己登録、電子メール検証、およびデフォルトの言語を許可するなど。また、SMTPサーバーの詳細も入力します。SMTPサーバーの準備ができていない場合は、後で管理者ダッシュボードでSMTPの詳細を提供することもできます。

CentOS 7にOpenMeetingsをインストールする方法

異なるアプリケーションのバイナリへのパスを尋ねてきます。提供/usr/binImageMagickに、FFmpegは、およびソックスパスとして。入力したパスに対してアプリケーションがエラーを提供している場合は、を使用which <binary_name>して、バイナリへの絶対パスを見つけることができます。たとえば、出力としてwhich ffmpeg提供する必要/usr/bin/ffmpegがあります。/opt/openoffice4OpenOfficeバイナリへのパスとして使用します。

CentOS 7にOpenMeetingsをインストールする方法

デフォルト値を使用するため、次のインターフェースの構成はスキップできます。最後に、「Finish」ボタンをクリックしてアプリケーションをインストールし、データベースに書き込みます。

OpenMeetingsがサーバーにインストールされました。より生産性を高めるために、OpenMeetingsサーバーを管理するようにSystemdを設定します。また、アプリケーションを提供するセキュアなリバースプロキシとしてLet's Encrypt SSLを使用してNginxを構成します。

Systemdのセットアップ

上記のコマンドを使用してアプリケーションを簡単に起動および停止できますが、アプリケーションを管理するために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

同様の出力が表示されます。

[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で暗号化されていない場合、ログインおよびその他の情報はプレーンテキストを使用して送信されます。ネットワークを盗聴している誰かが情報を入手する可能性があるため、これは潜在的な脅威である可能性があります。この問題を軽減するために、デフォルトのHTTPSポートをリッスンし、すべての要求をOpenMeetingsサーバーにプロキシするリバースプロキシとしてNginxをセットアップします。

Nginxをインストールします。

sudo yum -y install nginx

Nginxを起動し、起動時に自動的に起動するようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。

sudo yum -y install certbot

証明書を要求する前に、ポート80および443/または標準HTTPHTTPSサービスがファイアウォールを通過できるようにする必要があります。

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が伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。

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サーバーの新しい構成ファイルを作成します。

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 Webサーバーを再起動して、構成の変更を実装します。

sudo systemctl restart nginx

SSLで保護されたサイトでアプリケーションの使用を開始する前に、OpenMeetingsの構成を変更する必要があります。OpenMeetings管理ダッシュボードにログインし、「Administration >> Configuration」に移動します。ID、キー、値の表。見つけるapplication.base.urlhttps://meetings.example.comドメイン名に応じて値を変更します。上の保存アイコンをクリックして構成を保存します。

CentOS 7にOpenMeetingsをインストールする方法

OpenMeetingsサービスを再起動します。

sudo systemctl restart openmeetings

これで、https://meetings.example.comお気に入りのWebブラウザーを使用して参照し、ログインしてアプリケーションを使用できます。

おめでとうございます。ApacheOpenMeetingsがサーバーにインストールされました。友達を招待して、オンライン会議にOpenMeetingsを使い始めることができます。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。