参考官网(两服务器建议分开装,由于端口原因)
bbb    http://docs.bigbluebutton.org/1.0/10install.html
mconf    https://github.com/mconf/mconf-web/wiki/Deployment

简单bbb性能测试 http://www.tuicool.com/articles/Nz2U7vN

bbb 1.0人家的安装步骤 http://www.cnblogs.com/toughlife/p/5513929.html


一、bbb的安装
1、安装前的准备

服务器建议为物理服务器,至于为什么看看freeswitch就知道了,当然实测就虚拟机玩玩也行,bbb1.0适用于ubuntu 14.04 64-bit server,4GB内存带swap 8GB以上最好,2.6GHzCPU,tcp端口:80、1935、9123,udp端口16384-32768(NAT会用到的),保持畅通,且80端口不能用作其他的应用,500GB硬盘(录像可能会用到那么多一般测试自己看情况50GB一般也行了),带宽内网100MB


2、检查系统语言

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

如果不是就安装吧

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


3、检查操作系统必须为64、14.04的Ubuntu

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


4、升级服务器
使用国内14.04的源建议163的,升级完重启下!

apt-get update
apt-get dist-upgrade


5、安装ppa的libreoffice4.4(这样有的office才能打开)

apt-get install software-properties-common
add-apt-repository ppa:libreoffice/libreoffice-4-4
add-apt-repository -y ppa:ondrej/php


6、安装bbb的key

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


增加bbb的源

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


更新

apt-get update


7、安装ffmpeg编×××
官方让编辑个脚本把下面的copy进去执行,但是我执行的时候有问题,故还是自己一条条执行放心

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


脚本执行完 ,看下版本

ffmpeg -version


8、安装BBB(这里只针对1.0)
这是可选择性安装的

apt-get install bigbluebutton

,要1G左右慢慢等吧,但是建议不要使用ssh工具,而是在物理机或者esxi client机器上通过tty进去,否则他会有个license许可让你同意,在ssh客户端中就没法选择。。。所以你懂的,这里害我还重装了一次,悲催
如果出现Error:Freeswitch didn't start,按照下面12步骤去做个bbb的清理


9、安装api demos(做测试的绝佳工具:二次开发、端口映射NAT、临时演示等)

apt-get install bbb-demo

安装完可以这样看能否用了,如果以后要生产用得删掉

apt-get purge bbb-demo


10、安装客户端自检工具bbb-check
这个可选择性安装的

apt-get install bbb-check

不想用了purge,可以检测客户端浏览器比如为什么不能用可以看出很多问题
当然服务器上bbb-conf --check也可以看出很多问题


11、打开webrtc的支持
可选择性的:

bbb-conf --enablewebrtc


12、做一个干净的重启

bbb-conf --clean#清除所有bbb的日志
bbb-conf --check#查看当前系统状态
bbb-conf --restart#重启bbb服务器
bbb-conf --secret#显示密钥用于对接mconf-web


二、mconf-web、mobile的安装部署
1、准备工作
提示也是只能装在ubuntu 14.04操作系统,还得创建好用户mconf(useradd mconf,全程root用户安装)

apt-get install curl make git-core libruby aspell-es aspell-en \
    libxml2-dev libxslt1-dev libmagickcore-dev libmagickwand-dev \
    p_w_picpathmagick libmysqlclient-dev zlib1g-dev build-essential nfs-common \
    libreadline-dev libffi-dev libcurl4-openssl-dev mysql-server \
    redis-server openjdk-7-jre libapache2-mod-xsendfile


提示mysql密码别忘了
   
2、ruby2.2.0的安装,这里用rbenv安装

# Install rbenv
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
# install ruby build
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
# install ruby
$ rbenv install 2.2.0#(老慢了耐住性子等。。。)
$ rbenv rehash
# set this version of ruby as the default and check it is correct
$ rbenv global 2.2.0
$ rbenv version> 2.2.0 (set by /home/mconf/.rbenv/version)
# install bundler$ gem install bundler -v '1.7.2'#记住安装淘宝的ruby源,否则巨慢无比$ rbenv rehash

3、下载mconf

$ sudo mkdir -p /var/www/mconf-web/current
$ sudo chown mconf:www-data /var/www/mconf-web/current 

# www-data is for Apache
$ git clone git://github.com/mconf/mconf-web.git /var/www/mconf-web/current
$ cd /var/www/mconf-web/current$ git checkout v2.0.0

#通过这个命令下载依赖包

$ bundle install --path vendor/bundle --without=development test


4、修改配置文件

$ cp /var/www/mconf-web/current/config/setup_conf.yml.example /var/www/mconf-web/current/config/setup_conf.yml
$ cp /var/www/mconf-web/current/config/database.yml.example /var/www/mconf-web/current/config/database.yml

database.yml配置所有环境的用户名和密码,建议使用mconf用户,下面有介绍。

setup_conf.yml这里有个超级用户admin和密码admin,其实除了这个其他啥都不用管。

$ sudo chmod 0600 /var/www/mconf-web/current/config/setup_conf.yml
$ sudo chmod 0600 /var/www/mconf-web/current/config/database.yml


5、新建数据库用户

$ mysql -u root -p
CREATE DATABASE mconf_production;
CREATE USER "mconf"@"localhost" IDENTIFIED BY "mconf";
GRANT ALL PRIVILEGES ON mconf_production.* TO "mconf"@"localhost";
FLUSH PRIVILEGES;


不同环境各自新建啊test\pro\...忘了


6、给程序生成新的密钥

$ cd /var/www/mconf-web/current
$ RAILS_ENV=production bundle exec rake db:drop db:create db:reset
# This command will change the secret keys used by the application for cookies and
# passwords. It's really important that you do it, otherwise your application will
# use the default values (that are public!) and will be vulnerable.
$ RAILS_ENV=production bundle exec rake secret:reset
$ bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile


7、web服务器

首先先安装apache2

apt-get install apache2

否则各种错误。。。

安装apache2.4的passenger的模块

$ gem install passenger -v 4.0.59
$ rbenv rehash
$ passenger-install-apache2-module#基本都是默认即可

在apache中启用该模块

$ passenger-install-apache2-module --snippet | sudo tee /etc/apache2/conf-available/mconf-passenger.conf
$ sudo a2enconf mconf-passenger


8、apache配置

添加一些模块并移除默认的站点

$ sudo a2enmod rewrite
$ sudo a2enmod xsendfile
$ sudo rm /etc/apache2/sites-enabled/*  # be careful if you have something installed already!

#从网上下载mconf-web的配置,记得修改host、公共目录/var/www/mconf-web/current/public,LimitRequestBody这个参数别忘了是可以限定文件上传大小的,当然设置了还得去mconf后台设置下

$ sudo wget https://raw.github.com/mconf/mconf-web/v2.0.0/config/webserver/apache2.example -O /etc/apache2/sites-available/mconf-web.conf
$ sudo a2ensite mconf-web
$ sudo service apache2 restart

9、关于mconf-mobile

android通过google play安装mconf-mobile客户端,如果谁×××都下不下来,可以试试chrome的apk downloader下载神器,完了通过浏览器打开mconf的地址登陆,打开会议,系统会提示你用mconf-mobile打开,当然有的浏览器不行,换个就完事儿!


10、关于汉化

本人已经上传汉化版(虽然不是100%,但起码普通用户的界面达到90%了)到官网了,https://www.transifex.com/mconf/mconf-web

 

三、端口映射(NAT)

1、bbb-conf --setip xxx.net.cn,可以通过这种方式设置bbb的主机头,前提得按照bbb文档的端口映射好(注意ROS路由器的话出口方向也要设置为同一个IP),且域名解析好

2、到第二部可以用了,不过作为最新的webrtc技术会报1007 ICE协商失败的错误,查了N多资料都不知道咋整的,最后终于结合以前freeswitch的知识再配合目前bbb,解决办法如下:

a.修改/etc/bigbluebutton/nginx/sip.nginx中proxy_pass为公网IP或者域名

b.修改(先备份)/opt/freeswitch/conf/sip_profiles/external.xml和internal.xml中ext-rtp-ip、ext-sip-ip为公网IP

c.bbb-conf --clean,然后测试看看,爽歪歪!