参考官网(两服务器建议分开装,由于端口原因)
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,然后测试看看,爽歪歪!