オープンソースのWeb会議システムであるJitsi meetをEQUIUM S7100上に構築し、使ってみました。
zoomやmeet、teamsなどたくさんのWeb会議システムがありますが、「無料」で「オンプレ環境」で運用できるのがJisti meetの特徴です。
今回は、細かい調整や機能については一切触れず、Web会議システムの基本的な機能を使用できるようにするまでについて書きます。
Jisti meetについて、国内での情報が少なめなので、海外情報を探しに行くのに時間がかかっています。
海外フォーラムを見に行くと、英語の勉強になりますね。
構築手順
構築の流れ
Jisti meetを使用できるようにするまでの大まかな流れを書きます。
- DDNSを登録する
- ポート開放
- Jisti meetインストール
- アクセス確認
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ハンドブックを見ながら行いました。
以下の手順は私が行ったことです。
参考程度にご覧ください。
なお、作業はrootユーザーで行っています。
1 2 3 |
rootユーザーにスイッチする $ su - |
パッケージ一覧の更新&アップデート
パッケージの最新版を適用します。
1 2 3 |
apt update apt upgrade |
ホスト名の設定
ホスト名とドメインの設定を行います。
1 |
hostnamectl set-hostname [ホスト名] |
/etc/hostsにhostnamectl set-hostname [ホスト名]で設定した[ホスト名]を追加します。
1 2 3 4 5 6 |
vi /etc/hosts 127.0.0.1 localhost x.x.x.x meet.example.org [ホスト名] ※127.0.1.1 [ホスト名]のレコードは削除しました。 |
ping “$(hostname)”を実行して、疎通確認を行います。
1 2 3 4 5 6 7 |
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パッケージリポジトリの追加
1 2 3 4 |
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で使用するポートを開きます。
1 2 3 4 5 6 7 8 9 |
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も実行しました。 |
設定が正しくされたか確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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のインストール
1 |
apt install jitsi-meet |
インストールが始まると画像の表示が出ます。
ドメインの設定をしたDDNSを入力します。
続いて、SSL証明書 についてお尋ねされます。
SSL証明書はハンドブックで推奨されているように、ここで生成されたものを使用しました。
Generate a new self-signed certificate を選択します。
インストールが終わると接続できるようになります。
ただし、まだSSL証明書の生成が完了していないので、画像のように「この接続ではプライバシー場保護されません」という表示が出てしまいます。
詳細設定を押して、無理やり接続することもできますが、この表示が出ている時点で構築はほぼ成功しています。
SSL証明書を作成して完成させましょう。
SSL証明書の生成するためには、以下のコマンドを実行します。
1 |
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh |
コマンド実行後、10秒くらいすると証明書エラーが出ることなく、Jisti meetの画面が表示されます。
アクセス確認
自宅のPCとモバイル回線のスマホでルーム作成、招待、テスト通話してみました。
問題なく利用することができました。
ただ現時点では、アクセス先を知っている人全員がルームを作り放題の状態ですので、簡単ではありますが、ルームを作成できる人を制限するようにしました。
その設定は今後まとめようと思います。
Jisti meetの構築をしてみて、ルームの作成、ユーザー招待、ビデオ通話するだけなら全く問題なく利用できることが分かりました。
ただ、大人数でWeb会議したときのサーバーの挙動や負荷はどのようになるのかわかりません。
また、参加人数によってトラフィックがどのくらい必要なのかについても調査が必要です。
年末年始は実家に帰省することもないので、今年はJisti meetで両親とWebミーティングでもしてみようと思います。
そのためにはNo-IPのDDNS更新を忘れずに更新しないといけません。。。
コメント