= Before You Install = *Note:* The packaging is for *Ubuntu 14.04 64-bit only*. The requirements are * Ubuntu 14.04 64-bit * 4 GB of memory (8 GB is better) * Quad-core 2.6 GHZ CPU (or faster) * Ports 80, 1935, 9123 accessible * Port 80 is *not* used by another application * 500G of free disk space (or more) for recordings * 100 Mbits/sec bandwidth (upstream and downstream) In addition to the above, the locale of the server must be en_US.UTF-8. Furthermore, the contents of `/etc/default/locale` must contain the single line `LANG="en_US.UTF-8"`. You can verify this as below. {{{ $ cat /etc/default/locale LANG="en_US.UTF-8" }}} If you don't see `LANG="en_US.UTF-8"`, then do the following {{{ sudo apt-get install language-pack-en sudo update-locale LANG=en_US.UTF-8 }}} and the logout and log back into your session. After the above, do `cat /etc/default/locale` again and verify you see only the single line `LANG="en_US.UTF-8"`. Note: if you see an additional line `LC_ALL=en_US.UTF-8`, then remove the setting for `LC_ALL` before continuing. Also, check that you are running under 64-bit. {{{ $ uname -m x86_64 }}} You should see `x86_64`. = Installing !BigBlueButton 0.90 = These instructions assume you do not have a previous version of !BigBlueButton installed. == 1. Update your server == The following steps will install 0.9.0. You first need to give your server access to the !BigBlueButton package repository. In a terminal window, copy and paste the following commands. {{{ # Add the BigBlueButton key wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add - *Note:* These steps are draft and will be replacing the 'XXX' with the package URL # Add the BigBlueButton repository URL and ensure the multiverse is enabled echo "deb http://YYY/XXX/ bigbluebutton-trusty main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list }}} {{{ sudo apt-get update sudo apt-get dist-upgrade }}} If you've not updated in a while, apt-get may recommend you reboot your server after `dist-upgrade` finishes. Do the reboot before proceeding to the next step. == 2. Install ffmpeg == == 3. Install !BigBlueButton == We're now ready to install !BigblueButton. Type {{{ sudo apt-get install bigbluebutton }}} This single command is where all the magic happens. This command installs *all* of !BigBlueButton components with their dependencies. The packaging will do all the work for you to install and configure your !BigBlueButton server. If you are behind a HTTP Proxy, you will get an error from the package bbb-record-core. You can resolve this by [#Unable_to_install_gems manually installing the gems]. If you get an error message {{{ ...... Error: FreeSWITCH didn't start }}} you can ignore it as we'll do a clean restart of all the components in step 7. == 4. Install API Demos == To interactively test your !BigBlueButton server, you can install a set of API demos. {{{ sudo apt-get install bbb-demo }}} You'll need the bbb-demo package installed if you want to join the Demo Meeting from your !BigBlueButton server's welcome page. This is the same welcome page you see at [http://dev081.bigbluebutton.org dev081 demo server]. Later on, if you wish to remove the API demos, you can enter the command {{{ sudo apt-get purge bbb-demo }}} == 7. Do a Clean Restart == To ensure !BigBlueButton has started cleanly, enter the following commands: {{{ sudo bbb-conf --clean sudo bbb-conf --check }}} The `--clean` option will clear out all the log files for !BigBlueButton. The `--check` option will grep through the log files looking for errors. The output from `sudo bbb-conf --check` will display your current settings and, after the text, "** Potential problems described below **", print any potential configuration or startup problems it has detected. == Change the !BigBlueButton Server's IP == A common problem is the default install scripts in for !BigBlueButton configure it to list for an IP address, but if you are accessing your server via a DNS hostname, you'll see the 'Welcome to Nginx' message. To change all of !BigBlueButton's configuration files to use a different IP address or hostname, enter {{{ sudo bbb-conf --setip <ip_address_or_hostname> }}} For more information see [BBBConf bbb-conf options]. == Unable to install gems == The install script for bbb-record-core needs to install a number of ruby gems. However, if you are behind a HTTP_PROXY, then the install script for bbb-record-core will likely exit with an error. This occurs because the bash environment for bbb-record-core will not have a value for HTTP_PROXY. You can resolve this by manually installing the gems using the following script. {{{ #!/bin/bash export HTTP_PROXY="<your_http_proxy>" gem install --http-proxy $HTTP_PROXY builder -v 2.1.2 gem install --http-proxy $HTTP_PROXY diff-lcs -v 1.1.2 gem install --http-proxy $HTTP_PROXY json -v 1.4.6 gem install --http-proxy $HTTP_PROXY term-ansicolor -v 1.0.5 gem install --http-proxy $HTTP_PROXY gherkin -v 2.2.9 gem install --http-proxy $HTTP_PROXY cucumber -v 0.9.2 gem install --http-proxy $HTTP_PROXY curb -v 0.7.15 gem install --http-proxy $HTTP_PROXY mime-types -v 1.16 gem install --http-proxy $HTTP_PROXY nokogiri -v 1.4.4 gem install --http-proxy $HTTP_PROXY open4 -v 1.3 gem install --http-proxy $HTTP_PROXY rack -v 1.2.2 gem install --http-proxy $HTTP_PROXY redis -v 2.1.1 gem install --http-proxy $HTTP_PROXY redis-namespace -v 0.10.0 gem install --http-proxy $HTTP_PROXY tilt -v 1.2.2 gem install --http-proxy $HTTP_PROXY sinatra -v 1.2.1 gem install --http-proxy $HTTP_PROXY vegas -v 0.1.8 gem install --http-proxy $HTTP_PROXY resque -v 1.15.0 gem install --http-proxy $HTTP_PROXY rspec-core -v 2.0.0 gem install --http-proxy $HTTP_PROXY rspec-expectations -v 2.0.0 gem install --http-proxy $HTTP_PROXY rspec-mocks -v 2.0.0 gem install --http-proxy $HTTP_PROXY rspec -v 2.0.0 gem install --http-proxy $HTTP_PROXY rubyzip -v 0.9.4 gem install --http-proxy $HTTP_PROXY streamio-ffmpeg -v 0.7.8 gem install --http-proxy $HTTP_PROXY trollop -v 1.16.2 }}} Once all the gems are installed, you need to tell !BigBlueButton install scripts `bbb-record-core` to not try to install the gems anymore. Edit the file `/var/lib/dpkg/info/bbb-record-core.preinst` and comment out the line {{{ # gem install $gem }}} Then run {{{ sudo apt-get install -f }}}