Last active
July 13, 2024 12:49
-
-
Save momoseijin/cfe4160a8903103e2965ba64c4472454 to your computer and use it in GitHub Desktop.
How to install Jitsi Meet on Ubuntu 22.04
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 取得したドメインのDNS設定を完了しておく(TTL : 1800) | |
# Ubuntu 22.04 はインストールしておく | |
# 必要なものを root でインストールとリポジトリ追加 | |
sudo apt install nginx-full gnupg2 openjdk-11-jdk curl apt-transport-https | |
sudo apt-add-repository universe | |
sudo apt update | |
# ホスト名の設定 | |
sudo hostnamectl set-hostname meet.example.com | |
# ホストファイルの編集(取得したIPアドレスとホスト名を追加) | |
sudo nano /etc/hosts | |
127.0.0.1 localhost | |
x.x.x.x meet.example.com | |
# Prosody のリポジトリ追加 | |
sudo curl -sL https://prosody.im/files/prosody-debian-packages.key -o /etc/apt/keyrings/prosody-debian-packages.key | |
echo "deb [signed-by=/etc/apt/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 | |
# Jitsi Meet のリポジトリ追加 | |
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 | |
# 全部追加が終わったらUPDATEをする | |
sudo apt update | |
sudo apt upgrade -y | |
アップデート完了後は、一回サーバを再起動しておくといい | |
# ファイアウォールの設定 | |
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 | |
# Jitsi Meet のインストール | |
sudo apt install jitsi-meet | |
途中で以下の2つを聞かれる | |
◆ホスト名を聞かれるので設定した meet.example.com を入力 | |
◆「Let's Encrypt Certificate」を選択して、SSLの証明書を取得する | |
完了すると、https://meet.example.com で Jitsi Meet が動いている | |
しかし、この状態だと、誰でもミーティングを開始することができるので、サーバリソースがいくらあっても足りなくなってしまう | |
以下の設定を実施し、自分だけがホストなってミーティングが作成できるように、セキュリティの設定を行う | |
# /etc/prosody/conf.avail/[your-hostname].cfg.lua ファイルの編集 | |
sudo nano /etc/prosody/conf.avail/meet.example.com.cfg.lua | |
以下部分を internal_hashed に書き換え | |
VirtualHost "meet.example.com" | |
authentication = "internal_hashed" | |
さらに上記の VurtualHost の設定項目の下にゲスト用の VirtualHost 設定を追加 | |
VirtualHost "guest.meet.example.com" | |
authentication = "anonymous" | |
c2s_require_encryption = false | |
# /etc/jitsi/meet/[your-hostname]-config.js ファイルの編集 | |
sudo nano /etc/jitsi/meet/meet.example.com-config.js | |
以下部分に anonymousdomain を追加 | |
var config = { | |
hosts: { | |
domain: 'meet.example.com', | |
anonymousdomain: 'guest.meet.example.com', | |
... | |
}, | |
... | |
} | |
# /etc/jitsi/jicofo/jicofo.conf ファイルの編集 | |
sudo nano /etc/jitsi/jicofo/jicofo.conf | |
jicofo { | |
authentication: { | |
enabled: true | |
type: XMPP | |
login-url: meet.example.com | |
} | |
} | |
# Prosody でユーザを追加(このユーザでホストになり、ミーティングを始めることができるようにする) | |
ユーザ名とパスワードの部分は各自設定 | |
sudo prosodyctl register [username] jitsi-meet.example.com [password] | |
# prosody、jicofo、jitsi-videobridge2 を再起動 | |
systemctl restart prosody | |
systemctl restart jicofo | |
systemctl restart jitsi-videobridge2 | |
# 以上で自分専用の Jitsi Meet サーバの完成 | |
【補足】 | |
AWSやGCCなどで建てた場合は、内部IPアドレスと外部IPアドレスがあるので、その場合は以下を設定しないと音声やビデオが使えないらしい | |
(まだ自分でやってないので、未確認) | |
# /etc/jitsi/videobridge/sip-communicator.properties を編集 | |
もともと記載されている以下をコメントアウトする | |
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES | |
以下を追加する | |
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=[内部IP.Address] | |
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=[外部IP.Address] | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment