Re: Jitsi sur serveur debian/testing
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: