Risoluzione degli errori

Se hai riscontrato problemi con l'installazione di BigBlueButton, questa sezione spiega come risolvere molti dei problemi comuni.

Se non l'hai già fatto, leggi la sezione per ottenere aiuto .

introduzione

Inizia qui: corrisudo bbb-conf --check

Abbiamo integrato un'utilità di configurazione BigBlueButton, chiamata bbb-conf, per aiutarti a configurare il tuo server BigBlueButton e risolvere i problemi di configurazione se qualcosa non funziona correttamente.

Se pensi che qualcosa non funzioni correttamente, il primo passaggio è inserire il seguente comando.

$ sudo bbb-conf --check

Questo controllerà la tua configurazione per garantire che i processi corretti siano in esecuzione, i componenti di BigBlueButton siano stati avviati correttamente e cercherà problemi di configurazione comuni che potrebbero impedire il corretto funzionamento di BigBlueButton.

Se vedi del testo dopo la riga ** Potential problems described below **, potrebbe trattarsi di avvisi (che puoi ignorare se hai modificato le impostazioni) o errori con l'installazione.

Registrazione

La registrazione non viene elaborata dopo l'aggiornamento

Se dopo l'aggiornamento da BigBlueButton 2.0 a BigBlueButton 2.2 le tue registrazioni non vengono elaborate e se visualizzi Permission deniederrori in/var/log/bigbluebutton/bbb-rap-worker.log

I, [2019-06-07T14:26:09.034878 #14808]  INFO -- : /usr/lib/ruby/2.5.0/logger.rb:754:in `initialize': Permission denied @ rb_sysopen - /var/log/bigbluebutton/presentation/process-02feca80700b3e95b877af85db972904397857a1-1559909318977.log (Errno::EACCES)

È possibile risolvere gli errori con il seguente comando

$ sudo chown -hR bigbluebutton:bigbluebutton /var/log/bigbluebutton/presentation /var/log/bigbluebutton/screenshare

e quindi ricostruire le registrazioni che non erano ancora state elaborate. Puoi vedere l'elenco delle registrazioni con

$ bbb-record --list

e poi per ricostruire una registrazione, usa sudo bbb-record --rebuild <internal_meeting_id>, come in

$ sudo bbb-record --rebuild 298b06603719217df51c5d030b6e9417cc036476-1559314745219

Kurento

Il video WebRTC non funziona con Kurento

Verificare che il valore /proc/sys/net/ipv4/tcp_syncookiescontenga il valore 1.

$ cat /proc/sys/net/ipv4/tcp_syncookies
1

In caso contrario, modificare /etc/sysctl.confe impostare il valore per net.ipv4.tcp_syncookiesa 1.

net.ipv4.tcp_syncookies = 1

Salva il file e riavvia.

L'unità kurento-media-server.service è mascherata

Se sudo bbb-conf --check restituisce l'avviso

Restarting BigBlueButton 2.0.0-RC9 (and cleaning out all log files) ...
Stopping BigBlueButton
 ... cleaning log files
Starting BigBlueButton
Failed to start kurento-media-server.service: Unit kurento-media-server.service is masked.

Puoi smascherare Kurento usando il comando

$ systemctl unmask kurento-media-server.service

FreeSWITCH

Configura BigBluebutton / FreeSWITCH per supportare IPV6

Il client HTML5 ora consente agli utenti sui dispositivi mobili di connettersi a un server BigBlueButton. Tuttavia, su alcune reti cellulari i dispositivi iOS ricevono solo un indirizzo IPV6.

Per consentire a BigBlueButton (FreeSWITCH) di accettare le connessioni socket Web in entrata su IPV6, il server BigBlueButton deve avere un indirizzo IPV6. È inoltre necessario apportare le seguenti modifiche al server.

Innanzitutto, crea il file /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf con questo contenuto:

map $remote_addr $freeswitch_addr {
    "~:"    [2001:db8::1];
    default    192.0.2.1;
}

sostituire gli indirizzi IP 192.0.2.1 con gli indirizzi IPV4 esterni del sistema e sostituirli 2001:db8::1 con l'indirizzo IPV6 esterno del sistema. Successivamente, modifica il file /etc/bigbluebutton/nginx/sip.nginx per avere quanto segue:

proxy_pass https://$freeswitch_addr:7443;

Successivamente, assicurati che tutti i seguenti parametri siano presenti in freeswitch sip_profiles/external-ipv6.xml:

  • ws-binding
  • wss-binding
  • rtcp-audio-intervallo-msec
  • rtcp-video-intervallo-msec
  • dtmf-type
  • liberal-dtmf
  • enable-3pcc

Se ne mancano,copiali da sip_profiles/external.xml  quindi riavvia BigBlueButton ( sudo bbb-conf --restart).

FreeSWITCH non riesce a collegarsi a IPV4

In rare occasioni dopo l'arresto / riavvio, il database di FreeSWITCH può essere danneggiato. Ciò farà sì che FreeSWITCH abbia problemi di associazione all'indirizzo IPV4 (potresti visualizzare l'errore 1006 quando gli utenti tentano di connettersi).

Per verificare, cerca gli errori in /opt/freeswitch/var/log/freeswitch/freeswitch.log  r.

2018-10-25 11:05:11.444727 [ERR] switch_core_db.c:108 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444737 [ERR] switch_core_db.c:223 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444759 [NOTICE] sofia.c:5949 Started Profile internal-ipv6 [sofia_reg_internal-ipv6]
2018-10-25 11:05:11.444767 [CRIT] switch_core_sqldb.c:508 Failure to connect to CORE_DB sofia_reg_external!
2018-10-25 11:05:11.444772 [CRIT] sofia.c:3049 Cannot Open SQL Database [external]!

Se vedi questi errori, cancella il database di FreeSWITCH (BigBlueButton non usa il database e FreeSWITCH lo ricrea all'avvio).

$ sudo systemctl stop freeswitch
$ rm -rf /opt/freeswitch/var/lib/freeswitch/db/*
$ sudo systemctl start freeswitch

Inoltra le chiamate da un server Asterisk a FreeSWITCH

Supponiamo quanto segue:

asterisk server ip:          192.168.1.100
bigbluebutton/freeswitch ip: 192.168.1.200

Modifiche al tuo server Asterisk

Configura il tuo gateway per BigBlueButton / FreeSWITCH. in /etc/asterisk/sip.conf aggiungendo:

[fs-gw]
type=peer
username=fs-gw
insecure=very
contactpermit=192.168.1.200/255.255.255.255
qualify=no
nat=yes
host=192.168.1.200
canreinvite=no
disallow=all
allow=ulaw

Instrada le chiamate al gateway. Vedi /etc/asterisk/extensions.conf nel contesto in cui vengono gestite le chiamate, inoltrare le chiamate al gateway. Qui, quando qualcuno compone 85001, la chiamata viene inviata al numero fs-gwdefinito sopra.

exten => 85001,1,Dial(SIP/fs-gw/${EXTEN})
exten => 85001,2,Hangup

Modifiche al tuo server BigBlueButton / FreeSWITCH

In BigBlueButton / FreeSWITCH, apporta le seguenti modifiche:

Blocca in modo che solo Asterisk possa inoltrare le chiamate a FreeSWITCH. In /opt/freeswitch/conf/autoload_configs/acl.conf.xml, aggiungi il seguente ACL. Dobbiamo anche consentire a BigBlueButton di chiamare FreeSWITCH, ecco perché aggiungiamo l'IP di BigBlueButton / FreeSWITCH nell'ACL.

    <list name="asterisk-gw" default="deny">
       <node type="allow" cidr="192.168.1.200/32"/>
       <node type="allow" cidr="192.168.1.100/32"/>
       <node type="allow" cidr="127.0.0.1/32"/>
    </list>

Quindi applichiamo l'ACL al profilo che riceve le chiamate dai gateway esterni. In /opt/freeswitch/conf/sip_profiles/external.xml, aggiungi l'ACL sotto<settings>

  <settings>
    <!-- Apply ACL from asterisk-gw -->
    <param name="apply-inbound-acl" value="asterisk-gw"/>
...
</settings>

Per eseguire il debug, prova a connetterti alla CLI di FS e aumenta il livello di registrazione. Una volta connesso, effettua la chiamata e guarda cosa dicono i registri.

$ /opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)

  Once connected:
  help -- shows the available commands
  console loglevel <level> -- change log level

  Ctrl-D to exit

FreeSWITCH non riesce a collegarsi alla porta 8021

FreeSWITCH supporta sia IPV4 che IPV6. Tuttavia, se il tuo server non supporta IPV6, FreeSWITCH non sarà in grado di collegarsi alla porta 8021. Se esegui sudo bbb-conf --check e vedi il seguente errore

# Error: Found text in freeswitch.log:
#
#    Thread ended for mod_event_socket
#
# FreeSWITCH may not be responding to requests on port 8021 (event socket layer)
# and users may have errors joining audio.
#

potrebbe essere che il tuo server abbia IPV6 disabilitato (o non lo supporti). Puoi verificarlo eseguendo il seguente comando

$ sudo ip addr | grep inet6
inet6 ::1/128 scope host
...

Se non vedi la linea inet6 ::1/128 scope host, il tuo server ha IPV6 disabilitato. In questo caso, dobbiamo disabilitare il supporto di FreeSWITCH per IPV6. Innanzitutto, modifica /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml e cambia la linea

    <param name="listen-ip" value="::"/>

in

    <param name="listen-ip" value="127.0.0.1"/>

Questo dice a FreeSWITCH che invece di associare la porta 8021 all'indirizzo IPV6 locale, eseguire il binding all'indirizzo IPV4 127.0.0.1. Successivamente, esegui i seguenti due comandi

$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml_
$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml_

e quindi riavvia BigBlueButton con i comandi

$ sudo bbb-conf --clean
$ sudo bbb-conf --check

FreeSWITCH non si avvia con un errore SETSCHEDULER

Quando si esegue in un contenitore (come un chroot, OpenVZ o LXC), potrebbe non essere possibile per FreeSWITCH impostare la priorità della CPU e altre attività non sono possibili.

Se vedi un errore all'avvio di FreeSWITCH, prova a eseguire systemctl status freeswitch.service e vedi se vedi l'errore relativo a SETSCHEDULER

$ systemctl status freeswitch.service
● freeswitch.service - freeswitch
   Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Mon 2017-10-02 16:17:29 UTC; 18s ago
  Process: 10967 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)
 Main PID: 3327 (code=exited, status=0/SUCCESS)

Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Unit entered failed state.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Stopped freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Start request repeated too quickly.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.

In tal caso, modifica /lib/systemd/system/freeswitch.service e commenta la riga contenente CPUSchedulingPolicy

IOSchedulingPriority=2
#CPUSchedulingPolicy=rr
CPUSchedulingPriority=89

Quindi esegui systemctl daemon-reload e riavvia BigBlueButton. FreeSWITCH dovrebbe ora avviarsi senza errori.

Gli utenti non possono accedere alla modalità di solo ascolto

Quando lo fai sudo bbb-conf --check, potresti vedere l'avviso

voice Application failed to register with sip server

Questo errore si verifica quando bbb-apps-sip non riesce ad effettuare una chiamata SIP a FreeSWITCH. Lo vedrai in BigBlueButton quando gli utenti fanno clic sull'icona dell'auricolare e non partecipano alla conferenza vocale.

Una possibile causa è che hai appena installato BigBlueButton, ma non lo hai riavviato. I pacchetti non avviano i componenti BigBlueButton nell'ordine corretto. Per riavviare BigBlueButton, procedi come segue:

$ sudo bbb-conf --restart
$ sudo bbb-conf --check

Se non vuoi che FreeSWITCH si leghi a 127.0.0.1, devi capire quale indirizzo IP sta usando. Innanzitutto, determina l'indirizzo IP che FreeSWITCH sta monitorando per le chiamate SIP in arrivo con il seguente comando:

$ netstat -ant | grep 5060

Dovresti vedere un output come

tcp        0      0 234.147.116.3:5060    0.0.0.0:*               LISTEN

In questo esempio, FreeSWITCH è in ascolto sull'indirizzo IP 234.147.116.3. L'indirizzo IP sul tuo server sarà diverso.

Successivamente, modifica /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.propertie se imposta il valore per sip.server.hostall'indirizzo IP restituito dal comando precedente. Salva le modifiche (dovrai modificare il file come root per salvare le modifiche).

Riavvia BigBlueButton utilizzando i comandi ed esegui i controlli diagnostici integrati.

$ sudo bbb-conf --clean
$ sudo bbb-conf --check

Impossibile connettersi utilizzando fs_cli

A partire da BigBlueButton 2.2.18, la ClueCon sostituisce lapassword predefinita per la connessione all'interfaccia della riga di comando di FreeSWITCH ( fs_cli) con una password casuale.

(Per impostazione predefinita, FreeSWITCH consentiva solo connessioni non autenticate da 127.0.0.1, ma è comunque buona pratica di sicurezza non utilizzare password predefinite).

Per connettersi a fs_cli, utilizzare il seguente comando che fornisce la password per l'autenticazione.

/opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)

Installazione e pacchetti

I seguenti pacchetti hanno dipendenze non soddisfatte

Quando si installa l'ultima build di BigBlueButton, il pacchetto bbb-conf ora utilizza yq per gestire i file YAML.

Devi aggiungere il repository ppa:rmescandon/yq al tuo server. Per i passaggi su come eseguire questa operazione, vedere Aggiornare il server nella guida all'installazione di BigBlueButton 2.2.

In alternativa, se non hai apportato alcuna personalizzazione a BigBlueButton (al di fuori dell'utilizzo bbb-conf), puoi utilizzare bbb-install.sh per installare / aggiornare alla versione più recente (lo script bbb-install.sh  installerà automaticamente il repository per yq).

Se hai installato / disinstallato pacchetti BigBlueButton, potresti ricevere un avviso No Symbolic Link da bbb-conf --check:

** Potential Problems **
    nginx (conf): no symbolic link in /etc/nginx/sites-enabled for bigbluebutton

Per risolvere questo problema, aggiungi un collegamento simbolico a nginx per il sito BigBlueButton:

$ sudo ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton
$ sudo /etc/init.d/nginx restart

L'installazione del pacchetto non riesce con errore sed

Alcuni dei pacchetti BigBlueButton utilizzano sed per estrarre i contenuti dai file di configurazione. Se il file non esiste al momento dell'esecuzione dello script, o lo script sed corrisponde a più voci in un file (come quando una riga di configurazione è commentata), puoi vedere un errore come

Setting up bbb-client (1:2.0.0-374) ...
sed: -e expression #1, char 42: unterminated `s' command
dpkg: error processing package bbb-client (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bbb-config:
 bbb-config depends on bbb-client; however:
  Package bbb-client is not configured yet.

dpkg: error processing package bbb-config (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 bbb-client
 bbb-config
E: Sub-process /usr/bin/dpkg returned an error code (1)

Nell'esempio sopra, /var/lib/dpkg/info/bbb-client.postinst non è stato possibile terminare. Per eseguire il debug, modifica questo file e cambia la prima riga in read

ed esegui

$ sudo apt-get install -f

Ora dovresti vedere ogni comando bbb-conf.postinst mentre viene eseguito fino alla riga in cui si verifica l'errore. Pubblica questo output in https://groups.google.com/forum/#!forum/bigbluebutton-setup per assistenza nella risoluzione del problema.

Errori con i pacchetti

Alcuni provider di hosting non forniscono un file completo /etc/apt/source.list. Se non riesci a installare un pacchetto, prova a sostituire il tuo /etc/apt/sources.list con il seguente

deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse

Quindi fa

$ sudo apt-get update

e prova a installare di nuovo BigBlueButton dall'inizio.

Errori WebRTC (1001, 1002, ...)

WebRTC offre audio di altissima qualità. Tuttavia, le impostazioni di rete dell'utente (o firewall) potrebbero non consentire a WebRTC di connettersi (o rimanere connesso).

Di seguito sono elencati i possibili messaggi di errore WebRTC che un utente potrebbe incontrare:

  • 1001: WebSocket disconnesso : il WebSocket si è connesso correttamente e ora è disconnesso. Cause possibili:
    • Perdita di connessione a Internet
    • Il riavvio di Nginx può causare questo
  • 1002: Impossibile stabilire una connessione WebSocket - La connessione WebSocket iniziale non è riuscita. Cause possibili:
    • Firewall che blocca il protocollo ws
    • Il server è inattivo o non è configurato correttamente
    • Vedi la potenziale soluzione qui .
  • 1003: versione del browser non supportata - il browser non implementa i metodi API WebRTC necessari. Cause possibili:
    • Browser obsoleto
  • 1004: Errore durante la chiamata : la chiamata è stata tentata, ma non è riuscita. Cause possibili:
    • Per un elenco completo delle cause fare riferimento qui
    • Ci sono 24 cause diverse, quindi non voglio elencarle tutte
    • Soluzione per questo problema delineata qui .
  • 1005: Chiamata terminata in modo imprevisto : la chiamata è riuscita, ma è terminata senza che l'utente abbia richiesto di terminare la sessione. Cause possibili:
    • Sconosciuto
  • 1006: Chiamata scaduta - La libreria ha impiegato troppo tempo per provare a connettere la chiamata. Cause possibili:
    • Precedentemente causato da Firefox 33-beta su Mac. Non siamo stati in grado di riprodurre dal rilascio di FireFox 34
  • 1007: Negoziazione ICE non riuscita - Il browser e FreeSWITCH tentano di negoziare le porte da utilizzare per lo streaming del supporto e la negoziazione non è riuscita. Cause possibili:
    • NAT sta bloccando la connessione
    • Il firewall sta bloccando la connessione / le porte UDP
  • 1008: Trasferimento di chiamata non riuscito - Timeout durante l'attesa del trasferimento di FreeSWITCH dal test dell'eco alla conferenza reale. Ciò potrebbe essere causato da una configurazione errata in FreeSWITCH, oppure potrebbe esserci un errore multimediale e il comando DTMF per il trasferimento non è andato a buon fine (in questo caso, anche la voce nel test dell'eco probabilmente non ha funzionato.)
  • 1009: Impossibile recuperare le informazioni sul server STUN / TURN : indica un bug di BigBlueButton (o stai utilizzando una nuova combinazione client / vecchio server non supportata), ma potrebbe anche verificarsi a causa di un'interruzione di rete.
  • 1010: Timeout negoziazione ICE - Dopo che la chiamata è stata accettata, il browser del client e il server tentano di negoziare un percorso per i dati audio. In alcune configurazioni di rete, questa negoziazione richiede un tempo insolitamente lungo per non riuscire e questo timeout è impostato per evitare che il client si blocchi.
  • 1020: Il cloud multimediale non è riuscito a raggiungere il server - Scopri come risolvere questo problema qui .

Networking

Server in esecuzione dietro NAT

Il seguente problema potrebbe essere utile nel debug se si verificano errori e il server è dietro NAT.

Impossibile ottenere il microfono per una chiamata WebRTC

Chrome richiede (a partire da Chrome 47) che per accedere al microfono dell'utente per WebRTC il tuo sito deve servire pagine tramite HTTPS (ovvero, nginx è configurato con un certificato SSL).

Se l'utente tenta di condividere il proprio microfono e il server BigBlueButton non è configurato per SSL, Chrome bloccherà l'accesso e BigBlueButton segnalerà il seguente errore

Errore audio WebRTC: rilevato il seguente problema WebRTC: impossibile ottenere il microfono per una chiamata WebRTC. Vuoi provare invece il flash?

Per consentire a Chrome di accedere al microfono dell'utente, vedi Configurare HTTPS su BigBlueButton .

Il browser non è supportato

Quando si tenta di partecipare a una sessione BigBlueButton, il client cerca i browser supportati prima del caricamento completo. Il client ottiene l'elenco dei browser supportati da /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml. Puoi vedere l'elenco dei browser supportati in fondo. Per esempio,

  - browser: mobileSafari
    version:
    - 11
    - 1

afferma che Mobile Safari versione 11.1 o successiva è supportata (notare che la prima lettera è minuscola e concatenata con il resto del nome del browser).

Per aggiungere un browser all'elenco, aprire prima la seguente pagina https://test.bigbluebutton.org/html5client/useragent con il browser, che stamperà la sua stringa useragent. Ad esempio, con il browser Vivaldi potresti vedere

Vivaldi 2.8.1664 / Linux 0.0.0

Successivamente, per aggiungerlo come browser supportato, aggiungi a settings.yml

  - browser: vivaldi
    version:
    - 2
    - 8

salva settings.yml aggiornato , quindi riavvia il tuo server BigBlueButton con sudo bbb-conf --restart. Nota che qualsiasi browser che aggiungi deve supportare le librerie WebRTC (non tutti lo fanno), quindi assicurati di controllarlo prima con https://test.webrtc.org/ .

Tomcat mostra "Impossibile assegnare l'indirizzo richiesto all'avvio"

Se il tuo server ha più indirizzi IP, Tomcat potrebbe non scegliere l'indirizzo giusto da associare. Ciò potrebbe generare un errore durante l'installazione quando Tomcat sta tentando di installare.

Verificare /var/log/tomcat7/catalina.out

Jan 30, 2018 9:17:37 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Cannot assign requested address (Bind failed)
 at java.net.PlainSocketImpl.socketBind(Native Method)

Se vedi questo, assicurati prima che non ci sia un'altra copia di Tomcat in esecuzione facendo ps -aef | grep tomcat7. Se vedi un'altra copia in esecuzione, prova a ucciderla e quindi a riavviare Tomcat.

Se vedi ancora lo stesso errore in catalina.out, quindi /etc/tomcat7/server.xml e cambia

<Server port="8005" shutdown="SHUTDOWN">
<Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">

Riavvia tomcat7 di nuovo e dovrebbe avviarsi normalmente.

nginx non è in esecuzione

I motivi comuni per cui nginx non è in esecuzione sono l'impossibilità di collegarsi alla porta 80 e gli errori di configurazione. Per verificare se la porta 80 è già in uso, utilizzare

$ sudo netstat -ant

per vedere se un processo è attualmente associato alla porta 80. In tal caso, controllare se è installato un altro server web. In tal caso, arrestare il server Web e provare a riavviare nginx. Uno dei requisiti del server prima di installare BigBlueButton è che la porta 80 non sia utilizzata da un'altra applicazione (come Apache). Per i dettagli sul motivo per cui questo è un requisito, vedere Si consiglia di eseguire BigBlueButton sulla porta 80 .

Se la porta 80 è libera, controlla se il tuo file di configurazione nginx contiene errori. Prova a riavviare nginx

$ sudo systemctl restart nginx

e cerca l'output di

   [ OK ]

Se vedi [ Fail ], i file di configurazione di nginx potrebbero contenere un errore di sintassi. Verificare la sintassi dei file di configurazione di nginx utilizzando il comando

$ sudo nginx -t

e vedere se riporta errori. Puoi anche controllare il file error.log per nginx per vedere quali errori dà all'avvio

$ sudo cat /var/log/nginx/error.log

"Benvenuti a nginx"

Durante l'installazione di BigBlueButton, gli script di packaging tentano di assegnare l'indirizzo IP corretto durante l'installazione. Tuttavia, se l'indirizzo IP cambia (ad esempio quando si riavvia una VM) o il primo indirizzo IP non era l'indirizzo IP corretto per il server, potrebbe essere visualizzata una pagina "Benvenuto in nginx".

Per riconfigurare BigBlueButton in modo che utilizzi l'indirizzo IP o il nome host corretto, consulta BigBlueButton non viene caricato .

bbb-web

404 Errore durante il caricamento del client

BigBlueButton 2.2 richiede Java 8 come Java predefinito. Recentemente, alcune distribuzioni di Ubuntu 16.04 hanno cambiato la versione predefinita di Java in Java 9 (o successivo).

Utilizzare java -version per verificare che la versione predefinita di 1.8.0.

~/dev$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

In caso contrario, procedi come segue

sudo apt-get install openjdk-8-jre
update-alternatives --config java  # Choose java-8 as default

Esegui java -version e conferma che ora mostri il valore predefinito come 1.8.0, quindi riavvia BigBlueButton consudo bbb-conf --restart

Area di presentazione vuota durante la creazione o il caricamento

Se si partecipa a una riunione e la presentazione predefinita non è visibile o la presentazione caricata non viene visualizzata, è molto probabile che ciò sia dovuto a un errore di autorizzazione. Per risolvere questo problema, assicurati che /var/bigbluebutton/sia di proprietà di bigbluebutton piuttosto che root o di qualsiasi altro account. Vedi questo problema per ulteriori spiegazioni.

Impossibile creare la presentazione

Se vedi il seguente errore in /var/log/bigbluebutton/bbb-web.log

  failed to map segment from shared object: Operation not permitted

utilizzare il comando mount per verificare che /tmp non disponga delle autorizzazioni noexec (il che impedirebbe l'esecuzione degli eseguibili nella directory / tmp). Se vedi noexec per /tmp, devi rimontare la directory con le autorizzazioni che abilitano i processi (come la conversione delle diapositive) da eseguire nella /tmpdirectory.

Troppi file aperti

Su server con più di 8 core della CPU, bbb-weblog ( /var/log/bigbluebutton/bbb-web.log) potrebbe generare un errore di Too many open files

Caused by: java.io.IOException: Too many open files

Per risolvere, creare un file di sostituzione che aumenti il ​​numero di file aperti per bbb-web

$  sudo mkdir -p /etc/systemd/system/bbb-web.service.d/
$  sudo cat > /etc/systemd/system/bbb-web.service.d/override.conf << HERE
[Service]
LimitNOFILE=
LimitNOFILE=8192
HERE
$  sudo systemctl daemon-reload

bbb-web impiega molto tempo per l'avvio

bbb-web si basa sulla classe SecureRandom (che utilizza l'entropia disponibile) per fornire valori casuali per i suoi ID di sessione. Su un server virtualizzato, tuttavia, l'entropia disponibile può esaurirsi e causare il blocco di bbb-web per un lungo periodo prima che termini la sequenza di avvio (vedi Avvio lento di tomcat ).

Per fornire più entropia a bbb-web, puoi installare haveged

$ sudo apt-get install haveged

Per ulteriori informazioni, vedere Come configurare entropia aggiuntiva per server cloud utilizzando Haveged .

Errore durante l'installazione di bbb-web

Se ricevi il seguente errore durante l'aggiornamento a BigBlueButton

Unpacking bbb-web (1:2.2.0-67) over (1:2.2.0-66) ...
dpkg: error processing archive /var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb (--unpack):
 trying to overwrite '/etc/bigbluebutton/nginx/web', which is also in package bbb-client 1:2.2.0-28
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)```

Quindi prima disinstallare bbb-client

$ sudo apt-get purge bbb-client

e prova a installare di nuovo BigBlueButton.

Altri errori

Partizione di root troppo piccola

Se la partizione root sul server BigBlueButton è troppo piccola (per i requisiti di spazio su disco vedere Prima dell'installazione ), si consiglia di spostare le seguenti directory su una partizione esterna con spazio su disco sufficiente.

Elaborazione BigBlueButton e archiviazione delle registrazioni:

Posizione di tutte le directory multimediali su disco disponibile qui .

Per effettuare lo spostamento, prima fermeremo BigBlueButton, quindi sposteremo le directory sopra in una nuova posizione sulla partizione esterna, creeremo collegamenti simbolici dalle posizioni originali alle nuove posizioni e riavvieremo BigBlueButton.

Nell'esempio seguente, la partizione esterna è montata /mnt.

$ sudo bbb-conf --stop

$ sudo mv /var/freeswitch/meetings /mnt
$ sudo ln -s /mnt/recordings /var/freeswitch/meetings

$ sudo mv /usr/share/red5/webapps/video/streams /mnt
$ sudo ln -s /mnt/streams /usr/share/red5/webapps/video/streams

$ sudo /var/bigbluebutton /mnt
$ sudo ln -s /mnt/bigbluebutton /var/bigbluebutton

$ sudo bbb-conf --start

BigBlueButton non viene caricato

Se hai cambiato la tua connessione di rete (come al riavvio), puoi pulire la maggior parte dei file di configurazione di BigBlueButton con i seguenti passaggi.

$ sudo bbb-conf --setip <ip_address_or_hostname>

$ sudo bbb-conf --clean
$ sudo bbb-conf --check

Per ulteriori informazioni, vedere le opzioni bbb-conf .

In esecuzione all'interno di un contenitore LXD

LXD è un sistema di contenitori molto potente per Ubuntu che ti consente di eseguire server Ubuntu 16.04 completi all'interno di un contenitore. Poiché puoi facilmente clonare e creare snapshot dei contenitori LXD, sono ideali per lo sviluppo e il test di BigBlueButton.

Tuttavia, se installi BigBlueButton all'interno di un contenitore LXD, otterrai il seguente errore da sudo bbb-conf --check

** Potential problems described below **

#
# Error: Unable to connect to the FreeSWITCH Event Socket Layer on port 8021

Riceverai anche un errore all'avvio di FreeSWITCH con bbb-conf --restart. Quando provi systemctl status freeswitch.service, vedrai un errore con SETSCHEDULER.

$ sudo systemctl status freeswitch.service
● freeswitch.service - freeswitch
   Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Wed 2017-04-26 16:34:24 UTC; 23h ago
  Process: 7038 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)

Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Unit entered failed state.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Apr 26 16:34:24 big systemd[1]: Stopped freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Start request repeated too quickly.
Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.

Questo errore si verifica perché lo script dell'unità systemd predefinito per FreeSWITCH tenta di essere eseguito con autorizzazioni non disponibili per il contenitore LXD. Per eseguire FreeSWITCH all'interno di un contenitore LXD, modificare /lib/systemd/system/freeswitch.service e sostituire con quanto segue:

[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target

[Service]
Type=forking
PIDFile=/opt/freeswitch/var/run/freeswitch/freeswitch.pid
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS
TimeoutSec=45s
Restart=always
WorkingDirectory=/opt/freeswitch
User=freeswitch
Group=daemon

[Install]
WantedBy=multi-user.target

Quindi immettere i seguenti comandi per caricare il nuovo file di unità e riavviare BigBlueButton.

$ sudo systemctl daemon-reload
$ sudo bbb-conf --restart

Puoi eseguire BigBlueButton all'interno di un contenitore LXD.

Errori precedenti

Conferenza non trovata errori

Il comando sudo bbb-conf --debug esegue la ricerca nei log red5, tomcat7 e nginx alla ricerca di errori ed eccezioni. Tuttavia, i messaggi come

    -- ERRORS found in /usr/share/red5/log/* --
/usr/share/red5/log/bigbluebutton.log:2015-05-02 13:50:37,681-04:00 [pool-17-thread-1] ERROR o.b.w.v.f.a.PopulateRoomCommand - Not XML: [Conference 78505 not found]

sono innocui e possono essere ignorati.