ようやく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に証明書をインポートしても上手く動かなかった…。
年末から今日にかけて色々と試してようやくバージョンアップができた。
最新版、使いやすい~、ウキウキだ~。
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他