Creare un server per video conferenza

Ciao di nuovo a tutti, eccomi con una nuova guida testata in ambiente lavorativo, come sapete mi piace usare materiale opensource e cerco sempre per quanto mi sia possibile di utilizzarlo anche in ambiente lavorativo, questo permette un considerevole risparmio di licenze e poi si imparano sempre cose nuove che vanno ad aumentare il nostro ego personale e questo non fa mai male. Ma iniziamo a postare la guida, buona lettura.

installazione videoconferenza BigBlueBotton

su Ubuntu 14.04 TLS

Requisiti d’installazione

Sistema hardware, si preferisce una macchina reale ad una virtuale per avere prestazioni migliori, comunque è possibile installare il tutto anche su una macchina virtuale con i seguenti requisiti minimi:

  • CPU = Quad-Core 2.6 GHZ

  • RAM = 4 GB (Preferibili 8 GB)

  • HDD di sistema = 50 GB (sufficienti)

  • HDD = con almeno 500 GB di spazio libero per le registrazione della video conferenza

  • Porte d’accesso TCP 80, 1935, 9123 UDP range 16384 – 32768

  • La porta TCP 80 non deve essere in uso da altra applicazione

  • Banda consigliata 100 Mbits/sec bandwidth (simmetrica)

BigBlueButton, usa FreeSWITCH per i processi in tempo reale dei pacchetti audio, FreeSWITCH lavora meglio su un server dedicato non virtualizzato.

Agli utenti si consiglia un minimo di banda di 1.0 Mbit/sec in download e 0.5 Mbit/sec in upload.

Oltre a garantire che il server soddisfi i requisiti di cui sopra, dobbiamo aggiungere un paio di accorgimenti, in primo luogo assicuriamoci che il locale del server sia en_US.UTF-8 (per l’italiano, it_IT.UTF-8), per verificare digitiamo questo comando:

$ cat /etc/default/locale
LANG="en_US.UTF-8"

Se non si visualizza LANG=”en_US.UTF-8” digitiamo i seguenti comandi:

 

$ sudo apt-get install language-pack-en
$ sudo update-locale LANG=en_US.UTF-8

Per verificare che sia andato a buon fine, usciamo dalla nostra sessione SSH e rientriamo (questo permetterà di ricaricare la configurazione). Eseguiamo nuovamente il commando cat /etc/default/locale e verifichiamo se si vede solo la linea LANG=”en_US.UTF-8”. Nota: se visualiziamo una linea supplementare LC_ALL = en_US.UTF-8, rimuoviamo l’impostazione LC_ALL prima di continuare.

Se siamo sicuri di aver installato la versione corretta di Ubuntu saltiamo pure questo passaggio, ma se l’installazione non è fatta da voi allora sarebbe meglio fare un controllo prima di proseguire, iniziamo con il controllare la versione dell’architettura del server se corrisponde a 64 bit.

$ uname -m
x86_64

Controlliamo poi la versione di Ubuntu se corrisponde con la 14.04

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.X LTS"

La versione di BigBlueBotton 0.9.1 è stata progetta e testata su Ubuntu 14.04 a 64 bit, su altre versioni non è stata testata ne installata.

Preparare il server per BigBlueButton 0.9.1

Qualche parola sull’installazione dei passi che seguono. E’ assolutamente necessario che ogni passo venga portato a buon fine prima di passare al successivo, se si verificasse qualche errore, controllare ciò che è stato inserito, oppure utilizzate Google per la ricerca dei messaggi d’errore.

Aggiornare il server

Eseguiamo il login sul server tramite SSH e controlliamo se nei repository di ubuntu abbiamo anche quelli denominate trusty multiverse all’interno del file sources.list

$ grep "multiverse" /etc/apt/sources.list

Se esistono accedere al file e decomentare le linee del multiverse repository

$ sudo nano /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu trusty multiverse

oppure

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse

Non preoccupatevi se il vostro URL è diverso, ciò che è importante è che i collegamenti multiverse  non siano commentati, se non volete accedere direttamente al file sources.list eseguite questa riga.

$ echo "deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse" 
| sudo tee -a /etc/apt/sources.list

Dopo di che eseguiamo questi comandi

$ sudo apt-get update
$ sudo apt-get dist-upgrade

Alla fine se vengono eseguiti nuovi aggiornamenti fate anche un reboot della macchina.

Installare PPA per LibreOffice 4.4

Usiamo LibreOffice 4.4 per una migliore stabilità sulla conversione di documenti Microsoft Office in PDF, pertanto aggiungiamo i seguenti repository.

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:libreoffice/libreoffice-4-4

Installare la key per BigBlueButton

E’ necessario dare accesso al server dei repository di BigBlueButton e pertanto dobbiamo scaricare la chiave.

$ wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -

Aggiungiamo l’URL del repository di BigBlueButton

$ echo "deb http://ubuntu.bigbluebutton.org/trusty-090/ bigbluebutton-trusty main" 
| sudo tee /etc/apt/sources.list.d/bigbluebutton.list

E poi diamo ancora

$ sudo apt-get update

Installare ffmpeg

BigBlueButton 0.9.1 utilizza ffmpeg per creare i componenti dei file da riprodurre (componenti audio e video e di condivisione desktop) per installare ffmpeg, creare un file che chiameremo install-ffmpeg.sh dopo di che copiamo e incolliamo quanto segue:

$ nano /tmp/install-fmpeg.sh
[script] 

sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev

FFMPEG_VERSION=2.3.3

cd /usr/local/src
if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then
  sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2"
  sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"
fi

cd "ffmpeg-${FFMPEG_VERSION}"
sudo ./configure --enable-version3 --enable-postproc –enable-libvorbis --enable-libvpx
sudo make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" –backup=no --deldoc=yes --default

Salviamo, rendiamo eseguibile e poi lanciamolo

$ chmod +x install-ffmpeg.sh
$ ./install-ffmpeg.sh

Dopo che lo script ha terminato il suo lavoro controlliamo che ci sia tutto

Installazione di BigBlueButton

Ora siamo pronti per installare BigBlueButton versione 0.9.1

$ sudo apt-get install bigbluebutton

Con questo comando installeremo tutti i componenti di BigBlueButton e tutte le loro dipendenze

Installare API Demos

Questo passaggio è facoltativo (ma consigliato)

Se si desidera testare in modo interattivo il server BigBlueButton (anziché utilizzare un’integrazione di 3a parti) è possibile installare una serie di demo API

$ sudo apt-get install bbb-demo

Se volessimo rimuovere le API demo allora daremo questo comando

$ sudo apt-get purge bbb-demo

Installare Client Self-Check

Installazione opzionale

BigBlueButton, integra un utilità di auto-controllo che può aiutare a diagnosticare i problemi di rete e di configurazione che possono impedire a un utente di lanciare BigBlueButton, per installare il tool diamo questo comando

$ sudo apt-get install bbb-check

Se lo volessimo rimuovere in futuro il comando è:

$ sudo apt-get purge bbb-check

Abilitare WebRTC audio

Per consentire l’avvio di WebRTC audio diamo il seguente comando

$ sudo bbb-conf --enablewebrtc

Fare un riavvio pulito

Per garantire a BigBlueButton un avvio pulito, digitiamo i seguenti comandi

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

L’opzione – -clean elimina tutti i file di registro per BigBlueButton  l’output da sudo bbb-conf – -check visualizza le impostazioni correnti e dopo il testo i potenziali problemi descritti di seguito.

Ecco un esempio di output di una nuova installazione su un server con IP 10.1.100.120


 

$ sudo bbb-conf --check

BigBlueButton Server 0.9.1-YYY (NNN)
                    Kernel version: 3.13.0-46-generic
                      Distribution: Ubuntu 14.04.2 LTS (64-bit)
                            Memory: 32071 MB

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
               Port test (tunnel): 10.1.100.120
                              Red5: 10.1.100.120
              useWebrtcIfAvailable: true

/opt/freeswitch/conf/sip_profiles/external.xml (FreeSWITCH)
                    websocket port: 5066
                    webRTC enabled: true

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: 10.1.100.120
                              port: 80
                    bbb-client dir: /var/www/bigbluebutton

/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
                      bbb-web host: 10.1.100.120

/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp (API demos)
                           api url: 10.1.100.120

/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
                  voice conference: FreeSWITCH
                     capture video: true
                   capture desktop: true

/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback host: 10.1.100.120


** Potential problems described below **
# Warning: The API demos are installed and accessible from:
#
#    http://10.1.100.120/
#
# 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:
#
#    sudo apt-get purge bbb-demo


Qui il problema è solo un avvertimento – in pratica mostra le API installate che potrebbe permettere a chiunque di accedere al server per avviare sessioni e pertanto vi consiglia la disinstallazione. A questo punto si potrebbe provare il server, dal browser (Firefox o Chrome raccomandati in quanto supportano WebRTC audio) digitiamo http://IP_server

 

 

Pubblicato da appuntidiadam

Sistemista informatico, e grande appasionato di astronomia e fisica, ricercatore indipendente in cosmologia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.