Редакция 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