BigBlueButton : sur Ubuntu 16 , derrière un prioxy nginx

#1

Bonjour à tous,

je cherche à mettre en place une instance BBB sur mon infra.

J’ai suivi les tutos, mais cela coince , et je ne comprends pas trop pourquoi .

Mon instance BBB ( bbb.ethicit.fr ) répond à première vue, mais arrive sur une page bleue inerte …

Vous auriez une idée ?

#2

Hello, il faudrait un peu plus d’infos…

  • tu peux lancer la commande ci-dessous et nous dire ce que cela dit ?
    bbb-conf --check
  • un aperçu de ta conf. Nginx ?

A+

1 Like
#3

Merci pour ton retour :slight_smile:

Voici le résultat du bbb-conf check .
root@bbb:~# bbb-conf --check

BigBlueButton Server 2.2.23 (2106)
                    Kernel version: 5.4.44-2-pve
                      Distribution: Ubuntu 16.04.7 LTS (64-bit)
                            Memory: 4194 MB
                         CPU cores: 12

/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
       bigbluebutton.web.serverURL: http://bbb.ethicit.fr
                defaultGuestPolicy: ALWAYS_ACCEPT
                 svgImagesRequired: true

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: bbb.ethicit.fr
                              port: 80, [::]:80
                              port: 443 ssl
                    bbb-client dir: /var/www/bigbluebutton

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
                Port test (tunnel): rtmp://bbb.ethicit.fr
                              red5: bbb.ethicit.fr
              useWebrtcIfAvailable: true

/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                       local_ip_v4: 192.168.1.116
                   external_rtp_ip: stun:stun.freeswitch.org
                   external_sip_ip: stun:stun.freeswitch.org

/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                        ext-rtp-ip: $${local_ip_v4}
                        ext-sip-ip: $${local_ip_v4}
                        ws-binding: :5066
                       wss-binding: :7443

/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback_host: bbb.ethicit.fr
                 playback_protocol: http
                            ffmpeg: 4.2.2-1bbb1~ubuntu16.04

/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
                        proxy_pass: 192.168.1.116

/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
                        kurento.ip: 192.168.1.116
                       kurento.url: ws://127.0.0.1:8888/kurento
                    kurento.sip_ip: 192.168.1.116
                    localIpAddress: 192.168.1.116
               recordScreenSharing: true
                     recordWebcams: true
                  codec_video_main: VP8
               codec_video_content: VP8

/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
                             build: 1006
                        kurentoUrl: ws://bbb.ethicit.fr/bbb-webrtc-sfu
                  enableListenOnly: true


# Potential problems described below
# IP does not match:
#                           IP from ifconfig: 192.168.1.116
#   /etc/nginx/sites-available/bigbluebutton: bbb.ethicit.fr
# Warning: API URL IPs do not match host:
#
#                                IP from ifconfig: 192.168.1.116
#  /var/lib/tomcat7/demo/bbb_api_conf.jsp: bbb.ethicit.fr


# Warning: The API demos are installed and accessible from:
#
#    http://bbb.ethicit.fr
#
# and
#
#    http://bbb.ethicit.fr/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
#    apt-get purge bbb-demo

Quand tu parles conf nginx, tu vux dire du proxy sur le bbb ?

#4

Hello,

Logiquement le check ne doit renvoyer aucune erreur or là il y en a une :

Warning: API URL IPs do not match host:

Mais bon cela n’est qu’un WARNING…dû certainement au fait que tu es en mode “démo”…

As-tu bien vérifié les pré-requis de BBB (disponibles ici) ?

Avec 4Go de RAM cela me paraît vraiment trop juste, BBB est gourmand dès le démarrage mais ne monte pas forcément dans les tours lorsqu’il y a des sessions de visio.

Lorsque je charge ton instance, le navigateur (FF chez moi) renvoie :
Uncaught TypeError: navigator.mediaDevices is undefined
c’est étrange…

Mais là où j’ai un gros doute c’est que BBB ne se suffit pas à lui-même dans le sens où il faut “autre chose” pour gérer les utilisateurs et les salles car, à l’origine, ce serveur est utilisé via des solutions de LMS (comme Moodle ou Chamilo) et que d’autres solutions ont suivi le pas comme les CMS Drupal ou Wordpress ou bien encore Redmine… Donc pour proposer une interface à tes futurs utilisateurs, soit tu développes quelque chose et tu utilises alors l’API de BBB ou soit tu installes Greenlight qui propose une interface utilisateur et une gestion des salles de réunion.

Enfin, oui je parlais de la conf. proxy…

A+

1 Like
#5

J’ai installé Greenlight.

Mais le problème semble identique :confused:

voici la conf proxy :

server {
server_name bbb.ethicit.fr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass https://192.168.1.116/;
tcp_nodelay on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1; # recommended with keepalive connections
proxy_set_header X-Forwarded-Ssl on;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
keepalive_requests 1000000000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}

location ~ ^/(b|open|close|idle|send|fcs|deskshare|html5client|_timesync|client|demo|pad|static|playback|presentation|bigbluebutton|screenshare|ws|verto|bbb-webrtc-sfu) {
proxy_pass https://192.168.1.116;
tcp_nodelay on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1; # recommended with keepalive connections
proxy_set_header X-Forwarded-Ssl on;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
keepalive_requests 1000000000;
}
}

#6

Ok je me réponds.

Ca semble mieux maintenant.
Il y avait une erreur de proxy : les lignes étaient de trop pour greenlight ( qui attend bbb.ethicit.fr )
proxy_set_header X-Forwarded-Host $remote_addr;

j’arrive à me connecter et à créer une salle avec Greenlight.

Faut que je regarde le problème ice 1007 ( qui semble être lié à Freeswitch )

Merci dans tous les cas :slight_smile:

1 Like
#7

Bonsoir,

Bon, c’est en forgeant que l’on devient forgeron !

Bon courage…

1 Like
#8

En tout cas ça semble fonctionner … :smiley: !

#9

Bravo !

#10

Super!
Est-ce que tu pourrais partager ton tutoriel pour expliquer comment tu as fait.
Je cherche à faire la même chose que toi, installer un BBB sur Ubuntu 16 derrière un reverse proxy nginx mais j’ai beau essayer plein de conseils glanés sur le WEB, je n’y arrive pas.
Si tu veux bien partager ton expérience, ça serait cool.

A partir de https://docs.bigbluebutton.org/2.2/install.html#4--install-bigbluebutton
au premier

sudo bbb-conf --restart

j’ai commencé à avoir des erreurs à cause de Freeswitch alors j’ai suivi
https://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch
mais rien n’y fait.
Je pense faire une réinstall depuis 0 pour réessayer, mais du coup, si je pouvais suivre tes pas et ton tuto, ce serait super.
Merci par avance @Bschalck

#11

Hello @Thatoo ,

2 choses :

  • pas de problèmes pour partager ma conf , c’est le but de ce forum
  • Attention : mon problème venait du proxy de ma boite qui bloquait les flux udp ! Chez moi, ou ailleurs , aucun problème
2 Likes
#12

Voic la conf proxy nginx :

server {
    listen 80 ;
    server_name bbb.ethicit.fr;
    rewrite ^(.*) https://bbb.ethicit.fr permanent;
}
server {
        server_name bbb.ethicit.fr;
listen 443 ssl;
  server_tokens off;
  root /usr/share/nginx/html;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/bbb.ethicit.fr/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/bbb.ethicit.fr/privkey.pem;
  ssl_verify_client off;

  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

  ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
  ssl_session_cache  builtin:1000  shared:SSL:10m;
        location / {
        proxy_pass https://{IP_INTERNE_VM};
        tcp_nodelay on;
        proxy_redirect     off;
        proxy_set_header  Host $host;
        proxy_set_header  X-Forwarded-Proto https;
        proxy_set_header  X-Forwarded-For $remote_addr;
        #proxy_set_header  X-Forwarded-Host $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_http_version 1.1;  # recommended with keepalive connections
        proxy_set_header X-Forwarded-Ssl on;
        client_max_body_size       10m;
        client_body_buffer_size    128k;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffering            off;
        keepalive_requests         1000000000;
          proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }

 location ~ ^/(b|open|close|idle|send|fcs|deskshare|html5client|_timesync|client|demo|pad|static|playback|presentation|bigbluebutton|screenshare|ws|verto|bbb-webrtc-sfu) {
        proxy_pass https://{IP_INTERNE_VM};
        tcp_nodelay on;
        proxy_redirect     off;
        proxy_set_header  Host $host;
        proxy_set_header  X-Forwarded-Proto https;
        proxy_set_header  X-Forwarded-For $remote_addr;
        #proxy_set_header  X-Forwarded-Host $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_http_version 1.1;  # recommended with keepalive connections
        proxy_set_header X-Forwarded-Ssl on;
        client_max_body_size       10m;
        client_body_buffer_size    128k;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffering            off;
        keepalive_requests         1000000000;
    }
}
3 Likes
#13

Merci beaucoup @Bschalck. Est-ce que tu pourrais aussi nous dire ce que tu as changé dans ton processus d’installation par rapport à celui décrit ici https://docs.bigbluebutton.org/2.2/install.html ?

#14

J’ai suivi cette documentation : https://docs.bigbluebutton.org/2.2/install.html#configure-freeswitch-for-using-ssl

Car j’ai ajouté Greenlight, qui nécessite https .

Pour le reste , pas grand chose .
Quel est ton problème exactement ?