LaurenceHenderson

Jitsi stable install, 747 prosody nightly, Ubuntu 18.04,

Mar 27th, 2020
943
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Install Ubuntu 18.04 LTS
  2.  
  3. apt-get update
  4. apt-get upgrade
  5. reboot
  6.  
  7. copy certificates to /etc/ssl to be used by jitsi-meet package insatall
  8.  
  9. wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
  10. sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
  11. apt-get -y update
  12. apt-get -y install jitsi-meet
  13.  
  14. wget https://packages.prosody.im/debian/pool/main/p/prosody-trunk/prosody-trunk_1nightly747-1~trusty_amd64.deb
  15. dpkg -i prosody-trunk_1nightly747-1~trusty_amd64.deb
  16.  
  17. apt-get install libssl1.0-dev
  18. apt-get install luarocks
  19. luarocks install luacrypto
  20.  
  21. apt-get install jitsi-meet-tokens
  22.  
  23. luarocks install basexx
  24. luarocks install luajwtjitsi
  25.  
  26. vi /usr/lib/prosody/modules/mod_posix.lua
  27. edit line 123, remove format method that is causing error, so it becomes
  28. syslog(level, name, message);
  29.  
  30. vi /etc/prosody/prosody.cfg.lua
  31. Add to end:
  32. c2s_require_encryption=false
  33. Include "conf.d/*.cfg.lua"
  34.  
  35. edit /etc/prosody/conf.avail/host.domain.com.cfg.lua
  36. set storage = "null" and enable token auth:
  37. Virtual Host "host.domain.com"
  38. ...
  39. app_id="ApplicationName"
  40. app_secret="randomSecretHere"
  41. ...
  42.  
  43. Component "conference.host.domain.com" "muc"
  44. storage = "null"
  45. modules_enabled = {
  46. "muc_meeting_id";
  47. "muc_domain_mapper";
  48. "token_verification";
  49. }
  50.  
  51. To prevent prosody error log loading key:
  52. chmod 755 /etc/prosody/certs
  53. chmod 644 /etc/prosody/certs/localhost.key
  54.  
  55. reboot
  56.  
  57. test jwt with token from https://jwt.io/
  58. header
  59. {
  60. "alg": "HS256",
  61. "typ": "JWT"
  62. }
  63. payload
  64. {
  65. "context": {
  66. "user": {
  67. "name": "John Doe",
  68. "email": "jdoe@example.com"
  69. }
  70. },
  71. "aud": "ApplicationName",
  72. "iss": "IssuerName",
  73. "sub": "host.domain.com",
  74. "room": "RoomNameAllowed",
  75. "exp": 1595506000
  76. }
  77.  
  78. set HMACSHA256 key as value of app_secret in prosody conf file
  79.  
  80. test with https://host.domain.com/RoomNameAllowed?jwt=......
Add Comment
Please, Sign In to add comment