Установка и настройка 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 -_x000D_sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"_x000D_apt-get -y update && apt-get -y install jitsi-meet certbot_x000D_apt install git cmake luarocks libssl-dev liblua5.2_x000D_wget http://packages.prosody.im/debian/pool/main/p/prosody-trunk/prosody-trunk_1nightly1273-1~buster_amd64.deb_x000D_dpkg -i prosody-trunk_1nightly1273-1~buster_amd64.deb_x000D_apt-get install jitsi-meet-tokens prosody-modules lua5.2 liblua5.2 luarocks libssl-dev_x000D_luarocks install basexx_x000D_

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

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

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

c2s_require_encryption = false

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

_x000D_luarocks download lua-cjson_x000D_luarocks unpack lua-cjson-2.1.0.6-1.src.rock_x000D_

В файле 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_x000D_luarocks make

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

_x000D_cd_x000D_git clone https://github.com/ASolomatin/luajwt.git_x000D_cd luajwt_x000D_

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

_x000D_source = {_x000D_ url = "git://github.com/ASolomatin/luajwt/",_x000D_ tag = "replace_luacrypto"_x000D_}_x000D__x000D_dependencies = {_x000D_ "lua >= 5.2",_x000D_ "luaossl >= 20190731-0",_x000D_ "lua-cjson >= 2.1.0",_x000D_ "lbase64 >= 20120807-3"_x000D_}_x000D_

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

_x000D_luarocks install luajwtjitsi-1.3-7.rockspec_x000D_

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

_x000D_systemctl restart prosody_x000D_

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

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

EnglishRussianUkrainian