コロナによって、テレワーク(リモートワーク)が、それなりに普及してきました。
その際、ZoomやMicrosoft TeamsがWeb(ビデオ)会議で利用されています。
しかし、これらを仕事で使う以上は有償での利用が当たり前です。
無償でもある程度は使えますが、制限が多すぎます。
そこでオープンソースの出番です。
オープンソースは、知識とスキルで有償版以上に使えることもありえます。
Web会議のオープンソースと言えば、Jitsi Meetです。
この記事では、Jitsi Meetのインストールを解説していきます。
本記事の内容
- システム要件の確認
- Jitsi Meetインストール前の事前準備
- Jitsi Meetのインストール
- Jitsi Meetの動作確認
本ブログでは、基本的には公式マニュアルを利用するようにしています。
今回のJitsi Meetに関しても、以下の公式ページに沿ってインストールを行います。
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart
それでは、上記に沿って説明を行っていきます。
システム要件の確認
インストールできるのは、Debian/Ubuntuが想定されています。
この場合、もちろん対応OSはLinuxのみです。
Windows版は、公式では公開されていません。
クライアントの方は、PCに加えて、AndroidとiOSにも対応しています。
なお、PCではブラウザ(Chrome)のみで利用可能です。
では、システム要件を確認しましょう。
ディストリビューション以外は、特に指定がありません。
- Debian 10 (Buster) 以降
- Ubuntu 18.04 (Bionic Beaver) 以降
上記を満たせば、システム要件はそれ以外には気を使う必要はないですね。
では、インストールを進めていきましょう。
その前に、事前の準備から行います。
インストール前の事前準備
Jitsi Meetのインストールは、事前準備が肝です。
少々長くなりますが、極力コピペで済むようにまとめています。
- apt-transport-httpsのインストール
- リポジトリ追加
- Jitsi Meetパッケージのリポジトリへの追加
- ドメインとDNSの設定
- ファイアウォールの設定
- Webサーバーのインストール
これらを一つづつ解説していきます。
apt-transport-httpsのインストール
apt-transport-httpsをインストールします。
Linuxでは、インストール前には以下が必須ですね。
$ sudo apt update
次に、httpsに対応したaptをインストールします。
セキュリティ意識は高いに越したことはありません。
$ sudo apt install apt-transport-https
リポジトリ追加
リポジトリの登録です。
Jitsi Meetをインストールするためには、「universe」がリポジトリとして追加されている必要があります。
$ sudo apt-add-repository universe
私の環境では、すでにリポジトリに追加されていました。
'universe'のコンポーネントはすべてのソースで有効になっています。
「universe」を新たに追加した場合は、次のコマンドで更新しておきましょう。
$ sudo apt update
Jitsi Meetパッケージのリポジトリへの追加
「universe」のリポジトリへJitsiパッケージを登録します。
そうすれば、aptで簡単にJitsiをインストールできます。
$ curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > $ 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 $ sudo apt update
これでaptでJitsi Meetをインストールできるようになりました。
ドメインとDNSの設定
Jitsi Meetをインストールするサーバーにドメインを適用しておきます。
ドメインではなく、IPだけでも可能です。
しかし、今回は実際に運用することを想定します。
今は、サーバーを本当に安く利用できます。
ちなみに、私は以下で説明したVPSにインストールを行います。
なお、ドメインはホスト名を利用してください。
ここは、公式マニュアルの通りにやりましょう。
$ sudo hostnamectl set-hostname meet
ホスト名はmeetでなくてもいいです。
今回は、これを機にホスト名をmeetにしています。
この場合、ドメインはmeet.example.comとなります。
このドメインとサーバーの固定IPを関連付けてください。
ドメインの設定まで完了すれば、/etc/hostsに以下を追記します。
127.0.0.1 localhost x.x.x.x meet.example.com meet
サーバーの固定IP、ドメイン、ホスト名という順番ですね。
ほぼおまじないだと考えてください。
ここまでに設定は以下で確認できます。
$ ping "$(hostname)"
次のような返答があれば、ここまでの設定はOKです。
PING meet.example.com (x.x.x.x) 56(84) bytes of data. 64 bytes from meet.example.com (x.x.x.x): icmp_seq=1 ttl=64 time=0.044 ms 64 bytes from meet.example.com (x.x.x.x): icmp_seq=2 ttl=64 time=0.055 ms
ファイアウォールの設定
22はすでに開放されていると思います。
Webサーバーを利用していれば、80と443も開放済みでしょう。
4443と10000ぐらいでしょうか、Jitsi Meetのために開放するのは。
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 4443/tcp sudo ufw allow 10000/udp sudo ufw allow 22/tcp sudo ufw enable
とにかく、上記のコマンドで各ポートを開放します。
ファイアウォールの設定は、以下の記事内で解説しています。
参考にしてください。
Webサーバーのインストール
NginxかApacheのどちらかが、インストールされている必要があります。
今後は、Nginxの時代です。
そのため、Nginxをインストールしましょう。
上記の記事を参考にしてください。
すでにApacheがインストール済みなら、そのままApacheのままでもいいでしょう。
これで事前の準備は完了となります。
これで8割は、終わったようなモノです。
Jitsi Meetのインストール
aptによるJitsi Meetのインストール
やっとJitsi Meet本体をインストールします。
下記のコマンドを実行してください。
$ sudo apt install jitsi-meet
途中でホストの確認画面が表示されます。
「ドメインとDNSの設定」で設定したドメインを入力します。
meet.example.comでしたね。
ドメインがなければ、固定IPを入力してもOKということです。
ホストを入力すると、次の画面が表示されます。
これは、TLS用のサーバ証明書をどうやって用意するのかの確認画面です。
詳細は、あとで説明します。
ここでは、「 Generate a new self-signed certificate (You will later get a chance to obtain a Let’s encrypt certificate)」を選択。
選択すると、そのままインストールが続きます。
エラーの表示なく、終わればインストールは完了です。
ただし、完了しただけで成功かどうかはまだわかりません。
確認作業の前に、TLS用のサーバ証明書の件を片付けます。
TLSサーバ証明書の導入
暗号化された通信を行うために必要です。
わざわざ、購入する必要はありません。
公式でも推奨している方法で行います。
Let’s Encryptを利用します。
導入方法は、次の記事でも解説しています。
しかし、今回はもっと簡単にできます。
以下のスクリプトを実行するだけです。
$ sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
途中でメールアドレスの確認があります。
有効なメールアドレスを入力して、Enter。
あとは、サクサク進みます。
驚くぐらい簡単に設定が終わります。
Ubuntuが人気なのは、このようなところなのですかね。
Jitsi Meetの動作確認
設定したドメインに ブラウザでアクセスします。
https://meet.example.comをアドレスバーに入力することになります。
この画面が表示されれば、インストールは成功しています。
設定をいろいろと出来るようです。
設定に関しては、また別の記事で解説していきます。
主にセキュリティとパフォーマンスに関することになるでしょう。
追記 2020年09月17日
セキュリティを高くする設定を次の記事にまとめました。