Hace, un tiempo estuve buscando alterntivas a jitsi, no porque jitsi no me gustara si no para tener distintas alternativas, preguntando por gnusocial, anoncf, me hablo de este software libre BitBlueButton que no conocia y la verdad es que aunque tiene una instalacion un tanto «engorrosa» me ha gustado. El unico problema es que corre bajo una version de ubuntu bastante desactualizada 16.04 y aunque tienen previsto migrarlo a 18.04, ubuntu va por la version 20. No he probado a instalarlo en debian, pero viendo las dependencias especificas de versiones que tiene no creo que funcione.
El software en si es muy completo, y esta pensado para ser utilizado en proyectos como clases telematicas, en universidades,colegios,etc..
Entre sus funcionalidades, implementa un su interfaz etherpad para poder ir editando colaborativamente documentos mientras se esta en una videoconferencia, una pizarra donde poder escribir y señalar documentos y un gestor de presentaciones en diapositivas.
1. INSTALACION BASE
• Partimos de un sistema Ubuntu-Server 16.04 solo con la instalación básica para un servidor
– Servidor SSH
– Sistema Base(Sin Desktop)
1.1 SELECCIONAR HOSTNAME
hostnamectl set-hostname NOMBREHOST
1.2 LOCALES
Nos aseguramos que tenga las locales,correctas comprobando via cat si no es asi las instalamos y seteamos.
cat /etc/default/locale
LANG="en_US.UTF-8"
Si no devuelve en_US.UTF8 las instalamos:
sudo apt-get install -y language-pack-en
sudo update-locale LANG=en_US.UTF-8
2. FIREWALL
• Añadimos las excepciones pertinentes:
/usr/sbin/ufw allow 80/tcp /usr/sbin/ufw allow 443/tcp /usr/sbin/ufw allow 22/tcp /usr/sbin/ufw allow 7443/tcp /usr/sbin/ufw allow 16384:32768/udp /usr/sbin/ufw enable
3. INSTALACION REPOSITORIOS
sudo add-apt-repository ppa:bigbluebutton/support -ysudo add-apt-repository ppa:rmescandon/yq -y
sudo add-apt-repository ppa:libreoffice/ppa
4. INSTALACION MONGODB
Necesitamos instalar una version especifica de mongodb la 3.4
• Añadimos la key
wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add –
• Añadimos el repositorio a sources.list
• echo "deb [ arch=amd64] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
• Actualizamos los repositorios (apt-get update)
• Instalamos:
sudo apt-get install -y mongodb-org curl
5. INSTALACION NODEJS
• Descargamos el script de instalacion
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash –
Ignoramos la advertencia de que es una versión desfasada, el producto requiere se esa versión de node.
• Instalamos
sudo apt-get install -y nodejs
6. INSTALACION BIGBLUEBUTTON
• Añadimos la key
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
• Añadimos los repositorios
echo "deb https://packages-eu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
sudo apt-get install bigbluebutton
sudo apt-get install bbb-html5
7. ACTUALIZACION DEL SISTEMA
• Actualízanos Ubuntu
sudo apt-get dist-upgrade
8. REINICIO Y PRE-CHECK
• Reiniciamos el software
sudo bbb-conf –restart
• Lanzamos un check de todos los servicios
sudo bbb-conf –check
9. CONEXIÓN (CON O SIN API)
• Nos conectamos a la dirección IP de nuestro servidor y nos aparecerá una pantalla como la siguiente:
• Para usar BigBluButton como un simple back-end no necesitamos instalar la api de demo, por ejemplo integrándose en otra aplicación web que envie los parametros para la creaccion de las salas via API, pero si queremos probarlo en modo demo necesitamos instalar el software de demo.
sudo apt-get install bbb-demo
10. CONFIGURAR SSL
• Para que el software funcione necesitaba la capa SSL, por lo que tenenos que usar un certificado y configurarlo en nginx asi como cambiar algunos ficheros de configuración dentro del software para que lo use:
Para ello tenemos que asegurarnos tener un nombre de dominio o dominio local que puede ser resuelto por nuestro DNS porque no funciona por IP, y ademas tener un certificado valido se recomienda letsencrypt, pero se puede usar cualquier CA incluso autofirmado, si se sigue todo el manual.
10.1 CAMBIOS NECESARIOS PARA ADAPTAR LOS FICHEROS DE CONFIGURACION PARA SSL
• Cambios en Freeswitch, adaptar el fichero de configuración
/etc/bigbluebutton/nginx/sip.nginx
para que quede así:
• Configurar BigBlueButton para usar SSL en /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
• Modificamos las propiedades de la aplicación /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
Añadimos https a todas las referencias en el fichero de configuracion
•
sudo sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml
• Cambiamos las siguientes variables en /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
• Modificamos tambien la url de etherpad
• Modificamos el playback_protocol /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
• Modificamos la API /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp
10.2 NGINX
• Añadimos las siguientes líneas para añadir soporte SSL
listen 443 ssl;listen [::]:443 ssl;
server_name TUDOMINIO;
access_log /var/log/nginx/bigbluebutton.access.log;ssl_certificate /etc/nginx/ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
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";
11. IMPORTAR CERTIFICADO A TOMCAT
Tomcat es muy especial y no le vale con el certificado de nginx, por lo que si no seguimos este paso y usamos un certificado de una CA rara o autofirmado no funcionara.
• Para que funcione hay que importar el certificado a tomcat usando varias herramientas
• Nos bajamos el software https://github.com/escline/InstallCert
git clone https://github.com/escline/InstallCert
Instalamos Openjdk, para poder compilar.
sudo apt-get install openjdk-8-jdk
• Compilar el fichero.jar
javac Installcert.java
• Lanzamos el fichero java compilado de la siguiente manera:
java InstallCert TUDOMINIO:443
• Nos aparece una pantalla donde aceptamos el certificado
• Copiamos el fichero generado al almacen de certificados de tomcat
•
sudo cp jssecacerts /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
12. FINALIZAR CONFIGURACION
Para finalizar la configuracion necesitamos setear en BBB nuestro dominio en todos los ficheros de configuracion, puesto que cuando se instalo no lo teniamos configurado para ello usamos
sudo bbb-conf --setip
NOMBREDOMINIO Reiniciamos el servicio
sudo bbb-conf --restart
Estaba buscando justo ese manual.
Gracias
gracias querido
como es la parte de certiciado ssl no dejas claro en el manual por favor si puede argumentar mas