Установка и настройка Jitsi meet с поддержкой JWT токенов в Debian Linux

Подразумевается, что вы знаете, что такое Jitsi Meet и для чего он нужен. Ниже я приведу инструкции по установке и настройке, которые решают проблему несовместимости Lua 5.2 и Lua 5.1. На возможных проблемах с сертификатами я останавливаться не буду, если у вас вдруг что-то идёт не так — напишите в комментариях, попробуем разобраться вместе. Как правило, установка проходит без проблем, они начинаются дальше. 🙂

Итак, поехали:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
apt-get -y update && apt-get -y install jitsi-meet certbot
apt install git cmake luarocks libssl-dev liblua5.2
wget http://packages.prosody.im/debian/pool/main/p/prosody-trunk/prosody-trunk_1nightly1273-1~buster_amd64.deb
dpkg -i prosody-trunk_1nightly1273-1~buster_amd64.deb
apt-get install jitsi-meet-tokens prosody-modules lua5.2 liblua5.2 luarocks libssl-dev
luarocks install basexx

Добавим в конец файла /etc/prosody/prosody.cfg.lua строчку:

Include "conf.d/*.cfg.lua"

Также отключим обязательное шифрование между клиентом и сервером:

c2s_require_encryption = false

Поставим модуль lua-cjson:

luarocks download lua-cjson
luarocks unpack lua-cjson-2.1.0.6-1.src.rock

В файле lua-cjson-2.1.0.6-1/lua-cjson/lua_cjson.c поменяем строку 743:

len = lua_objlen(l, -1);

на

len = lua_rawlen(l, -1);

И выполним установку модуля:

cd lua-cjson-2.1.0.6-1/lua-cjson
luarocks make

Требуемый модуль luajwtjitsi не работает в Debian с Lua 5.1, используем доработанную версию:

cd
git clone https://github.com/ASolomatin/luajwt.git
cd luajwt

Внесём изменения в файл luajwtjitsi-1.3-7.rockspec:

source = {
        url = "git://github.com/ASolomatin/luajwt/",
        tag = "replace_luacrypto"
}

dependencies = {
       "lua >= 5.2",
       "luaossl >= 20190731-0",
       "lua-cjson >= 2.1.0",
       "lbase64 >= 20120807-3"
}

После этого выполним установку модуля:

luarocks install luajwtjitsi-1.3-7.rockspec

После всех этих манипуляций перезапустим prosody:

systemctl restart prosody

Убедимся, что в /var/log/prosody/prosody.err не ошибок. Теперь у вас должна заработать аутентификация с помощью JWT токенов.

Более подробная документация про токены — https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/tokens.md.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *