The installation is not for the faint of heart, since it involves
downloading and compiling software. While detailed steps are provided,
problems might still crop up on your installation, and you will need to
track them down (e.g., modify files, change permissions, install libraries).
The installation takes approximately 3 hours here on a 3GHz dual core
Xeon 5670 and a fast Internet connection. A large portion of the time is
spent downloading software.
It would be helpful if someone would test these steps and report their
results in this thread. If these steps work, they can be added to the
website.
--
Russell Mosemann
# Install BigBlueButton 0.71 on Debian Lenny
# It is assumed that you are starting with a minimal Lenny install.
# References to the "vi" editor can be changed to your favorite
# editor, such as "nano".
# Set basic permissions
umask 022
# Edit /etc/apt/sources.list and add the testing branch.
# Use ftp: or http: below, as needed for your network.
deb ftp://ftp.us.debian.org/debian/ testing main
deb-src ftp://ftp.us.debian.org/debian/ testing main
deb http://security.debian.org/ testing/updates main
deb-src http://security.debian.org/ testing/updates main
# Create /etc/apt/preferences with the following lines
# to give higher priority to packages in the stable release
# and lower priority to the testing branch.
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 50
# Update and Upgrade your distribution
apt-get update
apt-get upgrade
# If necessary, install a build environment to compile software.
apt-get install build-essential
# Install MySQL
# When prompted, enter a secure password for the MySQL root account
# and keep it handy.
apt-get install mysql-server
# Install Tomcat
# Tomcat6 is currently part of the testing distribution.
apt-get -t testing install tomcat6
# Test that Tomcat is running with
http://<YOUR-IP>:8080/
# Once starting down the testing path, you might see the following
# message when installing other software.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
<pkg name>: Depends: <another pkg> but it is not going to be installed
E: Broken packages
# The reason for the error is that one or more of the packages being
# installed relies on something from the testing distribution, but
# the stable distribution has priority. To resolve this issue, specify
# the testing distribution for that install. Not all packages need to
# be installed from testing, though.
apt-get -t testing install <package name>
# Install libraries for swftools
apt-get install zlib1g zlib1g-dev libjpeg8 libjpeg8-dev \
libfreetype6 libfreetype6-dev libungif4g libungif4-dev
# Work from a temporary directory, if desired
mkdir /tmp/bbb
cd /tmp/bbb
# Install swftools
# Download, compile and install swftools from www.swftools.org
wget http://www.swftools.org/swftools-0.9.1.tar.gz
tar xzvf swftools-0.9.1.tar.gz
cd swftools-0.9.1
/configure
make
make install
# Test the install with
pdf2swf -V
cd /tmp/bbb
# Install ImageMagick
apt-get install imagemagick
# Install nginx
apt-get install nginx
# Install ActiveMQ
wget
http://apache.mirror.rafal.ca/activemq/apache-activemq/5.4.1/apache-activemq-5.4.1-bin.tar.gz
tar zxvf apache-activemq-5.4.1-bin.tar.gz
mv apache-activemq-5.4.1 /usr/share/activemq
chown -R root:root /usr/share/activemq
# ActiveMQ depends on Jsvc
apt-get install jsvc
# Install red5 for BigBlueButton
wget http://bigbluebutton.org/downloads/0.70/red5-0.9.1.tar.gz
tar xvf red5-0.9.1.tar.gz
mv red5-0.9.1 /usr/share/red5
# Create red5 user
adduser --system --home /usr/share/red5 --no-create-home \
--group --disabled-password --shell /bin/false red5
# Assign proper permissions
chown -R root:root /usr/share/red5
chown -R red5:adm /usr/share/red5/log
chmod 755 /usr/share/red5/log
chgrp red5 /usr/share/red5/webapps
chmod 775 /usr/share/red5/webapps
# Autostart ActiveMQ and Red5 on reboot
wget http://bigbluebutton.org/downloads/0.71/init-scripts.tar.gz
tar xzvf init-scripts.tar.gz
mv activemq /etc/init.d/activemq
mv red5 /etc/init.d/red5
chmod a+x /etc/init.d/activemq
chmod a+x /etc/init.d/red5
update-rc.d activemq defaults
update-rc.d red5 defaults
# Modify the red5 script to export RED5_HOME.
# This should really be updated in the original file.
sed -i 's/UMASK=002/UMASK=002\n\nexport RED5_HOME/' /etc/init.d/red5
# Install packages for building FreeSWITCH
apt-get install autoconf libtool libncurses5 libncurses5-dev pkg-config
# Install FreeSWITCH
wget http://files.freeswitch.org/freeswitch-snapshot.tar.gz
tar -xzvf freeswitch-snapshot.tar.gz
cd freeswitch-snapshot
/bootstrap.sh
/configure --prefix=/opt/freeswitch
make all install sounds-install moh-install
cp debian/freeswitch.init /etc/init.d/freeswitch
chmod a+x /etc/init.d/freeswitch
update-rc.d freeswitch defaults
# Set run-time defaults
echo "FREESWITCH_ENABLED=\"true\"" > /etc/default/freeswitch
echo "FREESWITCH_PARAMS=\"-nc\"" >> /etc/default/freeswitch
# Create FreeSWITCH user
adduser --system --home /opt/freeswitch --no-create-home \
--group --disabled-password --shell /bin/false freeswitch
cd /tmp/bbb
# Configure FreeSWITCH
wget http://bigbluebutton.org/downloads/0.71/freeswitch-config.tar.gz
cd /opt/freeswitch/
tar xzvf /tmp/bbb/freeswitch-config.tar.gz
chown -R freeswitch:daemon db log recordings run
chmod -R 755 db log recordings run
# Start FreeSWITCH
/etc/init.d/freeswitch start
cd /tmp/bbb
# Configure nginx to use your IP address
wget http://bigbluebutton.org/downloads/0.70/nginx-bigbluebutton.conf
cat nginx-bigbluebutton.conf | \
sed "s/192.168.0.211/<YOUR-IP>/" > /etc/nginx/sites-available/bigbluebutton
# Enable the bigbluebutton nginx config
ln -s /etc/nginx/sites-available/bigbluebutton \
/etc/nginx/sites-enabled/bigbluebutton
# Specify hash bucket size for nginx
sed -i 's/http {/http {\n server_names_hash_bucket_size 64;/' \
/etc/nginx/nginx.conf
# Install OpenOffice
apt-get install openoffice.org
# Configure OpenOffice to start as a service
cd /tmp/bbb
wget http://www.bigbluebutton.org/downloads/0.71/bbb-openoffice-headless
cp bbb-openoffice-headless /etc/init.d
# Start the OpenOffice.org server
chmod a+x /etc/init.d/bbb-openoffice-headless
update-rc.d bbb-openoffice-headless defaults
/etc/init.d/bbb-openoffice-headless start
# Download BigBlueButton
cd /tmp/bbb
wget http://bigbluebutton.org/downloads/0.71/bigbluebutton.tar.gz
tar xzvf bigbluebutton.tar.gz
# Setup the database
mysql -u root -p
# This is an important step. If you skip this, BigBlueButton will
# not work at all. Just hit "Enter" when prompted for a password
# if you didn't enter one. Otherwise, use the root password you
# added earlier.
# At the mysql> prompt, enter the following commands.
create database bigbluebutton_dev;
grant all on bigbluebutton_dev.* to 'bbb'@'localhost' identified by 'secret';
flush privileges;
quit;
# Install bbb-web
cp bigbluebutton.war /var/lib/tomcat6/webapps/bigbluebutton.war
# Determine PDF2SWF, CONVERT and GS applications
# Note where pdf2swf is installed, e.g., /usr/local/bin/pdf2swf
which pdf2swf
# Note where convert is installed, e.g., /usr/bin/convert
which convert
# Note where GhostScript is installed, e.g., /usr/bin/gs
which gs
# Generate a GUID
# For security, you need to generate a GUID. You can use an online GUID
# generator, such as the one at http://www.somacon.com/p113.php. Keep
# this GUID handy as we will need it shortly. You will need to generate
# a HEX encoded string and copy it without the leading 0x.
# Edit bbb-web properties
vi
/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
# Change the following items (note "directory" vs "executeble").
* swfToolsDir to the directory where pdf2swf is located
* imageMagickDir to the directory where convert is located
* ghostScriptExec to point to the gs executable
* change bigbluebutton.web.serverURL=http://<YOUR-IP>
* set beans.dynamicConferenceService.securitySalt to the guid just generated
(i.e. beans.dynamicConferenceService.securitySalt=<YOUR-GUID>)
# Create noPdfMarkWorkaround.ps
mkdir /etc/bigbluebutton
# Create /etc/bigbluebutton/nopdfmark.ps with the following two lines
%!
/pdfmark {cleartomark} bind def
# Restart Tomcat6
/etc/init.d/tomcat6 restart
# Creat the Presentation Upload directory
mkdir /var/bigbluebutton
chown -R tomcat6:adm /var/bigbluebutton
chmod -R 777 /var/bigbluebutton
# Install bbb-apps
cd /tmp/bbb
tar xzvf bigbluebutton-webapps.tar.gz
mv bigbluebutton /usr/share/red5/webapps/
# Install bbb-deskshare-app
tar xzvf deskshare.tar.gz
mv deskshare /usr/share/red5/webapps/
# Install bbb-video-app
tar xzvf video.tar.gz
mv video /usr/share/red5/webapps/
# Install bbb-voice-app
tar xzvf sip.tar.gz
mv sip /usr/share/red5/webapps/
# Edit the configuration file to point to your SIP server (i.e.,
# FreeSWITCH). This document assumes that this is the current
# server, but it can be any server configured for BigBlueButton
# voice-over-IP (VoIP) traffic.
# Set sip.server.host to the IP address of the SIP server.
vi /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
# Install bbb-default
tar xzvf bbb-default.tar.gz
mv bigbluebutton-default /var/www
# Now, create (or edit) bbb_api_conf.jsp, which will hold our GUID and
# the !BigBlueButtonURL. Be sure to replace <YOUR-GUID> and <YOUR-IP>
# with the GUID we generated earlier and your IP, respectively.
echo "<%!
// This is the security salt that must match the value set
// in the BigBlueButton server
String salt = \"<YOUR-GUID>\";
// This is the URL for the BigBlueButton server
String BigBlueButtonURL = \"http://<YOUR-IP>/bigbluebutton/\";
%>" > /var/lib/tomcat6/webapps/bigbluebutton/demo/bbb_api_conf.jsp
# Install bbb-client
tar xzvf client.tar.gz
mv client /var/www/bigbluebutton
# Change client config references from 192.168.0.x to your IP address.
sed -i 's/192.168.0.[0-9]*/<YOUR-IP>/g' \
/var/www/bigbluebutton/client/conf/config.xml
# Install bbb-conf
# The utility bbb-conf is a shell script to help you configure
# your BigBlueButton setup. To install bbb-conf, do the following.
wget
http://github.com/bigbluebutton/bigbluebutton/raw/master/bigbluebutton-config/bin/bbb-conf
sed -i 's/conf.dist/conf/g' bbb-conf
mv bbb-conf /usr/local/bin
chmod a+x /usr/local/bin/bbb-conf
# You should now be able to check your installation.
# Ignore the message about the bbb-freeswitch-config package
# not being installed.
bbb-conf -c
# Finish the installation
# create directory for log files
mkdir /var/log/bigbluebutton
# create an empty log file
touch /var/log/bigbluebutton/bbb-web.log
chown tomcat6:tomcat6 /var/log/bigbluebutton/bbb-web.log
# restart server
cd /etc/init.d
/nginx restart
/activemq restart
/freeswitch restart
/red5 restart
/tomcat6 restart
# You should now be able to test BigBlueButton
http://<YOUR-IP>
________________________________________________________
Concordia University, Nebraska
See http://www.cune.edu/ for the latest news and events!
Thank You! Would you be interested in taking it a step further and
updating the existing Debian instructions at
http://code.google.com/p/bigbluebutton/wiki/InstallationBigBlueButtonDebian
if we gave you access to the wiki site? If so, just e-mail me
directly and I'll add you as a contributor to the project (with only
permissions to update wiki pages).
Thanks again for sharing this with everyone. Much appreciated.
Regards,... Fred
> --
> You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
> To post to this group, send email to bigbluebu...@googlegroups.com.
> To unsubscribe from this group, send email to bigbluebutton-s...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/bigbluebutton-setup?hl=en.
>
>