Редакция 1.0 (2016-11-14)

Здравствуйте. Мы рады, что вы выбрали нашу облачную компанию для реализации ваших идей. Сегодня мы будем устанавливать свободный и бесплатный сервер видеоконференций под названием BigBlueButton стабильной первой версии. Почему именно его? Хотя он довольно требователен к ресурсам компьютера, он построен на открытый решениях, которые сами по себе хороши и отточены большими командами разработчиков. Это Nginx, FreeSwitch, LibreOffice, ffmpeg и т. д.

Хотя на сайте разработчиков указаны требования к серверу, мы закажем в MAXIPLACE сервер средней мощности. В любой момент мы можем дозаказать услуги, будь то процессорное время, оперативная память или увеличить дисковое пространство. Мы это можем!

С чего начнём? Как всегда с выбора сервера под наши задачи. Рассмотрим несколько вариантов. Первый — конференция между двумя, тремя участниками. Минимальная конфигурация. Второй — конференция между отделами между 10-25 участниками. Сервер помощнее. Большой диск, 4 процессора, память. Третий вариант как раз описан на сайте разработчика этого решения — выделенный сервер и широкий канал. Тут потребуется нечто больше, чем виртуальный сервер, но он выдержит нагрузку до 200-250 участников.

Тариф

Процессоров

(vCPU)

Память

(Mb)

Место

(GB)

Комментарий

Low

1

1024

20

2-3 учстника, сервер только «на попробовать», потом имеет смысл увеличить параметры сервера

Normal

4

4096

150

10-25 участников. Обычный сервер.

Hight

8

16384

2048

Облачный сервер в такой конфигурации будет стоить недёшево, поэтомк стоит расмотреть вариант с физическим сервером в аренду

Как всегда когда мы получаем новый сервер выполняем полное обновление системы.

# apt-get update

# apt-get upgrade

Перезагружаемся на всякий случай.

# reboot

Убеждаемся, на всякий случай, что у нас именно та версия операционной системы, которая необходима.

# cat /etc/lsb-release | grep LTS

DISTRIB_DESCRIPTION=»Ubuntu 14.04.5 LTS»

Устанавлваем PPA для OpenOffice, который должен показывать нам презентации и доску для рисований.

# apt-get install software-properties-common

# add-apt-repository ppa:libreoffice/libreoffice-4-4

# add-apt-repository -y ppa:ondrej/php

Должно быть показано следующее. Нажать ENTER и продолжить.

More info: https://launchpad.net/~libreoffice/+archive/ubuntu/libreoffice-4-4

Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpil5rgy5p/secring.gpg’ created

gpg: keyring `/tmp/tmpil5rgy5p/pubring.gpg’ created

gpg: requesting key 1378B444 from hkp server keyserver.ubuntu.com

gpg: /tmp/tmpil5rgy5p/trustdb.gpg: trustdb created

gpg: key 1378B444: public key «Launchpad PPA for LibreOffice Packaging» imported

gpg: no ultimately trusted keys found

gpg: Total number processed: 1

gpg: imported: 1 (RSA: 1)

OK

Добавляем GPG-ключ репозитория BigBlueButton.

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

Добавляем сам репозиторий

# echo «deb http://ubuntu.bigbluebutton.org/trusty-1-0/ bigbluebutton-trusty main» | sudo tee /etc/apt/sources.list.d/bigbluebutton.list

Скачиваем список пакетов.

# apt-get update

# apt-get dist-upgrade

Готовимся к сборке из исходников пакета FFMPEG, ставим компилятор и необходимые пакеты.

# 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

Создаём скрипт для сборки

# vi install-ffmpeg.sh

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

Делаем скрипт исполняемым и запускаем. Можно пойти и приготовить что-нибудь вкусное к кофе. Напечь пирожков, например. На слабых серверах с небольшим количеством роцессоров и памяти это и вправду может занять весьма продолжительное время.

# chmod +x install-ffmpeg.sh

# ./install-ffmpeg.sh

Проверяем версию FFMPEG.

# ffmpeg -version

ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers

built on Dec 14 2016 03:23:35 with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

configuration: —enable-version3 —enable-postproc —enable-libvorbis —enable-libvpx

libavutil 52. 92.100 / 52. 92.100

libavcodec 55. 69.100 / 55. 69.100

libavformat 55. 48.100 / 55. 48.100

libavdevice 55. 13.102 / 55. 13.102

libavfilter 4. 11.100 / 4. 11.100

libswscale 2. 6.100 / 2. 6.100

libswresample 0. 19.100 / 0. 19.100

Устанавливаем BigBlueButton. В процессе установки будет предложено прочитать и принять лицензионное согласешение. Прочитайте и примите. =) И опять это займёт продолжительное время, пирожки, которые вы испекли во время установки FFMPEG сейчас можно съесть.

# apt-get install bigbluebutton

Если нам нужно сделать так, чтобы на сервер видеоконференций могли заходить все только указав своё имя, то устанавливаем пакет bbb-demo.

# apt-get install bbb-demo

Ставим ещё. И ещё.

# apt-get install bbb-check

# bbb-conf —enablewebrtc

WebRTC audio enabled. To apply settings to your server, do

sudo bbb-conf —clean

# sudo bbb-conf —clean

Проверяем нашу установку.

# bbb-conf —check

BigBlueButton Server 1.0.0 (1061)

Kernel version: 3.13.0-24-generic

Distribution: Ubuntu 14.04.5 LTS (64-bit)

Memory: 2102 MB

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)

Port test (tunnel): 31.148.96.82

Red5: 31.148.96.82

useWebrtcIfAvailable: true

/opt/freeswitch/conf/sip_profiles/external.xml (FreeSWITCH)

websocket port: 5066

WebRTC enabled: true

/etc/nginx/sites-available/bigbluebutton (nginx)

server name: 31.148.96.82

port: 80

bbb-client dir: /var/www/bigbluebutton

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

bbb-web host: 31.148.96.82

/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp (API demos)

url: 31.148.96.82

/var/www/bigbluebutton/check/conf/config.xml (client check)

client check: 31.148.96.82

/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: 31.148.96.82

И завершающая команда.

# bbb-conf —setip <HOSTNAME-OR-IP-ADDRESS>

Теперь можно зайти на наш сервер через веб-браузер в поддержкой WebRTC (или Adobe Flash) и начать видеоконференцию.

Mozilla Firefox → http://<HOSTNAME-OR-IP-ADDRESS>

 

 

Аркадий Петровский

специально для Maxiplace

https://avpetrovskiy.ru