This is an old revision of the document!
Follow the instruction given here (http://code.google.com/p/bigbluebutton/wiki/InstallingBigBlueButton). The installation steps are given for ubuntu OS. If you are not using a VM then skip the networking part ( ie. Check if you have a internet connection section in the document). Please set up a dev environment and also verify the configuration changes as per the instructions below so that the BBB server is completely set up and ready.
After you are done with the installation, please make sure the following configuration changes are made so that voice conference creates no issues. - https://wiki.exphosted.com/doku.php/installing_bigbluebutton#bbb_configuration_changes
Note - When download the red5-0.9.1.taz.gz, make sure that it is from the URL specified in the instuctions. This is a bigger file than standard red5-0.9.1 and this is needed for BBB setup.
Please look at the following links for BBB 0.9 installation steps on ubuntu machine:
https://github.com/ehomework/bigbluebutton-fork/wiki/How-to-install-BigBlueButton-0.9.0-beta
https://www.unixmen.com/install-bigbluebutton-web-conferencing-system-ubuntu/
Please look at - http://code.google.com/p/bigbluebutton/wiki/08SettingDevEnvironment for the instructions to setup the dev environment of bbb0.8. One point to note is that the setup steps and commands are explained here considering that you are setting up the bbb as a user 'firstuser' on the VM. Edit the bbb-conf file and replace 'firstuser' with your username on the VM.
Note - To change all of BigBlueButton's configuration files to use a different IP address or hostname, use
sudo bbb-conf --setip <ip_address_or_hostname>
Also, These commands can be used while configuring - http://code.google.com/p/bigbluebutton/wiki/BBBConf
The following instructions hold good for bbb 0.71 Check Out the Source Code
Type the following command to checkout BigBlueButton from our github repository. (ensure that you have git installed )
bbb-conf --checkout
This will checkout into /home/<username>/dev/source/bigbluebutton directory
Install Flexsdk
wget http://fpdownload.adobe.com/pub/flex/sdk/builds/flex3/flex_sdk_3.4.0.9271.zip mkdir -p /opt/flexsdk mv flex_sdk_3.4.0.9271.zip /opt/flexsdk/. unzip flex_sdk_3.4.0.9271.zip rm -rf flex_sdk_3.4.0.9271.zip
create a new environment variable FLEX_HOME and point to /opt/flexsdk directory. Also append /opt/flexsdk/bin to PATH
on ubuntu this can be done by editing /etc/environment. Open the /etc/environment file and change the PATH to include /opt/flexsdk/bin Add a new line with FLEX_HOME=“/opt/flexsdk”
Make sure that the current user has read permission on /opt/flexsdk and /tmp/Adobe directories.
To setup a development environment for bbb-client, enter the following command
bbb-conf --setup-dev client
This will setup some directories and modify nginx config to use your development client.
Everything is now setup to compile bbb-client.
To compile the client:
cd ~/dev/source/bigbluebutton/bigbluebutton-client ant
To apply our branding:
ant branding -DthemeFile=live_event.css
if ant is not available on the system then
apt-get install ant
The compilation might take some time. In case you get 'Error: PermGen space' then
export ANT_OPTS=-XX:MaxPermSize=512m
and recompile.
Once the compilation is over. Open a browser and point to http://ip-address-or-hostname and join a meeting.
Debugging Tips
1. Make sure that the client config file (/bigbluebutton/bigbluebutton-client/src/config/conf.xml) has the IP address on the local VM.
If it is not then change and recompile the client.
2. If you get a 404 error on launching client then, make sure that the application is pointing to the correct directory in /etc/nginx/sites-enabled/bigbluebutton file. ie /home/<username>/dev/source/bigbluebutton/bigbluebutton-client directory.
1. Voice conference related configuration (both BBB - 0.71 && 0.8)
In BigBlueButton 0.7, Asterisk was configured to use any 5-digit conference number. However, for BigBlueButton 0.71, FreeSWITCH is configured to use any 5-digit number that begins with 7 (i.e. 7XXXX).
To configure FreeSWITCH to accept any n-digit conference number, in /opt/freeswitch/conf/dialplan/public.xml change
<extension name="bbb_conferences">
<condition field="destination_number" expression="^(7\d{4})$">
<action application="answer"/>
<action application="conference" data="$1@wideband"/>
<!-- <action application="conference" data="$1@wideband"/> -->
</condition>
</extension>
to
<extension name="bbb_conferences">
<condition field="destination_number" expression="^(\d{n})$">
<action application="answer"/>
<action application="conference" data="$1@wideband"/>
<!-- <action application="conference" data="$1@wideband"/> -->
</condition>
</extension>
and then restart FreeSWITCH.
sudo /etc/init.d/freeswitch restart
Disabling the music which is not required -
For FreeSWITCH, comment out the following entries in the wideband profile in /opt/freeswitch/conf/autoload_configs/conference.conf.xml
<!--<param name="alone-sound" value="conference/conf-alone.wav"/>
<param name="moh-sound" value="$${hold_music}"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/> -->
For more info - http://wiki.freeswitch.org/wiki/Mod_conference. If you are using Asterisk - http://www.voip-info.org/wiki/view/Asterisk+cmd+MeetMe
Now , restart bbb
sudo bbb-conf --restart
2. Mount Recordings directory of BBB on crossbow machine
Please mount the /var/bigbluebutton/recording/publish/slides directory of BBB server on to the machine which runs crossbow and add this in the bigbluebutton.yml file as “recording_dir” entry. Please create 'slides' directory if does not exist already. The crossbow app should be able to copy files from here. (read access is needed to this directory).
Open Issue
When we join the voice conference, we could hear others but with a lot of echoing and discrepancy. A little search in the BBB FAQs said that “This may happen when some one using a laptop joins the voice conf without head set.”, but nothing like that was observed. The echoing is there on the demo meeting of BBB too. So, it might be fixed in future releases.
3. BBB client configuration
The bbb client can be configured by changing the settings in the config.xml of client. We can change the branding of the client, help url link and also load only the modules required for us.
The changes are made as per out need and are present at - (https://repos.exphosted.com/svnrepos/collaboration/bbb/trunk/)
Find the instructions to setup the dev environment of your bbb version here - http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB
Replace the /dev/source/bigbluebutton/bigbluebutton-client directory with this to see our customized client. Recompile the client.
The crossbow app communicates with BBB through the API exposed by BBB. The communication happens via the plugin 'bigbluebutton'.
The configuration settings are present in rails_app/config/bigbluebutton.yml
please run “sudo bbb-conf –salt” on the machine with BBB. You would find two entries URL and Salt.
base_url: http://192.168.7.10 (The URL of the BBB server without '/bigbluebutton' or the proxy url) checksum: e0389bc9ee779cc970415bcd7802053b (Salt value) dialin_number: 613-555-1234 (this is optional to have. Should be the dialin number configured on bbb. Can be ignored for now.) recording_dir: /deploy/crossbow/shared/bbb_recordings (location to which BBB machine's "/var/bigbluebutton/recording/publish/slides" is mounted to)
Note: Please make sure “/var/bigbluebutton/recording/publish/slides” directory of BBB server is mounted on the machine where crossbow app is running and that location is mentioned in the above bigbluebutton.yml file. (Please create 'slides' directory if does not exist already.) The process running the crossbow server should have a read access to this directory.
Please find the instructions on how to setup an IDE and remotely access the code - http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB
We can use flash builder for development. One key point to note is 0.71 version of BBB client uses flexsdk version 3.5
To configure flash builder 4.5 to use flexsdk version 3.5