jitsi-meetを手軽にubuntu20で立ち上げ

(追記2022.03/17)原因は判りませんがubuntuのapt update とapt upgradeを行ったところ、カメラ画像と音声が普通に伝わるようになりました。\
(追記2021.06/23）こちらの記事の方法を実施しても、カメラ画像および音声が出ません。jitsi-meetを起動することだけが可能です。（過去にカメラ画像が出たことがあったのですが、いまのところ全く再現できておりません。）

# 1. はじめに
工場内、社内、自宅内で、それぞれで手軽に扱う事のできるテレビ会議システムがあると便利だろうなという方向けの内容です。
IPアドレス、ホスト名、linuxコマンドという単語を知っていることが前提ですが、とても簡易的な立ち上げなので、それほど難しくないです。
セキュリティは考慮しないので、テレビ会議システムサーバとしてしっかり立ち上げる場合は、この記事は参考にしないでください（本来は、ファイアーウォールなどもきちんと準備する必要があります）。


# 2.事前準備

1. 仮想マシンなどとして、ubuntu 20.04 server版を準備する([参考](https://qiita.com/dzonesasaki/items/de2514282376914e39da))。その際、opensslをインストールしておく（OSインストール時にチェックを入れる）
2. **IPアドレスを固定にする**（ここが最も重要。DHCPを設定しても良いし、netplanで設定してもよい。方法が判らない場合は「ubuntu20 IPアドレス固定」で調べる）
3. ホストの名前をメモしておく（ホスト : 192.168.1.2みたいなIPアドレスでOK。ドメイン名とホスト名でも良いが、その意味が分かる方は他の方の記事を参照した方が良い）
4. パスフレーズ を決めておき、メモしておく（パスフレーズ: パスワードみたいなもの。自分で決める。）

# 3. インストール

## 3.1. 流れ
大きく2つの手順があります。
1. 自己認証局と自己証明書の発行。（「オレオレ証明書 ubuntu」で検索すると沢山出てきます）
2. jitsi-meetなどのインストール

## 3.2. 自己認証局と自己証明書の発行

ここの方法は次のページの方法そのままです。

https://www.server-world.info/query?os=Ubuntu_20.04&p=ssl&f=1 

rootになってから、操作します。

```sh
# cd /etc/ssl/private/
# openssl genrsa -aes128 -out ホスト.key 2048
（ここでパスフレーズを2回入れる。パスフレーズは忘れないこと）
# openssl rsa -in ホスト.key -out ホスト.key
（ここで先ほどのパスフレーズを1回入れる。）
# openssl req -new -days 3650 -key ホスト.key -out ホスト.csr

（次のプロンプトに回答する
 Country Name (2 letter code) [AU]: ここはJPと入力
 State or Province Name (full name) [Some-State]:ここは地域や県などを入力。例：Tohoku
 Locality Name (eg, city) []:ここは県や市などを入力。例：Akita
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:ここは組織名。何でも良い。例：OresamaOrg
 Organizational Unit Name (eg, section) []:そのままenter
 Common Name (e.g. server FQDN or YOUR name) []:ホストを入れる。
 Email Address []:不要だけど、メールアドレスでも良い。例：root@ホスト
 A challenge password []:そのままenter
 An optional company name []:そのままenter
）

# openssl x509 -in ホスト.csr -out ホスト.crt -req -signkey ホスト.key -days 3650
```
これで、/etc/ssl/private/に必要なファイルが整いました。次のパスを覚えておいてください。（ホストの文字は設定したものに置き換えます）
/etc/ssl/private/ホスト.key
/etc/ssl/private/ホスト.crt


## 3.3. jitsi-meetなどのインストール

ここは次のページを参考にしました。

https://rohhie.net/an-open-source-web-conferencing-system-jitsi-server-installation/

https://remoteroom.jp/diary/2020-05-31/

https://qiita.com/rk05231977/items/a8e627d87767ee4ec5ac

次が手順です。rootのなってから操作します。フォルダはどこでも良いですが、作業用のフォルダが良いでしょう。

```sh
# wget https://download.jitsi.org/jitsi-key.gpg.key
# apt-key add jitsi-key.gpg.key
# echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
# apt update
# apt install nginx jitsi-meet
（ここで、次を入力していく
・ホスト（自己証明書と同じホスト名にする。192.168.1.2にしたのなら、それを記載）
・「I want to use my own certificate」を選択
・鍵ファイル（/etc/ssl/private/ホスト.key）
・証明書ファイル（/etc/ssl/private/ホスト.crt）
）
# systemctl restart nginx.service
# systemctl enable nginx.service
```

# 4. 接続

同じLANに接続されているPCなどのブラウザから、ホスト(192.168.1.2みたいなの)を入れます。
初回は、ブラウザに「警告」が出ます。安全性を確認できないというメッセージです。これは自己証明を利用したため表示されますが、自分自身で立ち上げたサーバですから、安全ですので気にしなくても良いです。
ページが出た後、真ん中に出ている窓に会議名称を入力します（210429みたいに日付けなど）。
会議画面が出た後は、カメラとマイクの利用を許可します。

# 5. おわりに
COVID-19禍で、在宅勤務が常態化している業種もありますが、そうではない業種もあります。でも、せめて、密を避けて打合せをしたいというニーズはあるのではないでしょうか。その際、棟や部屋で仕切り、それぞれをテレビ会議で繋いで、打合せするというのも1つです。
その際に、jitsi-meetは便利だと思います。今回はファイアーウォールなどの設定をしていません。なので、会議する時にだけ、仮想マシンを立ち上げて利用するという形に向いています。