OSSなWeb会議システム Jitsi meetを構築してみました

Linux
この記事は約8分で読めます。

オープンソースのWeb会議システムであるJitsi meetをEQUIUM S7100上に構築し、使ってみました。

zoomやmeet、teamsなどたくさんのWeb会議システムがありますが、「無料」で「オンプレ環境」で運用できるのがJisti meetの特徴です。

今回は、細かい調整や機能については一切触れず、Web会議システムの基本的な機能を使用できるようにするまでについて書きます。

Jisti meetについて、国内での情報が少なめなので、海外情報を探しに行くのに時間がかかっています。

海外フォーラムを見に行くと、英語の勉強になりますね。

                 

構築手順

構築の流れ

Jisti meetを使用できるようにするまでの大まかな流れを書きます。

  1. DDNSを登録する

  2. ポート開放

  3. Jisti meetインストール

  4. アクセス確認

DDNSの登録については以前の記事で書きましたので、主に2~4について書いていきます。

 

                 

導入環境

今回、Jisti meetをインストールしたパソコンはEQUIUM S7100です。

簡単にスペックを書きます。

CPU Core i3-3220
メモリ 6GB(2GB + 4GB)
HDD HDD160GB(5400rpm)
OS Ubuntu Desktop 20.04.1 LTS
LAN 1000BASE-T

このパソコンについては以前書きましたので、詳細はリンク先をご覧ください。

                 

では、構築をしていきます。

 

DDNSの登録

事前にDDNSの登録をしてドメインを取得しておきましょう。

どのDDNSサービスを利用しても問題ないと思いますが、私はNo-IPで取得したドメインで構築しました。

                 

ポート開放

Jisti meetで使用するポートをあらかじめ開放しておきます。

TCP 80 , 443 , 22 , 5439
UDP 3478 , 10000

私はASUSルーターのRT-AX56Uを使用しているので、WAN – ポートフォワーディング と進み、プロファイルを追加しました。

正しくポート開放がされていない場合は、画像のようにアクセス拒否されます。

正確に、確実にポート開放を行いましょう。

ポート開放をオフにしたときのスクリーンショット

                 

Jisti meetインストール

Jisti meetのインストールについては、公式ドキュメントのJitsi meetハンドブックを見ながら行いました。

≫ Jitsi meetハンドブック

以下の手順は私が行ったことです。

参考程度にご覧ください。

なお、作業はrootユーザーで行っています。

rootユーザーにスイッチする

$ su -

パッケージ一覧の更新&アップデート

パッケージの最新版を適用します。

apt update

apt upgrade

 

ホスト名の設定

ホスト名とドメインの設定を行います。

hostnamectl set-hostname [ホスト名]

/etc/hostsにhostnamectl set-hostname [ホスト名]で設定した[ホスト名]を追加します。

vi /etc/hosts

127.0.0.1       localhost
x.x.x.x meet.example.org [ホスト名]

※127.0.1.1 [ホスト名]のレコードは削除しました。

ping “$(hostname)”を実行して、疎通確認を行います。

ping "$(hostname)"
PING meet.example.org (x.x.x.x) 56(84) バイトのデータ
64 バイト応答 送信元 meet.example.org (x.x.x.x): icmp_seq=1 ttl=64 時間=0.032ミリ秒
64 バイト応答 送信元 meet.example.org (x.x.x.x): icmp_seq=2 ttl=64 時間=0.028ミリ秒
64 バイト応答 送信元 meet.example.org (x.x.x.x): icmp_seq=3 ttl=64 時間=0.027ミリ秒
64 バイト応答 送信元 meet.example.org (x.x.x.x): icmp_seq=4 ttl=64 時間=0.032ミリ秒
64 バイト応答 送信元 meet.example.org (x.x.x.x): icmp_seq=5 ttl=64 時間=0.026ミリ秒

 

                 

Jitsiパッケージリポジトリの追加

curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

apt update

ファイアウォールのセットアップ

Jisti meetで使用するポートを開きます。

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000/udp
ufw allow 22/tcp
ufw allow 3478/udp
ufw allow 5349/tcp
ufw enable

※私の場合はxrdpでリモートデスクトップ接続できるようにしているので、ufw allow 3389/tcpも実行しました。

設定が正しくされたか確認します。

ufw status 
状態: アクティブ

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
10000/udp                  ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                  
3478/udp                   ALLOW       Anywhere                  
5349/tcp                   ALLOW       Anywhere                  
3389/tcp                   ALLOW       Anywhere                  
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
10000/udp (v6)             ALLOW       Anywhere (v6)             
22/tcp (v6)                ALLOW       Anywhere (v6)             
3478/udp (v6)              ALLOW       Anywhere (v6)             
5349/tcp (v6)              ALLOW       Anywhere (v6)             
3389/tcp (v6)              ALLOW       Anywhere (v6)             
                 

Jisti meetのインストール

apt install jitsi-meet

インストールが始まると画像の表示が出ます。

ドメインの設定をしたDDNSを入力します。

続いて、SSL証明書 についてお尋ねされます。

 

SSL証明書はハンドブックで推奨されているように、ここで生成されたものを使用しました。

Generate a new self-signed certificate を選択します。

 

インストールが終わると接続できるようになります。

ただし、まだSSL証明書の生成が完了していないので、画像のように「この接続ではプライバシー場保護されません」という表示が出てしまいます。

詳細設定を押して、無理やり接続することもできますが、この表示が出ている時点で構築はほぼ成功しています。

SSL証明書を作成して完成させましょう。

 

SSL証明書の生成するためには、以下のコマンドを実行します。

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

コマンド実行後、10秒くらいすると証明書エラーが出ることなく、Jisti meetの画面が表示されます。

                 

アクセス確認

自宅のPCとモバイル回線のスマホでルーム作成、招待、テスト通話してみました。

問題なく利用することができました。

ただ現時点では、アクセス先を知っている人全員がルームを作り放題の状態ですので、簡単ではありますが、ルームを作成できる人を制限するようにしました。

その設定は今後まとめようと思います。


Jisti meetの構築をしてみて、ルームの作成、ユーザー招待、ビデオ通話するだけなら全く問題なく利用できることが分かりました。

ただ、大人数でWeb会議したときのサーバーの挙動や負荷はどのようになるのかわかりません。

また、参加人数によってトラフィックがどのくらい必要なのかについても調査が必要です。

年末年始は実家に帰省することもないので、今年はJisti meetで両親とWebミーティングでもしてみようと思います。

そのためにはNo-IPのDDNS更新を忘れずに更新しないといけません。。。

コメント

タイトルとURLをコピーしました