Openmeetingsのアップグレード & ChromiumとFlash

ようやくOpenmeetings最新バージョンへの更改準備が整った。
アップグレードするには何をすれば良いのだろうか。

…そうだ、以前、アップグレードを断念したのは、データのバックアップが失敗するからだった。



これは4部作の最終話。
OpenmeetingsインストールからProxy設定(3.0.5~3.2.1近辺)
OpenmeetingsをSSLで動作させる設定(3.3.0以降)
OpenmeetingsをそれでもProxyで動作させる(危険)
Openmeetingsのアップグレード & ChromiumとFlash

調べてみたところ、情報がここに。
Unable to take backup using GUI or Admin.sh
openmeetings-user mailing list archives

一番最初に選んだバージョンがたまたまこれに当たってしまった模様。
使っていた3.0.5はバックアップできないバグがあったけれども、3.0.7では修正されている、手作業でデータベースを更新して回避しといて、という話

■じゃあ、回避しましょう。

でも、回避について中身が分かっている人の言葉が少ないなぁ…どうすりゃいいんだろ。

$ mysql -u root -p

mysql> select host, user, password from mysql.user; ← ユーザー一覧
mysql> show databases ← データベースの一覧
mysql> show tables from openmeetings; ← テーブルの一覧
mysql> show full columns from om_user; ← テーブルom_userの列一覧
・
これらでターゲットを確認して~
・
・
・
mysql> use openmeetings; ← データベースの選択
mysql> update om_user set regdate = now();
Query OK, 9 rows affected (0.00 sec)
Rows matched: 9  Changed: 9  Warnings: 0

mysql> select id, login, regdate from om_user;
+----+--------------+---------------------+
| id | login        | regdate             |
+----+--------------+---------------------+
|  1 | hogeuser     | 2018-01-14 08:08:57 |
|  2 | hogewife     | 2018-01-14 08:08:57 |
     ・
     ・
     ・
|  9 | hogefriend   | 2018-01-14 08:08:57 |
+----+--------------+---------------------+
9 rows in set (0.00 sec)

ということでした。


■バックアップとリストア

答えはここに書いてあるが、バックアップボタンを押してファイルを取り出し、データベースをまっさらにして新しいバージョンをインストールし、インポートボタンを押すだけ。
Upgrading OpenMeetings via the Web-Interface

実際には、インポートボタンを押すと admin.sh が動作してファイルができあがり、バックアップデータがダウンロードされる。

新バージョンをファイル展開し、データベースを削除・再作成して起動してインストールを完了させて、その後にインポートボタンを押せばデータは復元される。

ただ、この方法だと、インストール時に作ったユーザーが残ってしまう。元の状態を復元する場合にはコマンドを実行する必要があった。

■コマンドラインで行うリストア

バックアップデータは画面で採取すれば問題なし。

新バージョンを一旦インストール完了させた上で停止し、コマンドラインから復元する。

$ sudo ./admin.sh -v -i -file /バックアップがあるディレクトリ/backup_2018_01_14_08_21_42.zip --drop --skip-default-objects

どうやら、 –drop が付いているのがミソみたいで、元の状態が復元された。
また、–skip-default-objects はバージョンによってちょっと変わるっぽいので注意。

新バージョンを一度インストールすると、データベースへの接続設定は保管されるので、その後は上記のリストアでいつでも元に戻せる。


■バージョン4.0.1の設定。

CSRF対策を外したモジュールを作成し、差し替え(危険だが利用状況から割り切り)。これは長くなるので以前の記事参照、ということで。

これによりProxy設定で動作可能となることから、3.2.1で作成したApache設定を利用。

Apache: openmeetings.conf
#
# Apache Openmeetings
#

<VirtualHost *:80>
        ServerName om.hogeserver.hogeddns.jp
        ServerAdmin webmaster@hogeserver.hogeddns.jp

        ProxyPreserveHost on
        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/
        ProxyPassReverse /openmeetings/wicket/ ws://hogeserver.hogeddns.jp:5080/openmeetings/wicket/  ★2018/02/04追記

        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
        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/
        ProxyPassReverse /openmeetings/wicket/ ws://hogeserver.hogeddns.jp:5080/openmeetings/wicket/  ★2018/02/04追記

        Header edit Content-Security-Policy ws: wss:  ★2018/02/04追記

        ErrorLog  ${APACHE_LOG_DIR}/openmeetings-error.log
        CustomLog ${APACHE_LOG_DIR}/openmeetings-access.log combined

        SSLEngine on
        SSLProxyEngine on
        SSLCertificateFile    /etc/ssl/private/om-hogeserver.crt
        SSLCertificateKeyFile /etc/ssl/private/om-hogeserver.key
</VirtualHost>

※モジュールは proxy_wstunnel や proxy_http を有効化。

このバージョンにはconfig.xmlがなかった!やっと出番がやってきましたね、
$red5/conf/red5.properties を編集。

# RTMPT
rtmpt.host=0.0.0.0
#rtmpt.port=8088 ← コメント化
rtmpt.port=80 ← 追加

設定した結果、HTTPでもHTTPSでも接続ができるようになったー!
当面はこれで使えそうだ。


おまけ。

コタツPCとしてLinuxBeanを使わせてもらっている。検証に使いたいのだが、Ubuntu14ベースのためGoogle Chromeはサポート対象外となっており、Chromiumを使おうと思った。

■メニューが日本語表示されない(英語モードで動いている)

答えがここに。
Chromium WebブラウザをUbuntu系Linuxに導入した後にチェックしたい4つの設定 2, 日本語表示されない

結論からすると、

$ sudo apt-get install chromium-browser-l10n

をした後、Chromeを再起動すれば良さそう。

■Flashが動かない

接続検証に使いたいのに Flash が動かない。

答えはここに。
INSTALL PEPPER FLASH PLAYER FOR CHROMIUM IN UBUNTU VIA PPA

書かれている手順にちょっとだけ手を加えて…

$ sudo apt-get install pepperflashplugin-nonfree
sudo cp /usr/lib/pepperflashplugin-nonfree/etc-chromium-default.txt /usr/lib/pepperflashplugin-nonfree/pepflashplayer.sh
$sudo chmod 755 /usr/lib/pepperflashplugin-nonfree/pepflashplayer.sh

このファイルの先頭に以下を追加。

/usr/lib/pepperflashplugin-nonfree/pepflashplayer.sh
#!/bin/bash ← 追加
# part for pepperflashplugin-nonfree : begin

ftashso="/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so"
…

さらに以下を追加。

/etc/chromium-browser/default
…
CHROMIUM_FLAGS=""

. /usr/lib/pepperflashplugin-nonfree/pepflashplayer.sh

これで動くらしい。

chromiumを再起動して
chrome://flash
へアクセスして動作していることを確認する。

■証明書のインポート

設定から証明書をインポートできる。
OSに証明書をインポートしても上手く動かなかった…。


年末から今日にかけて色々と試してようやくバージョンアップができた。
最新版、使いやすい~、ウキウキだ~。

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です