Enviado por admin el
Ya he hablado de BigBlueButton en dos distintas ocasiones: la primera hace ya 6 años y la segunda hace tres años. Lo que me ha motivado a escribir otra vez acerca de este sistema de videoconferencias Open Source, es que con la ultima versión disponible, la 2.2.X se ha completado el pasaje de su uso mixto, WebRTC – Adobe Flash Player, a WebRTC solamente; esto quiere decir que ahora ya no se necesitará Adobe Flash Player; esto es una optima noticia ya que, si no estoy equivocado, será posible utilizarlo solamente hasta el final de este año 2020. Lo estoy probando desde hace unos días y la verdad estoy muy contento. Para la instalación se necesita Ubuntu 16.04 y personalmente lo tengo instalado en VPSDime que con 7 dólares/mes entrega un servidor con 6GB de memoria RAM y 4 vCPU. Los requisitos mínimos para que el sistema funcione correctamente/decentemente son 4GB RAM y 4vCPU. Un vez creado el VPS, se asocia un subdominio, que se utilizará más adelante, a la IP asignada por el proveedor. En mi caso el subdominio utilizado es bbb.voztovoice.org y la IP asignada es 209.50.56.144. Accedemos vía SSH y empezamos con la actualización de los repositorios:
apt-get update
Luego:
cat /etc/default/locale
cuyo resultado tiene que ser:
LANG="en_US.UTF-8"
Si así no fuera:
apt-get install language-pack-en
update-locale LANG=en_US.UTF-8
y luego nuevamente:
cat /etc/default/locale
# File generated by update-locale
LANG=en_US.UTF-8
Se continua con:
systemctl show-environment
Resultado esperado:
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Si así no fuera:
systemctl set-environment LANG=en_US.UTF-8
y luego nuevamente:
systemctl show-environment
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Se corrobora que la versión de Ubuntu sea la correcta:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.7 LTS"
que el sistema sea 64bit:
uname -m
x86_64
y que el Kernel versión 4.4:
uname -r
4.4.0-178-generic
Se averiguan que los repositorios contengan multiverse:
grep "multiverse" /etc/apt/sources.list
deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
Ya se puede empezar con la parte dedicada a la instalación:
apt-get install haveged -y
apt-get install software-properties-common
add-apt-repository ppa:bigbluebutton/support -y
add-apt-repository ppa:rmescandon/yq -y
add-apt-repository ppa:libreoffice/ppa -y
apt-get update
apt-get dist-upgrade
MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
apt-get update
apt-get install -y mongodb-org curl
NodeJS
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
apt-get install -y nodejs
BigBlueButton
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
echo "deb https://ubuntu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
apt-get update
apt-get install bigbluebutton -y
Si sale un error relacionado con la autenticación de los paquetes, para que la instalación funcione se utiliza el siguiente comando:
apt-get install bigbluebutton --allow-unauthenticated -y
luego se continua con:
apt-get install bbb-html5 -y
apt-get dist-upgrade
Terminada la instalación se reinicia el sistema de videoconferencias:
bbb-conf --restart
En algunas VPS, dependiendo del sistema de virtualización adoptado, puede presentarse el siguiente error:
Error: FreeSWITCH failed to start with SETSCHEDULER error
para solucionar, se abre el siguiente archivo:
nano /lib/systemd/system/freeswitch.service
se comenta la linea que sigue para que quede:
#CPUSchedulingPolicy=rr
Se guardan los cambios y se continua con:
systemctl daemon-reload
bbb-conf --restart
Si no salen errores se controla el sistema:
bbb-conf --check
# Potential problems described below
Debajo de la linea de arriba no tiene que aparecer ningún tipo de error. Se mira el estado del sistema:
bbb-conf --status
Es siempre más seguro y cómodo trabajar con un dominio/subdominio. Es por eso que con el comando que sigue se configura BBB para que utilice el subdominio indicado al inicio de este articulo:
bbb-conf --setip bbb.voztovoice.org
Luego se crean los certificados con Let’s Encrypt que luego se utilizarán en el servidor Web Nginx:
apt-get install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt-get install certbot
mkdir -p /etc/nginx/ssl
openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096
El comando de arriba para terminar puede tomar hasta unos 10 minutos. Se crea el certificado:
certbot --webroot -w /var/www/bigbluebutton-default/ -d bbb.voztovoice.org certonly
Se modifica la configuración de Nginx, el servidor Web, para que trabaje sobre el puerto seguro 443:
nano /etc/nginx/sites-available/bigbluebutton
Después de esta linea:
server_name bbb.voztovoice.org;
se añade:
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/bbb.voztovoice.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bbb.voztovoice.org/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhp-4096.pem;
Se reinicia Nginx:
systemctl restart nginx
Luego se pasa toda la configuración de BBB sobre conexiones seguras:
nano /etc/bigbluebutton/nginx/sip.nginx
Cambiar esta linea:
proxy_pass http://209.50.56.144:5066;
con:
proxy_pass https://209.50.56.144:7443;
Archivo que sigue:
nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
Cambiar:
bigbluebutton.web.serverURL=http://bbb.voztovoice.org
con:
bigbluebutton.web.serverURL=https://bbb.voztovoice.org
Archivo que sigue:
nano /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
Cambiar estas dos lineas:
jnlpUrl=http://bbb.voztovoice.org/screenshare
jnlpFile=http://bbb.voztovoice.org/screenshare/screenshare.jnlp
Para que queden:
jnlpUrl=https://bbb.voztovoice.org/screenshare
jnlpFile=https://bbb.voztovoice.org/screenshare/screenshare.jnlp
Con el comando que sigue se cambian todas las lineas del archivo config.xml donde aparezca http con https:
sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml
Se continua con el archivo:
nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
Cambiando:
wsUrl: ws://bbb.voztovoice.org/bbb-webrtc-sfu
url: http://bbb.voztovoice.org/pad
con:
wsUrl: wss://bbb.voztovoice.org/bbb-webrtc-sfu
url: https://bbb.voztovoice.org/pad
Se termina con el archivo:
nano /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
Cambiando:
playback_protocol: http
con:
playback_protocol: https
Se reinicia BBB:
bbb-conf --restart
Se instala y se configura el cortafuegos dejando abiertos los puertos que se necesitan:
apt-get install ufw
ufw enable
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 1935/tcp
ufw allow 5066/tcp
ufw allow 7443/tcp
ufw allow 16384:32768/udp
ufw status
Se reinicia el sistema:
reboot
Como yo lo tengo integrado con Moodle, para la configuración del modulo se necesita la URL y la clave para acceder a las API del sistema de videoconferencias. Esos datos se obtienen con el comando:
bbb-conf --secret
URL: https://bbb.voztovoice.org/bigbluebutton/
Secret: uTswnqnqT76p2Sx3u4Yh35S
Si lo quieren utilizar la demo desde la pagina web:
apt-get install bbb-demo
reinician BBB:
bbb-conf --restart
Luego acceden a la pagina utilizando el subdominio. En mi caso:
para personalizar la consola de Linux:
nano /root/.bashrc
al final del archivo se copian las siguientes lineas:
export EDITOR=/bin/nano
export PS1='\[\033[0;35m\]\H\[\033[0;33m\] \w\[\033[00m\]: '
alias free="free -m"
Se guardan los cambios y se recarga la configuración de la consola:
source /root/.bashrc
Si tenían un servidor con una versión anterior de BBB, para copiar las videoconferencias guardadas en el nuevo, desde el viejo se ejecutan los siguientes comandos:
cd /var/bigbluebutton
scp -r recording/ root@bbb.voztovoice.org:/var/bigbluebutton/
cd /var/bigbluebutton/published/
scp -r presentation root@bbb.voztovoice.org:/var/bigbluebutton/published/
Luego en el nuevo con el comando:
bbb-record --list
verán si los archivos se han copiado correctamente. Para terminar algunos pantallazos, muy bonitos, de la nueva versión:
Comentarios recientes