Let's Encrypt SSLを使用してUbuntu 24.04にJitsi Meetをインストールする方法

Ubuntu 24.04 に Jitsi Meet をインストールするのは、パッケージインストーラーを実行する前に DNS 名、ファイアウォール、TLS プランが正しく設定されていれば簡単です。2026 年 8 月 10 日に最終更新された公式の Jitsi セルフホスティングガイドでは、Ubuntu 22.04 以降がサポートされているため、Ubuntu 24.04 LTS はドキュメントに記載されているサポート範囲内です。同じガイドでは、信頼できる TLS 証明書の使用を推奨しており、インストール時に推奨される証明書として Let's Encrypt が提示されています。

このガイドでは、meet.example.orgホスト名の例として を使用しています。実際のサーバーを指す完全修飾ドメイン名に置き換えてください。

Jitsi Meetをインストールする前に準備しておくべきことは何ですか?

Ubuntu 24.04サーバーにsudoアクセス権限、パブリックDNS名、およびJitsiに必要なポートへの受信ネットワークアクセス権限が必要です。JitsiはリアルタイムWebRTCサービスであるため、Webページを配信できてもUDPメディアトラフィックを受信できないサーバーでは、完全なデプロイメントとは言えません。

  • 管理者権限を持つUbuntu 24.04 LTS。
  • meet.example.orgサーバーのパブリックIPv4アドレスを指すDNS Aレコードなど。
  • TCPポート80番と443番はインターネットからアクセス可能です。
  • UDPポート10000は、通常のJitsiメディアトラフィックに利用可能です。
  • SSHアクセスは、変更していない限り通常はTCP 22を使用します。
  • 上流のクラウドファイアウォール、セキュリティグループ、ルーター、またはNATデバイスを十分に制御して、同じポートを転送できるようにすること。

Jitsiのドキュメントには、STUNクエリが有効になっている場合、UDP 3478番ポートが、TURNフォールバックトラフィックにはTCP 5349番ポートが割り当てられると記載されています。サーバーがNATの背後にある場合は、Ubuntuとルーターまたはクラウドネットワークの両方でファイアウォールの設定が正しく行われている必要があります。

Jitsi Meetをインストールする前に、Ubuntu 24.04のターミナルでオペレーティングシステムのリリースとOpenJDK 17のバージョンを確認している様子。
Jitsi Meetのインストールを開始する前に、サーバーがUbuntu 24.04で動作していることを確認し、Javaランタイムをチェックしてください。

Let's Encryptが機能するためには、ホスト名の解決が必要ですか?

はい。まずDNSレコードを作成し、パブリックリゾルバがサーバーのパブリックアドレスを返すまで待ち​​ます。Let's Encryptはホスト名の制御を検証できる必要があり、JitsiのNginx設定もそのホスト名を使用します。

一般的なデプロイメントでは、Aレコードを作成します。

タイプ名前価値
Ameet.example.orgサーバーのパブリックIPv4アドレス

サーバー側から、名前解決が期待どおりに行われることを確認します。

getent ahostsv4 meet.example.org

誤ったアドレスが返された場合は、ここで処理を中止し、DNSを修正してください。DNSが正しく設定されていない状態で証明書を発行すると、通常は回避可能な検証エラーが発生します。

meet.example.org の DNS 管理ページが、ホスト名をパブリック IPv4 アドレスに解決するターミナルの横に表示されている。
Let's Encrypt証明書を要求する前に、会議のホスト名がUbuntuサーバーのパブリックアドレスに解決されることを確認してください。

必要な基本パッケージとUbuntuリポジトリはどれですか?

現在の Jitsi の Debian/Ubuntu ガイドには、sudo を使用する場合gnupg2、、、nginx-fullまたはcurl、wgetおよびが記載されています。また、OpenJDK 17 を使用する必要があるとも記載されています。Jitsi は Ubuntu のリポジトリsudoのパッケージに依存しています。universe

sudo apt update
sudo apt install apt-transport-https
sudo add-apt-repository universe
sudo apt update
sudo apt install gnupg2 nginx-full curl

このapt-transport-httpsパッケージは、現在のJitsiクイックスタート手順書に記載されているため、ここに残されています。最新のUbuntuでは、HTTPSトランスポートは既にAPTに統合されているため、このパッケージをインストールすることは、本来存在しない機能を有効にするというよりも、互換性を確保するための手順となる可能性があります。

UbuntuターミナルでAPTを更新し、universeリポジトリを有効にし、Jitsi Meetに必要なパッケージをインストールしています。
Ubuntuのパッケージソースを準備し、最新のJitsiセルフホスティングガイドで参照されている前提条件をインストールしてください。

ProsodyとJitsiのリポジトリを追加するにはどうすればよいですか?

JitsiはXMPPシグナリングにProsodyを使用しています。公式のクイックスタートガイドでは現在、管理者に対し、ProsodyパッケージリポジトリとJitsiの安定版リポジトリの両方を追加するよう指示しています。

sudo curl -sL https://prosody.im/files/prosody-debian-packages.key   -o /usr/share/keyrings/prosody-debian-packages.key

echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" |   sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list

sudo apt install lua5.2

curl -sL 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

sudo apt update

これらのリポジトリの代わりに、任意のサードパーティ製PPAを使用しないでください。Jitsiが公式に文書化したパッケージソースを使用することで、互換性のないJitsi、Prosody、およびUbuntuパッケージが混在するリスクを軽減できます。

Ubuntuターミナルに、ProsodyおよびJitsiのリポジトリキーとソースリストコマンドのドキュメントを表示した。
現在のJitsi DebianおよびUbuntuインストールガイドで使用されているパッケージソースを追加し、APTメタデータを更新してください。

インストール前にどのファイアウォールポートを開放する必要がありますか?

証明書を要求する前に必要なポートを開放してください。そうすることで、HTTP検証がサーバーに到達し、インストール後にメディアが流れるようになります。UFWの場合、現在のJitsiガイドには以下のルールが記載されています。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable
sudo ufw status verbose

SSHが別のポートを使用する場合は、TCP 22を無条件に追加するのではなく、そのポートを許可してください。クラウドVMでは、プロバイダーのファイアウォールまたはセキュリティグループに必要なルールを複製してください。ルーターの背後にあるサーバーでは、必要なポートをUbuntuホストに転送してください。

Ubuntuターミナルに、TCP 80番ポートと443番ポート、UDP 10000番ポートを含む、Jitsi Meet用のUFWルールが表示されています。
UFWでJitsiのドキュメントに記載されているWeb、メディア、SSH、STUN、およびTURNポートを開放し、サーバーが標準以外のポートを使用している場合はSSHルールを調整してください。

Jitsi MeetをインストールしてLet's Encryptを選択するにはどうすればよいですか?

Jitsiリポジトリからメタパッケージをインストールしてください。

sudo apt install jitsi-meet

インストーラーは Jitsi ホスト名を要求します。パブリック DNS 名を入力してください(例: )meet.example.org。最新の Jitsi ドキュメントによると、インストール時に SSL/TLS 証明書の選択肢が表示され、Let's Encrypt オプションが推奨されています。その選択肢が表示されたら、「Let's Encrypt 証明書」を選択してください。

これは、古いスタンドアロンの証明書スクリプトを普遍的な手順として扱うよりも望ましい方法です。現在のクイックスタートでは、証明書の選択はパッケージのインストールフローの中心に据えられています。インストール済みのパッケージの動作が現在のドキュメントと異なる場合は、独自の手順を考案しないでください。Nginxや証明書ファイルを手動で変更する前に、パッケージのプロンプトとバージョン固有のJitsiドキュメントを確認してください。

Jitsi Meetホスト名とLet's Encrypt証明書オプションに関するUbuntuパッケージ設定ダイアログ。
パッケージ設定時に公開会議のホスト名を入力し、インストーラーが提示した際にLet's Encrypt証明書オプションを選択してください。

HTTPSと会議ページが正しく機能していることを確認するにはどうすればよいですか?

https://meet.example.orgサーバー外部のブラウザから開いてください。正常にデプロイされると、ブラウザの証明書警告なしでJitsi Meetページが表示されます。一時的なルームを作成し、別のデバイスまたはネットワークから参加してください。

セカンドクライアントテストが重要なのは、ランディングページが読み込まれることはHTTPSが正常に動作することしか証明しないからです。Jitsi Videobridgeのメディアトラフィックが到達可能であることを証明するものではありません。2人の参加者が接続できるにもかかわらず、互いの音声や映像が聞こえない場合は、まずUDP 10000ポートとNATまたはクラウドファイアウォールのルールを確認してください。

Firefoxで、安全な接続を示すインジケーターとともに、Jitsi Meetのランディングページ(https://meet.example.org)が表示されている。
公開されているHTTPS URLを読み込み、テストミーティングを作成してください。有効なLet's Encrypt証明書があれば、ブラウザの信頼性に関する警告は表示されません。

インストール後、どのサービスを確認すべきですか?

Jitsi Meetは、単一の巨大なサービスではなく、複数のコンポーネントで構成されています。パッケージインストールに含まれる一般的なコンポーネントには、Nginx、Prosody、Jicofo、Jitsi Videobridgeなどがあります。それぞれ個別に確認してください。

sudo systemctl --no-pager --full status nginx prosody jicofo jitsi-videobridge2

リスニングソケットも検査できます。

sudo ss -lntup | grep -E ':80|:443|:10000'

サービスがアクティブでない場合は、パッケージを繰り返し再インストールする前に、そのログを確認してください。Jitsi のクイックスタートガイドでは、トラブルシューティングのために、管理者向けに/var/log/jitsi/jvb.log、、、/var/log/jitsi/jicofo.logおよびを参照するように具体的に指示しています/var/log/prosody/prosody.log。

Ubuntuターミナルに、アクティブなNginx、Prosody、Jicofo、Jitsi Videobridgeサービス、およびリスニング中のWebポートとメディアポートが表示されています。
インストール後、Jitsiの各コンポーネントを確認し、想定どおりのWebソケットとメディアソケットがリッスンしていることを確認してください。

サーバーがNATの背後にある場合はどうなりますか?

Jitsiのドキュメントによると、サーバーがNATの背後にある場合、必要なポートが転送されていれば、Videobridgeは通常起動時に自動的に構成されるはずです。それでも3者間通話が失敗する場合は、ガイドに静的なローカルアドレスからパブリックアドレスへのマッピングが記載されています/etc/jitsi/videobridge/jvb.conf。

ice4j {
  harvest {
    mapping {
      static-mappings = [
        {
          local-address = "<Local.IP.Address>"
          public-address = "<Public.IP.Address>"
        }
      ]
    }
  }
}

これは、ネットワークトポロジーと一致する場合にのみ使用してください。直接パブリックアドレスが割り当てられたホスト型VMではマッピングは不要な場合がありますが、1対1NATまたはホームルーターの背後にあるプライベートVMでは必要となる場合があります。

インターネットに接続されたJitsiサーバーは、誰でもルームを作成できるようにすべきでしょうか?

必ずしもそうとは限りません。デフォルトのパッケージインストールでは、サーバーにアクセスできる人なら誰でも会議を開始できます。プライベートな組織、教室、または社内サービスの場合、これは権限が広すぎる可能性があります。Jitsiの最新のドキュメントでは、ルームを作成できるユーザーを制限する必要がある場合は、認証アクセスを設定することを推奨しています。認証は、基本的なHTTPS展開が確認された後の、セキュリティ強化のための別のステップとして扱ってください。

簡単なトラブルシューティングチェックリスト

症状まず確認
Let's Encryptの発行が失敗しましたDNS Aレコード、パブリックTCP 80への到達可能性、および想定されるWebポートが既に他のサービスによって所有されているかどうか。
Jitsiページが読み込まれませんNginxの状態、TCP 443、DNS解決、およびパッケージインストールエラー。
ブラウザに証明書の警告が表示されます証明書のホスト名は、Jitsiのホスト名と完全に一致し、信頼できる認証局によって発行されている必要があります。
2人のユーザーが参加したが、音声/映像がなかったUDP 10000、クラウドファイアウォールルール、ルーター転送、およびNATアドレスマッピング。
モバイルアプリが接続できませんサーバーが信頼できる証明書を使用していることを確認してください。Jitsiのドキュメントには、通常のセットアップではモバイルクライアントは自己署名証明書によるデプロイメントを受け入れないと警告されています。
誰でも会議を作成できますこれはデフォルトの動作です。この動作が許容できない場合は、認証アクセスを設定してください。

Ubuntu 24.04の導入を成功させるには、どのような手順が必要でしょうか?

正常な結果とは、「インストーラーが完了した」という表示以上のものです。DNS名は意図したパブリックアドレスに解決され、ブラウザは信頼できるHTTPS経由でJitsiを読み込み、NginxとJitsiコンポーネントはアクティブであり、2人目の参加者は音声とビデオをやり取りできる必要があります。これらのチェックに合格すれば、シングルサーバー展開において最も重要なWeb、TLS、シグナリング、および基本的なメディアパスが検証されたことになります。

最新のインストール手順については、Jitsiの公式Debian/Ubuntuセルフホスティングガイドを参照してください。アーキテクチャおよびより広範な展開に関するガイダンスについては、Jitsiの公式セルフホスティング概要を参照してください。ユーザーが制限されたネットワーク経由で接続する必要がある場合は、Jitsiの公式TURN構成ドキュメントを確認してください。

コメントを残す

PythonとSimple-Matrix-Bot-Libを使用してMatrix Botをセットアップする方法

PythonとSimple-Matrix-Bot-Libを使用してMatrix Botをセットアップする方法

PythonとSimple-Matrix-Bot-Libを使用してMatrixボットを構築し、認証とデプロイのオプションを比較し、コマンドをテストし、代わりにmatrix-nioを使用すべき場合を理解します。

Let's Encrypt SSLを使用してUbuntu 24.04にJitsi Meetをインストールする方法

Let's Encrypt SSLを使用してUbuntu 24.04にJitsi Meetをインストールする方法

DNS、ファイアウォールルール、公式リポジトリ、Let's Encrypt SSL、サービスチェック、NATトラブルシューティングを含むJitsi MeetをUbuntu 24.04にインストールします。

ownCloudデスクトップ同期クライアントで「SSL証明書の検証に失敗しました」というエラーを修正する

ownCloudデスクトップ同期クライアントで「SSL証明書の検証に失敗しました」というエラーを修正する

ownCloud Desktopの同期証明書エラーを修正するには、サーバーURL、証明書名と証明書チェーン、システムクロック、クライアントバージョン、および信頼済みCAストアを確認してください。

Ubuntu 24.04でNextcloudのRedisキャッシングを設定する方法

Ubuntu 24.04でNextcloudのRedisキャッシングを設定する方法

PhpRedis、APCu、ループバック専用のRedisサービス、および実践的な検証手順を使用して、Ubuntu 24.04上でNextcloud向けにRedisファイルロックと分散キャッシュを設定します。

Element Webの「イベントの復号化に失敗しました」というE2EEエラーを修正する

Element Webの「イベントの復号化に失敗しました」というE2EEエラーを修正する

デバイス認証、キーのバックアップ、リカバリキー、および紛失したルームキーを確認することで、メッセージ履歴を損なうことなく、Element Webの復号化エラーをトラブルシューティングします。

Nextcloudで二要素認証(2FA)を設定および適用する方法

Nextcloudで二要素認証(2FA)を設定および適用する方法

Nextcloudの2要素認証プロバイダーを有効にする方法、ユーザーまたはグループに対して2要素認証を強制する方法、復旧を準備する方法、ログインとクライアントアプリを検証する方法を学びましょう。

ZimbraでIPアドレスによる送信メールリレーを制限する方法

ZimbraでIPアドレスによる送信メールリレーを制限する方法

zimbraMtaMyNetworks を使用すると、Zimbra で認証されていない送信メールのリレーを信頼できる IP アドレスに制限できます。許可リストを安全に検査、更新、再読み込み、検証する方法を学びましょう。

NextcloudのPHPメモリ制限警告を修正する

NextcloudのPHPメモリ制限警告を修正する

Nextcloud の PHP メモリ制限を少なくとも 512M に設定し、適切な Web PHP 設定を見つけて、Apache または PHP-FPM を再起動し、警告が解消されたことを確認してください。

音声通話およびビデオ通話用のMatrix Coturn TURN/STUNサーバーの設定方法

音声通話およびビデオ通話用のMatrix Coturn TURN/STUNサーバーの設定方法

CoturnをSynapseと連携させて、Matrix WebRTC通話を設定します。共有認証情報、NAT、ファイアウォールポート、TLSオプションを設定し、従来のTURNとMatrixRTCおよびLiveKitを区別します。

NextcloudメールアプリをOAuth2認証で設定する方法

NextcloudメールアプリをOAuth2認証で設定する方法

Nextcloud MailをGmailまたはMicrosoft 365向けにOAuth2で設定し、IMAP/SMTPアクセスを確認し、リダイレクトの問題をトラブルシューティングし、制限事項を把握します。