年末、暇なためJitsi Meetで自分用Web会議サーバーを作ってみたので、その手順記録。
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart
Lightsailにサーバーを作る
1.Amazon Lightsailで仮想マシンを作る。
https://lightsail.aws.amazon.com/
インスタンスロケーションの選択: ap-northeast、ゾーンD
インスタンスイメージの選択: Linux/unix、OSのみ、Ubuntu 18.04 LTS
インスタンスプランの選択: $5.0USD(メモリ 1GB、CPU 1個、SSD 40GB)
インスタンスを確認: jitsi-meet
なお、$3.5(メモリ512MB)のインスタンスではメモリ全然足りなかった。。
2.インスタンス作成後、インスタンス管理画面 > ネットワークにて以下の設定を追加。
・一応、静的IPアドレスを割り当てておく。
・ファイアウォールのルールは以下の様に設定する。
SSH TCP 22
HTTP TCP 80
HTTPS TCP 443
カスタム TCP 5349
カスタム UDP 3478
カスタム UDP 10000
3.DNS名を割り当てておく。
Let's Encryptの証明書取得に必要なためDNSのドメインを取得して、先の静的IPアドレスのAレコードを登録しておく。
Lightsailからも作れるらしいのだけど、自分はRoute 53を直接使っている。
今回は例として、FQDNを「jitsi-meet.example.com」とする。
Jitsi Meetをインストールする
1.仮想マシンの静的IPに対してsshでログインする。ユーザー名はubuntu。
2.以下のコマンドを実行して、OSを準備する。
# sudo apt update
# sudo apt install apt-transport-https
# sudo apt-add-repository universe
# sudo apt update
# sudo apt install openjdk-8-jdk
# 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
# sudo apt update
3.Jitsi Meetをインストールする。
# sudo apt install jitsi-meet
Hostnameを聞かれるので、先に設定したFQDNを入力する。
TLS証明書は、とりあえず自己署名証明書を作る、で進める。
サービスの再起動は、自動で(<Yes>)。
4.TLS証明書を作る。
Let's Encryptは2010年代最大の発明だと思う。
# sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
実際に運用するなら、1か月に1回ぐらいsudo certbot renew
コマンドを実行して証明書更新するのを忘れずに。
Webミーティングを開く
1.Webブラウザで、DNSに登録したFQDNのサイトを開く。
例えばhttps://jitsi-meet.example.com
2.会議室名がちょっと長くていいなら、そのまま「Go」をクリックして会議室を開く。
3.会議室が開く。他の参加者に渡す会議室名はWebブラウザのURLから分かる。というかURL全体をコピーしてそのまま相手に渡すのが良いだろう。
Webミーティングに参加する
試しに、手持ちのスマホ(Android)から参加してみる。
1.AndroidにJitsi Meetクライアントをインストールする。
Playストアから「jitsimeet」で出てくる。
2.Jitsi Meetを起動する。
3.画面左上の「メニュー」>「設定」を開く。
4.「ミーティング」>「サーバーのURL」に作ったサーバーのURL(例えばhttps://jitsi-meet.example.com
)を入力する。
5.ルーム名(上の画面例だと「SpecificDaysSmellGently」)を入力して「作成/参加」をクリックする。
6.PCのWebブラウザ側で、会議室にAndroidのクライアントが接続されたことを確認する。
7.画面右下の「メニュー」>「画面共有の開始」と実行することで、スマートフォン側の画面をPC側に転送することができる。PC画面をスマホに転送することもできる。便利。
スマホからの参加は、ちょっと画質悪いがChromeからも可能。
おわりに
JigasiというのセットアップしてSIPクライアントから会議室につなぐこともできるそう。
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart#adding-sip-gateway-to-jitsi-meet
軽く探してみた感じだと、Voximplant?とかのサービスを使って電話回線から会議室につなぐのもいけそう。
https://voximplant.com/docs/tutorials/jigasi-setup
次の目標はここか。
(追記)Twilioで電話回線を購入してつないだ。
https://qiita.com/rk05231977/items/6b88f1cc66a9c0743491