[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Jitsi sur serveur debian/testing



Une idée: tu pourrais faire l'authentification avec apache .htaccess sans toucher à Jitsi.

J'ai fais différemment: je n'autorise que certaines salle prédéfinies avec accès sans mot de passe.

Le 13/04/2020 à 11:23, BERTRAND Joël a écrit :
NoSpam a écrit :
Le 11/04/2020 à 14:49, BERTRAND Joël a écrit :
     Bonjour à tous,

     J'essaie d'installer jitsi sur l'un de mes serveurs et je sèche. J'ai
besoin d'une authentification (je ne veux pas que n'importe qui puisse
faire n'importe quoi sur un serveur accessible sur internet).

     J'ai donc installé les paquets suivants :

- jicofo
- jitsi-meet
- jitsi-meet-prosody
- jitsi-meet-web
- jitsi-meet-web-config
- jitsi-videobridge

et configuré apache en conséquence pour qu'il réponde sur
https://jitsi.systella.fr
Alors attention, le port 443 est réservé par jitsi (dans nginx,
paragraphe stream) pour proxy_pass, Jitsi écoute le 4444

As tu suivi leur tuto ?

https://github.com/jitsi/jicofo/blob/master/README.md#secure-domain
	La réponse est oui ;-)

	Mais je vais reprendre point par point le howto en question.

	J'ai donc créé un fichier /etc/prosody/conf.d/jitsi.systella.fr.cfg.lua
qui contient :

VirtualHost "jitsi.systella.fr"
         -- enabled = false -- Remove this line to enable this host
         authentication = "internal_plain"
         ssl = {
                 key = "/etc/prosody/certs/jitsi.systella.fr.key";
                 certificate = "/etc/prosody/certs/jitsi.systella.fr.crt";
         }
         -- we need bosh
         modules_enabled = {
             "bosh";
             "pubsub";
             "ping"; -- Enable mod_ping
         }

         c2s_require_encryption = false

Component "conference.jitsi.systella.fr" "muc"
     storage = "memory"
     --modules_enabled = { "token_verification" }
admins = { "focus@auth.jitsi.systella.fr" }

Component "jitsi-videobridge.jitsi.systella.fr"
     component_secret = "xxxxxxx"

VirtualHost "auth.jitsi.systella.fr"
     ssl = {
         key = "/etc/prosody/certs/auth.jitsi.systella.fr.key";
         certificate = "/etc/prosody/certs/auth.jitsi.systella.fr.crt";
     }
     authentication = "internal_plain"

Component "focus.jitsi.systella.fr"
     component_secret = "xxxxxxxx"

	L'utilisateur focus@auth.jitsi.systella.fr existe (avec le bon mot de
passe, j'ai vérifié) puisque je trouve son mot de passe dans le fichier
/var/lib/prosody/auth%2ejitsi%2esystella%2efr/accounts/focus.dat

	Dans /etc/apache2/sites-enabled, j'ai un fichier jitsi.systella.fr.conf
de configuration d'apache2:

<VirtualHost *:80>
     ServerName jitsi.systella.fr
     Redirect permanent / https://jitsi.systella.fr/
     RewriteEngine On
     RewriteCond %{HTTPS} off
     RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
   ServerName jitsi.systella.fr

   SSLProtocol TLSv1 TLSv1.1 TLSv1.2
   SSLEngine on
   SSLProxyEngine on
   SSLCertificateFile /etc/letsencrypt/live/systella.fr/cert.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/systella.fr/privkey.pem
   SSLCertificateChainFile /etc/letsencrypt/live/systella.fr/chain.pem
   SSLCipherSuite
"EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"
   SSLHonorCipherOrder on
   Header set Strict-Transport-Security "max-age=31536000"

   DocumentRoot "/usr/share/jitsi-meet"
   <Directory "/usr/share/jitsi-meet">
     Options Indexes MultiViews Includes FollowSymLinks
     AddOutputFilter Includes html
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>

   ErrorDocument 404 /static/404.html

   Alias "/config.js" "/etc/jitsi/meet/jitsi.systella.fr-config.js"
   <Location /config.js>
     Require all granted
   </Location>

   Alias "/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
   <Location /external_api.js>
     Require all granted
   </Location>

   ProxyPreserveHost on
   ProxyPass /http-bind http://localhost:5280/http-bind/
   ProxyPassReverse /http-bind http://localhost:5280/http-bind/

   RewriteEngine on
   RewriteRule ^/([a-zA-Z0-9]+)$ /index.html
</VirtualHost>

	Le fichier de configuration
(/etc/jitsi/meet/jitsi.systella.fr-config.js) contient quant à lui :

var config = {
     hosts: {
         domain: 'jitsi.systella.fr',
         muc: 'conference.jitsi.systella.fr'
     },
     bosh: '//jitsi.systella.fr/http-bind',
     clientNode: 'http://jitsi.org/jitsimeet',

     testing: {
         enableFirefoxSimulcast: false,
         p2pTestMode: false
     },

     desktopSharingChromeExtId: null,
     desktopSharingChromeSources: [ 'screen', 'window', 'tab' ],
     desktopSharingChromeMinExtVersion: '0.1',
     channelLastN: -1,
     enableWelcomePage: true,
     enableUserRolesBasedOnToken: false,

     p2p: {
         enabled: true,
         stunServers: [
             { urls: 'stun:stun.l.google.com:19302' },
             { urls: 'stun:stun1.l.google.com:19302' },
             { urls: 'stun:stun2.l.google.com:19302' }
         ],
         preferH264: true
     },

     analytics: {
     },

     deploymentInfo: {
     }
};

	Jicofo tourne :
  /usr/lib/jvm/java-8-openjdk-amd64/bin/java ... org.jitsi.jicofo.Main
--host=localhost --domain=jitsi.systella.fr --port=5347 --secret=xxxxx
--user_name=focus --user_domain=auth.jitsi.systella.fr --user_password=yyyy

Le secret de la ligne de commande correspond au component_secret indiqué
pour focus.jitsi.systella.fr dans la conf de prosody.

	Lorsque je regarde la section 'secure domain' du howto. J'ai bien dans
le fichier de conf de prosody :

VirtualHost "jitsi.systella.fr"
	authentication = "internal_plain"

	Je n'ai pas créé de "guest.jitsi-meet.systella.fr" parce que je désire
que tous les utilisateurs soient authentifiés. Un peu plus loin, je
constate qu'il faudrait
-Dorg.jitsi.jicofo.auth.URL=XMPP:jitsi-meet.systella.fr dans la ligne de
commande de jicofo, ce que je n'ai pas. Je lance jicofo à la main avec
cette option, le résultat est le même. Par acquis de conscience, je
rajoute cette option à la variable JICOFO_OPTS du fichier de config.
Rien n'y fait.

	Et là, je sèche...

	Toute idée sera la bienvenue.

	JKB


Reply to: