このチュートリアルでは、Ubuntu20.04サーバーにJitsiMeetをインストールする方法を説明します。 Jitsi Meetは、Linux、macOS、Windows、iOS、Androidで動作する無料のオープンソースビデオ会議ソフトウェアです。 Zoomを信頼できない場合は、独自のサーバーで独自のビデオ会議プラットフォームを実行できます。
JitsiMeetの機能
- 完全に無料
- コンピュータの画面を他の人と共有します。
- プレゼンターモードでは、画面とカメラを同時に共有できるため、出席者はプレゼンテーション全体でプレゼンターとボディランゲージを確認できます。
- 画面を共有しながらシステムオーディオを共有できます。
- 承認されたユーザーをモデレーターとして割り当てることができます。モデレーターは、ワンクリックですべての参加者をミュートできます。
- ネットワークを介した通信は、DTLS-SRTPを使用して暗号化されます。
- エンドツーエンド暗号化(進行中の作業)
- 会議のパスワードを設定して、見知らぬ人がランダムに入るのを防ぐことができます。
- 会議/会議を記録してDropboxに保存します。
- YouTube Liveにストリーミングして、録画をYouTubeに保存します。
- AndroidおよびiOSアプリ
- テキストチャット
- テキストドキュメントを共有する
- 会議への電話ダイヤルイン
- 電話参加者へのダイヤルアウト
- わずか数行のコードで、JitsMeet呼び出しを任意のWebページに埋め込むことができます。
Ubuntu20.04にJitsiMeetをインストールするための要件
Jitsi Meetを実行するには、少なくとも1GBのRAMを搭載したサーバーが必要です。この紹介リンクをクリックして、Vultrにアカウントを作成し、50ドルの無料クレジットを取得できます(新規ユーザーのみ)。 Vultrにアカウントを作成したら、サーバーにUbuntu 20.04をインストールし、以下の手順に従います。ユーザーが数十人いる場合は、サーバーハードウェアのアップグレードを検討してください。サーバーはユーザーの近くに配置する必要があります。そうしないと、オンライン会議中に遅延が発生します。
ドメイン名も必要です。ドメイン名をNameCheapに登録したのは、価格が安く、whoisのプライバシー保護が一生無料になるからです。
ステップ1:公式パッケージリポジトリからJitsiMeetをインストールする
JitsiMeetはデフォルトのUbuntuリポジトリに含まれていません。公式のJitsiパッケージリポジトリからインストールできます。このリポジトリには、他のいくつかの便利なソフトウェアパッケージも含まれています。 SSH経由でサーバーにログインし、次のコマンドを実行して公式のJitsiリポジトリを追加します。
echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
Jitsi公開鍵をインポートして、APTパッケージマネージャーがこのリポジトリからダウンロードされたパッケージの整合性を検証できるようにします。
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
JitsiリポジトリにはHTTPS接続が必要なため、apt-transport-https
をインストールする必要があります APTにJitsiリポジトリへのHTTPS接続を確立させるパッケージ。
sudo apt install apt-transport-https
次に、ローカルパッケージインデックスを更新し、UbuntuにJitsiMeetをインストールします。
sudo apt update sudo apt install jitsi-meet
インストール中に、Jitsiインスタンスのホスト名を入力する必要があります。これは、参加者がビデオ会議に参加したときにWebブラウザのアドレスバーに表示されるホスト名です。 meet.example.com
のようなわかりやすいホスト名を使用できます 。
次の画面で、新しい自己署名TLS証明書を生成することを選択できるため、後で信頼できるLet’sEncryption証明書を取得してインストールできます。
インストールプロセスにより、いくつかのLinuxカーネルパラメータが構成され、/etc/sysctl.d/20-jvb-udp-buffers.conf
に保存されます。 ファイル。インストールが完了すると、JitsiMeetが自動的に起動します。次のコマンドでステータスを確認できます:
systemctl status jitsi-videobridge2
サンプル出力:
● jitsi-videobridge2.service - Jitsi Videobridge Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-04-25 03:07:16 UTC; 8min ago Main PID: 3721 (java) Tasks: 35 (limit: 65000) Memory: 168.5M CGroup: /system.slice/jitsi-videobridge2.service └─3721 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath>
ヒント:上記のコマンドがすぐに終了しない場合は、Qキーを押して終了させることができます。
jitsi-meet
packageは、
- openjdk-8-jre-headless : Javaランタイム環境。 Jitsi MeetはJava言語で記述されているため、これが必要です。
- jicofo :Jitsiカンファレンスフォーカス(
systemctl status jicofo
) - 韻律 :軽量Jabber / XMPPサーバー(
systemctl status prosody
) - コターン :coturnTURNサーバー
ステップ2:ファイアウォールでポートを開く
次のコマンドでわかるように、JitsiMeetはいくつかのUDPポートでリッスンします。 (Ubuntuサーバーにnetstat
がない場合 コマンドを実行すると、sudo apt install net-tools
を実行できます。 インストールするコマンド。)
sudo netstat -lnptu | grep java
参加者がWebブラウザからビデオ会議に参加できるようにするには、TCPポート80および443を開く必要があります。また、ネットワーク経由でビデオを転送するには、UDPポート10000および5000を開きます。UFWファイアウォールを使用している場合は、次を実行します。これらのポートを開くコマンド。
sudo ufw allow 80,443/tcp sudo ufw allow 10000,5000/udp
ステップ3:信頼できるLet'sEncryptTLS証明書を取得する
DNSホスティングサービス(通常はドメインレジストラ)にアクセスして、Jitsiホスト名(meet.example.com)のDNSAレコードを作成します。次に、次のスクリプトを実行して、信頼できるLet’sEncryptTLS証明書を取得します。
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
重要なアカウント通知を受け取るには、メールアドレスを入力してください。次に、certbot-auto
をダウンロードします TLS証明書を取得します。
すべて問題がない場合は、TLS証明書が正常に取得され、インストールされたことを示す次のメッセージが表示されます。
クリーンなUbuntu20.04インストール(18.04または19.10からアップグレードされていない)を使用している場合、Let’sEncrypt証明書を取得するときに次のエラーが表示される可能性があります。
Package python-virtualenv is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'python-virtualenv' has no installation candidate
これは、Ubuntu20.04リポジトリにpython-virtualenv
がないためです。 パッケージ。アップストリームのcertbot-autoバイナリを使用してTLS証明書を取得する代わりに、Ubuntu 20.04リポジトリからcertbotパッケージをインストールし、それを使用してTLS証明書を取得できます。
sudo apt install certbot
次に、certbot-auto
のインスタンスを変更する必要があります certbot
へ 次のコマンドを使用してスクリプト内で。
sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
スクリプトを再度実行すると、Let’sEncryptからTLS証明書を正常に取得できるはずです。
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
このスクリプトはhttp-01
を使用していることに注意してください チャレンジ。これは、ApacheまたはNginxWebサーバーがパブリックIPアドレスのポート80でリッスンする必要があることを意味します。サーバー環境がhttp-01
をサポートしていない場合 チャレンジする場合は、上記のスクリプトを実行しないでください。他のチャレンジタイプを使用する必要があります。私の場合、DNSチャレンジを使用しています。
sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email [email protected] -d meet.linuxbabe.com
場所:
-
--agree-tos
:利用規約に同意します。 -
-a dns-cloudflare
:Cloudflare DNSサービスを使用しているため、認証にcloudflareDNSプラグインを使用しています。 -
-i nginx
:nginxプラグインを使用してTLS証明書をインストールします。 Apacheを使用する場合は、nginx
を置き換える必要がありますapache
を使用 。 --redirect
:301リダイレクトでHTTPSを強制します。-
--hsts
:すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。 -
--staple-ocsp
:OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。
ステップ4:HTTP2を有効にする
HTTP2は、Webページの読み込み速度を向上させることができます。 NginxでHTTP2を有効にするには、仮想ホストの構成ファイルを編集します。
sudo nano /etc/nginx/sites-enabled/meet.example.com.conf
次の2行を見つけます。
listen 443 ssl; listen [::]:443 ssl;
最後にhttp2を追加します。
listen 443 ssl http2; listen [::]:443 ssl http2;
ファイルを保存して閉じます。次に、変更を有効にするためにNginxをリロードします。
sudo systemctl reload nginx
ステップ5:新しいオンライン会議を開始する
次に、https://meet.example.com
にアクセスします そして、あなたは会議を始めることができるでしょう。音声を転送するには、Webブラウザがマイクを使用できるようにする必要があります。また、ビデオを転送するには、Webブラウザがカメラにアクセスできるようにする必要があります。
会議に名前を付けて、[実行]ボタンをクリックします。会議の開始後、オプションで会議のパスワードを設定することを選択できます。
ステップ6:ユーザー認証を設定する
デフォルトでは、誰でもJitsi Meetインスタンスにアクセスして、会議室を作成し、会議を開始できます。ユーザー認証を設定するには、Prosody構成ファイルを編集します。
sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua
次の行を見つけます。
authentication = "anonymous"
次のように変更します。これにより、ユーザーは会議を開始するためにユーザー名とパスワードを入力する必要があります。
authentication = "internal_plain"
ただし、会議に参加するときに参加者がユーザー名とパスワードを入力することは望ましくないため、このファイルの最後に次の行を追加して、ゲストの匿名ログインを作成する必要があります。 guest.meet.example.com
のDNSAレコードを作成する必要はないことに注意してください 。
VirtualHost "guest.meet.example.com" authentication = "anonymous" c2s_require_encryption = false
ファイルを保存して閉じます。
次に、JitsiMeet構成ファイルを編集します。
sudo nano /etc/jitsi/meet/meet.example.com-config.js
次の行を見つけてください
// anonymousdomain: 'guest.example.com',
二重スラッシュを削除し、ゲストドメインを変更します。 met.example.comを実際のJitsiMeetホスト名に置き換えます。
anonymousdomain: 'guest.meet.example.com',
ファイルを保存して閉じます。
次に、Jicofo構成ファイルを編集します。
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
このファイルの最後に次の行を追加します。
org.jitsi.jicofo.auth.URL=XMPP:meet.example.com
ファイルを保存して閉じます。変更を有効にするためにsystemdサービスを再起動します。
sudo systemctl restart jitsi-videobridge2 prosody jicofo
Jisi Meetでユーザーアカウントを作成するには、次のコマンドを実行します。新しいユーザーのパスワードを入力するように促されます。
sudo prosodyctl register username meet.example.com
Jitsi Meetで部屋を作成する場合は、ユーザー名とパスワードを入力する必要があります。
オプション:電話のダイヤルインまたはダイヤルアウト用にJigasiを設定する
Jitsiは、ユーザーが会議にダイヤルインしたり、ダイヤルアウトリマインダーコールを発信したりできるテレフォニーインターフェイスを提供します。 jigasi
をインストールします パッケージ(SIP用のJitsiゲートウェイ)。
sudo apt install jigasi
インストール中に、SIPユーザー名とパスワードを入力する必要があります。アカウントをお持ちでない場合は、OnSIP.comで無料のSIPアカウントを作成できます。
手順6でユーザー認証を設定した場合は、Jigasi構成ファイルを編集する必要があります。
sudo nano /etc/jitsi/jigasi/sip-communicator.properties
次の行を見つけます。
# [email protected]_DOMAIN # org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS # org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
コメントを外し、手順6で作成したアカウントとパスワードを入力します。
org.jitsi.jigasi.xmpp.acc.USER_ID=[email protected] org.jitsi.jigasi.xmpp.acc.PASS=user1_password org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
ファイルを保存して閉じます。 jigasi
を再起動します systemdサービス。
sudo systemctl status jigasi
オプション:Coturnを構成する
Jitsi Meetのインストール中に次のメッセージが表示された場合は、正しく機能するようにCoturnを構成する必要があります。
Warning! Could not resolve your external ip address! Error:^ Your turn server will not work till you edit your /etc/turnserver.conf config file. You need to set your external ip address in external-ip and restart coturn service.
Coturn構成ファイルを編集します。
sudo nano /etc/turnserver.conf
次の行を見つけます。
external-ip=127.0.0.1
127.0.0.1をサーバーのパブリックIPアドレスに置き換えます。ファイルを保存して閉じます。次に、Coturnを再起動します。
sudo systemctl restart coturn
トラブルシューティングのヒント
エラーが発生した場合は、Nginxエラーログ(/var/log/nginx/error.log
)を確認できます。 )何が悪いのかを見つけるために。 systemdサービスのログを確認することもできます。
sudo journalctl -eu jitsi-videobridge2 sudo journalctl -eu prosody sudo journalctl -eu jicofo