ダウンロードして red5.sh を起動するだけで使える強力なWeb会議システム。今まで3.05とかを使っていたのだが、4.0.1が出たようなのでバージョンアップして使いたい。
まずは、まっさらさらなシステムを作ってみて、本番環境の移行を考える。
当初、もっと簡単に移行できるものと思っていたのだが、大きな課題にぶち当たった。これは、Google ChromeはSSLなしの通信(HTTP)では、マイクとカメラを使わせないように仕様変更したことによる。ChromeでOpenmeetingsを利用するためにはSSL通信(HTTPS)が必要になるのだ。
※安全性のためにサービス提供側にプレッシャーを掛けているという記事を見かけた。シェアが大きいからできることなんでしょう…。
また、Openmeetingsもバージョンアップして変わってきている。これにも対応する必要がある。
さらに、利用できるポートを80と443に絞る、つまり、RTMPとRTMPSはトンネリングさせたい。これは、利用可能ポートを制限されたネットワークで利用することを想定しているため。
これらの条件をあわせて試してみると…
といった具合になる。
Version 3.3.0以降でもApacheに詳しい人ならApache設定だけでどうにかできるかもしれない。探してもどうにも見つからなかったので、分かる方がいたらぜひ教えてください、お願いします。
これらをチクチク書いていたら記事が長くなりすぎてしまい制限が…。4部作とする。
・OpenmeetingsインストールからProxy設定(3.0.5~3.2.1近辺)
・OpenmeetingsをSSLで動作させる設定(3.3.0以降)
・OpenmeetingsをそれでもProxyで動作させる(危険)
・Openmeetingsのアップグレード & ChromiumとFlash
※この記事では、各種のライブラリの準備には触れない。
■インストール開始
インストールは4.0.1ベースで記載するが、3.0.5から4.0.1まで設定項目はほとんど変わらない。
モジュールをダウンロードし、/usr/share/openmeetings (以降 $red5 と記載)に展開して起動、$ sudo ./red5.sh
・
・
・
################################################################################
# Openmeetings is up #
# 4.0.1 3795f14 2017-12-05T16:44:03Z #
# and ready to use #
################################################################################
・
・
・
が表示されたら、http://hogeserver.hogeddns.jp:5080/openmeetings にアクセスするとセットアップが始まる。
※接続可能なポートが絞られていて、外部から5080ポートでアクセスできない場合には、事前にApacheでProxy設定しておく必要がある。
インストール先はどこでもかまわないが、他のシステムに習って/usr/share配下にしてみた。
■Openmeetings (はじめに的な画面)Enabling import of PDFs into whiteboard
Install GhostScript on the server, you can get more information on http://pages.cs.wisc.edu/~ghost/ regarding installation. The instructions for installation can be found there, however on most linux systems you can get it via your favorite package managers (apt-get it).
と表示された。今は考えない。次へ。
■DB configuration
ここで、現行システムに入っている MySQL を選択しCheckボタンを押したところ、以下が表示された。Unable to load proper DB driver, please download appropriate jar file, and restart the OM. Instructions: MySQL
で、MySQLのところにリンクがあって、ここをクリックすると情報が。
$red5/webapps/openmeetings/WEB-INF/lib/
に入れた上で、もう一度インストールを実行してみて欲しいこと。
という話。
一旦、red5.shを止めてコネクタをダウンロードし、そのコネクターを配置して、再度red5.shを実行、ブラウザからアクセスする。
そして、MySQLにデータベースとユーザーを作る。$ mysql -u root -p
Enter password:[MySQLのrootのパスワード][Enter]
mysql> create database openmeetings default character set 'utf8';
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on openmeetings.* to 'openmeetings'@'localhost' identified by 'openmeetingsユーザーのパスワード' with grant option;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit
Bye
という具合。
改めて以下の設定。
Checkボタンを押してOK!
ちなみに、データベースを初期化してまっさらにするには以下を実行。$ mysql -u root -p
mysql> drop database openmeetings;
mysql> create database openmeetings default character set 'utf8';
データベースを削除して作り直しているだけですが…。
■Userdata
最初のユーザーを決める。
■Group(Domains)
Openmeetings内のグループ分けに使う。後から変えられるのでなんでもいい。
■Configuration
基本的な動作設定。
SMTP設定は結構重要。メールを飛ばして会議に参加してもらうことも多いので、ちゃんとメールが飛ばせるようにすることはとっても大事。
■Converters
これが冒頭の「難しいことを考えなければ」の話で、ちゃんと揃えようと思うと結構大変な気がする。とりあえず、後からでも設定が可能なはずなので何も設定せずに進めておく。
今回は、既にこれらの設定が終わっているシステムでOpenmeetingsをバージョンアップさせたいのだ!
■Crypt Type
よくわからない。デフォルトのまま。
■red5SIP Configuration
今のところSIPを利用する予定はないので、OFF。
最後に「Finish」ボタンを押したら、インストール開始。と書かれているので、ボタンをクリックする。
モノの数秒で設定完了。
Enter the Application からアプリケーションにログインする。
ログインしたら英語表示になるのは相変わらず変わらない。初期ユーザーの言語にデフォルトランゲージが反映されないのはそのままの模様。
ところで、会社ネットワークでポートが塞がれている場合に、5080ポートを80や443に変更したい、というニーズがあるかもしれない。実際、自分がそうだったりするわけだが、その場合は以下のApache設定とOpenmeetingsの設定で行けそう。443も3.3.0以前の古いバージョンなら行ける。
■Openmeetings 3.0.5~3.1.5 近辺
Apache: openmeetings.conf#
# Apache Openmeetings
#
<VirtualHost *:80>
ServerName om.hogeserver.hogeddns.jp
ServerAdmin webmaster@hogeserver.hogeddns.jp
ProxyPreserveHost on
ProxyPass / http://hogeserver.hogeddns.jp:5080/
ProxyPassReverse / http://hogeserver.hogeddns.jp:5080/
ErrorLog ${APACHE_LOG_DIR}/openmeetings-error.log
CustomLog ${APACHE_LOG_DIR}/openmeetings-access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName om.hogeserver.hogeddns.jp
ServerAdmin webmaster@hogeserver.hogeddns.jp
ProxyPreserveHost on
ProxyPass / http://hogeserver.hogeddns.jp:5080/
ProxyPassReverse / http://hogeserver.hogeddns.jp:5080/
ErrorLog ${APACHE_LOG_DIR}/openmeetings-ssl-error.log
CustomLog ${APACHE_LOG_DIR}/openmeetings-ssl-access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/private/om.hogeserver.crt
SSLCertificateKeyFile /etc/ssl/private/om.hogeserver.key
</VirtualHost>
※この設定の場合、omが名前解決できるようにDNSへの登録が必要になるので注意。従来のサービスの中に/openmeetingsの場合だけProxyする設定でも行けるはず。
$red5/webapps/openmeetings/public/config.xml<!-- この設定をしないと1935を3回トライしてからトンネルにトライする
<rtmpport>1935</rtmpport> ←コメント化
-->
<rtmpport>80</rtmpport></pre> ←追加
・
<!-- トンネルする際に利用するポートを設定しているらしい
<red5httpport>5080</red5httpport> ←コメント化
-->
<red5httpport>80</red5httpport> ←追加
※Ver3.0.5で$red5/conf/red5.propertiesを色々といじってみたけど効果なし。また、トンネルさせるとタイムラグが出やすいような気がする…。
■Openmeetings 3.2.1近辺
このあたりで、ログイン直後にWebSocketでエラーが起きて画面が表示されないようになってきた模様。
以下でproxy_wstunnelとproxy_httpを有効化しておく必要がある。$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod proxy_http
$ sudo service apache2 restart
その上で、設定を以下のように変える。
Apache: openmeetings.conf#
# Apache Openmeetings
#
<VirtualHost *:80>
ServerName om.hogeserver.hogeddns.jp
ServerAdmin webmaster@hogeserver.hogeddns.jp
ProxyPreserveHost on
# ProxyPass / http://hogeserver.hogeddns.jp:5080/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://hogeserver.hogeddns.jp:5080/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://hogeserver.hogeddns.jp:5080/$1 [P,L]
ProxyPassReverse / http://hogeserver.hogeddns.jp:5080/
ErrorLog ${APACHE_LOG_DIR}/openmeetings-error.log
CustomLog ${APACHE_LOG_DIR}/openmeetings-access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName om.hogeserver.hogeddns.jp
ServerAdmin webmaster@hogeserver.hogeddns.jp
ProxyPreserveHost on
# ProxyPass / http://hogeserver.hogeddns.jp:5080/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://hogeserver.hogeddns.jp:5080/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://hogeserver.hogeddns.jp:5080/$1 [P,L]
ProxyPassReverse / http://hogeserver.hogeddns.jp:5080/
ErrorLog ${APACHE_LOG_DIR}/openmeetings-error.log
CustomLog ${APACHE_LOG_DIR}/openmeetings-access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/private/om-hogeserver.crt
SSLCertificateKeyFile /etc/ssl/private/om-hogeserver.key
</VirtualHost>
$red5/webapps/openmeetings/public/config.xml<!-- <rtmpport>1935</rtmpport> --> ←コメント化
<rtmpport>80</rtmpport></pre> ←追加
・
<!-- <red5httpport>5080</red5httpport> --> ←コメント化
<red5httpport>80</red5httpport> ←追加
ここら辺まではなんとかProxyだけで動作させることができそうな気配。
3.3.2でも80番ポートでならば動いてくれた。
一度使い始めると本当に便利で手放せないツールになる。
調子に乗って高解像度なビデオ・画面共有をしなければ、帯域も殆ど使わないから、他に迷惑をかけることも殆どない。
2020年末にはFlashのサポートが停止される。
それまでに別の何かに置き換えられるのだろうか。
楽しみにしつつその動向を追いかけていこうと思う。
↧
OpenmeetingsインストールからProxy設定(3.0.5~3.2.1近辺)
↧