Installing BBB on Debian Lenny from source - partial success

180 views
Skip to first unread message

Yigal A

unread,
Mar 23, 2010, 2:33:09 PM3/23/10
to BigBlueButton-dev
Hello,

Following are my instructions for installing from source on Debian
stable (Lenny).
Good news: BBB is running!
Bad news: there are a few problems. I hope you can help me to solve
those.

The instructions are mostly based on installation instructions for
Ubuntu (from source), but there are no packages for tomcat6 and
swftools in Lenny, so we need to install them from source as well.
There are also other minor changes.


*********************
Problems not resolved yet:

on installation:

1. oflaDemo isn't running
2. chkconfig openoffice failed

on running:

3. Uploading .pdf failed:
Error: Failed to determine the number of pages in the uploaded
document.
4. Just noise in voice chat
*********************

*********************
Not installed by purpose:
Video Module
DeskShare Module
*********************

*************
INSTALL MYSQL
*************

apt-get install mysql-server

**************
INSTALL TOMCAT
**************

(based on http://www.ctrip.ufl.edu/tomcat6-debian-lenny-howto)

Install java

apt-get install sun-java6-jdk sun-java6-jre libtcnative-1

Ensure installed

java -version

Set JAVA_HOME

vi ~/.bashrc

Add the following at the end of the file:

export JAVA_HOME=/usr/lib/jvm/java-6-sun

Download Tomcat 6

cd /tmp
wget http://mirror.mirimar.net/apache/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz

Unzip package and move to permanent location

tar -zxvf apache-tomcat-6.0.26.tar.gz
mv apache-tomcat-6.0.20/ /usr/local/tomcat

Create tomcat Group/user

groupadd tomcat
useradd -g tomcat -d /usr/local/tomcat tomcat
usermod -G www-data tomcat

Create the INIT File for Tomcat

vi /etc/init.d/tomcat

Add the following text and save:

# Tomcat auto-start
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0

Adjust permissions

chmod 755 /etc/init.d/tomcat

Add for auto-start on boot

update-rc.d tomcat defaults

Restart tomcat

/etc/init.d/tomcat restart

Test tomcat

http://<Your IP>:8080


****************
INSTALL SWFTOOLS
****************

(see also: http://wiki.swftools.org/index.php/FAQ)

Install checkinstall for making deb package of swftools

apt-get install checkinstall

Install required packages

apt-get libfreetype6-dev libjpeg62-dev libgif-dev

Download swftools

wget http://www.swftools.org/swftools-0.9.0.tar.gz

Configure and install (defaults answers on checkinstall's questions
are ok)

tar -zvxf swftools-0.x.x.tar
cd swftools-0.x.x
./configure
make
checkinstall make install

(you will have to be root for the last step)

*******************
INSTALL IMAGEMAGICK
*******************

apt-get install imagemagick

*************
INSTALL NGINX
*************

apt-get install nginx

****************
INSTALL ACTIVEMQ
****************

Install required package:

apt-get install jsvc

Install activemq:

cd /tmp
wget http://apache.mirror.rafal.ca:8080/activemq/apache-activemq/5.3.0/apache-activemq-5.3.0-bin.tar.gz
tar -zxvf apache-activemq-5.2.0-bin.tar.gz
mv /tmp/apache-activemq-5.2.0 /usr/share/activemq
chown -R root:root /usr/share/activemq

************
INSTALL RED5
************

cd /tmp
wget http://bigbluebutton.org/downloads/0.63/fedora-install/red5-0.8.tar.gz
tar zxvf red5-0.8.tar.gz
mv /tmp/red5-0.8 /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
chown -R red5:adm /usr/share/red5/work
chmod 755 /usr/share/red5/work
chgrp red5 /usr/share/red5/webapps
chmod 775 /usr/share/red5/webapps

Auto-start ActiveMQ and Red5 on reboot

cd /tmp/
wget http://bigbluebutton.googlecode.com/files/red5-ubuntu
wget http://bigbluebutton.googlecode.com/files/activemq-ubuntu
cd /etc/init.d/
cp /tmp/activemq-ubuntu ./activemq
cp /tmp/red5-ubuntu ./red5
chmod +x red5
chmod +x activemq

apt-get -y install chkconfig
chkconfig red5 on
chkconfig activemq on

Run red5

./red5 start

**************************************
INSTALL OFLADEMO TO TEST IF RED5 WORKS
**************************************

From your browser, visit

http://<IP>:5080/

Click on "Click here to install demos" and then choose oflaDemo java
6.

Once the demo has been installed, visit

http://<IP>:5080/demos/ofla_demo.html

Edit rtmp://< IP >/oflaDemo and click connect

You would see a list of available videos. Select one to play.

Here I had a problem:

(159) Connections: true | true
(12653) connected?: true
(12678) NetConnection.onStatus:
description = No scope "oflaDemo" on this server.
code = NetConnection.Connect.Rejected
level = error

(12679) NetConnection.onStatus:
level = status
code = NetConnection.Connect.Closed

I didn't plan to use video module anyway...

****************
INSTALL ASTERISK
****************

apt-get -y install asterisk

Modify Extensions

wget http://bigbluebutton.org/downloads/0.63/bbb_extensions.conf
mv bbb_extensions.conf /etc/asterisk/
echo "#include \"bbb_extensions.conf\"" >> /etc/asterisk/
extensions.conf

Create SIP accounts

wget http://bigbluebutton.org/downloads/0.63/bbb_sip.conf
mv bbb_sip.conf /etc/asterisk/bbb_sip.conf
echo "#include \"bbb_sip.conf\"" >> /etc/asterisk/sip.conf

Please take a peek at asterisk-sip.conf to see what it does.

Install AppKonference

wget http://bigbluebutton.org/downloads/0.63/ubuntu-install/app_konference.so
mv app_konference.so /usr/lib/asterisk/modules/
chmod 755 /usr/lib/asterisk/modules/app_konference.so
# set autoload module BigBlueButton conference
echo "load => app_konference.so" >> /etc/asterisk/modules.conf

******************
CREATE AMI ACCOUNT
******************

Set enabled to yes in manager.conf

cat /etc/asterisk/manager.conf | sed 's/^enabled = no/enabled
= yes/' > /tmp/manager.conf
mv -f /tmp/manager.conf /etc/asterisk/

Add account to manager.conf

echo "
; BigBlueButton: Enable Red5 to connect
[bbb]
secret = secret
permit = 0.0.0.0/0.0.0.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
" >> /etc/asterisk/manager.d/bigbluebutton.conf

echo "#include \"manager.d/*.conf\"" >> /etc/asterisk/
manager.conf

***************
CONFIGURE NGINX
***************

Be sure to replace < YOUR-IP > with your IP or domain.

wget http://bigbluebutton.org/downloads/0.63/nginx-bigbluebutton.conf
cat nginx-bigbluebutton.conf | sed "s/192.168.0.136/<YOUR-
IP>/" > /etc/nginx/sites-available/bigbluebutton
rm nginx-bigbluebutton.conf

*************************************
ENABLE THE BIGBLUEBUTTON NGINX CONFIG
*************************************

ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/
sites-enabled/bigbluebutton


******************
INSTALL OPENOFFICE
******************

apt-get install openoffice.org

******************************************
CONFIGURE OPENOFFICE TO START AS A SERVICE FAILED!!!
******************************************

cd /etc/init.d
wget http://www.bigbluebutton.org/downloads/0.63/ubuntu-install/bbb-openoffice-headless

start the openoffice server

chmod +x /etc/init.d/bbb-openoffice-headless
chkconfig --add bbb-openoffice-headless

FAILED:
insserv: warning: script 'Ko1tomcat' missing LSB tags and
overrides
insserv: script bbb-openoffice-headless: service red5 already
provided!
insserv: exiting now!
/sbin/insserv failed, exit code 1

chkconfig bbb-openoffice-headless on

Failed as previous

service bbb-openoffice-headless start

**********************
DOWNLOAD BIGBLUEBUTTON
**********************

cd /tmp
wget http://bigbluebutton.org/downloads/0.63/packages/bbb-default.tar.gz
wget http://bigbluebutton.org/downloads/0.63/packages/bigbluebutton.war
wget http://bigbluebutton.org/downloads/0.63/packages/video.tar.gz
wget http://bigbluebutton.org/downloads/0.63/packages/bigbluebutton-apps.tar.gz
wget http://bigbluebutton.org/downloads/0.63/packages/client.tar.gz
wget http://bigbluebutton.org/downloads/0.63/packages/sip.tar.gz
wget http://www.bigbluebutton.org/sites/all/releases/latest-release/deskshare.tar.gz

*************************************
DISABLE SECURITY SETTINGS FOR TOMCAT6
*************************************

vi /etc/init.d/tomcat6

Update/add the following line:

TOMCAT6_SECURITY=no

******************
SETUP THE DATABASE
******************

mysql -u root -p

On the mysql> prompt, type

create database bigbluebutton_dev;
grant all on bigbluebutton_dev.* to 'bbb'@'localhost'
identified by 'secret';
commit;
quit

***************
INSTALL BBB-WEB
***************

cd /usr/local/tomcat/webapps
cp /tmp/bigbluebutton.war ./bigbluebutton.war

***************
GENERATE A GUID
***************

For security, you need to generate a GUID. You can use an online GUID
generator, such as http://www.somacon.com/p113.php. Keep this GUID
handy as we will need it shortly.

**********************************************
DETERMINE PDF2SWF, CONVERT AND GS APPLICATIONS
**********************************************

Make a note of where pdf2swf is installed

which pdf2swf

You should see something like

/usr/local/bin/pdf2swf

Make a note of where the convert application is installed

which convert

You shoud see something like

/usr/bin/convert

Note where GhostScript is installed

which gs

You shoud see something like.

/usr/bin/gs

***********************
EDIT BBB-WEB PROPERTIES
***********************

vi /usr/local/tomcat/webapps/bigbluebutton/WEB-INF/classes/
bigbluebutton.properties

Change the following:

* 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 be equal
to the guid we just generated (i.e.
beans.dynamicConferenceService.securitySalt=< YOUR-GUID >)

*****************************
CREATE NOPDFMARKWORKAROUND.PS
*****************************

Create /etc/bigbluebutton/nopdfmark.ps with the following content:

%!
/pdfmark {cleartomark} bind def

***************
RESTART TOMCAT6
***************

/etc/init.d/tomcat6 restart

*************************************
Check if database tables were created
*************************************

mysql -u root -p

Enter password:

mysql> use bigbluebutton_dev;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------------------+
| Tables_in_bigbluebutton_dev |
+-----------------------------+
| account |
| account_conference |
| account_user |
| conference |
| permission |
| role |
| role_permission_rel |
| scheduled_session |
| user |
| user_permission_rel |
| user_role_rel |
| voice_conference_bridge |
+-----------------------------+
12 rows in set (0.00 sec)

mysql> select * from user;
+----+---------+---------------------+-----------
+---------------------+------------------------------------------
+----------------+
| id | version | date_created | full_name |
last_updated | password_hash |
username |
+----+---------+---------------------+-----------
+---------------------+------------------------------------------
+----------------+
| 1 | 0 | 2009-06-29 09:51:17 | Admin | 2009-06-29
09:51:17 | d033e22ae348aeb5660fc2140aec35850c4da997 | ad...@test.com |
+----+---------+---------------------+-----------
+---------------------+------------------------------------------
+----------------+
1 row in set (0.02 sec)

mysql> quit

****************************************
CREATE THE PRESENTATION UPLOAD DIRECTORY
****************************************

mkdir /var/bigbluebutton
chown -R tomcat:adm /var/bigbluebutton
chmod -R 777 /var/bigbluebutton

****************
INSTALL BBB-APPS
****************

cd /usr/share/red5/webapps
cp /tmp/bigbluebutton-apps.tar.gz ./

tar zxvf bigbluebutton-apps.tar.gz
mv webapps/bigbluebutton ./
rm -rf bigbluebutton-apps.tar.gz webapps/

************************
EDIT BBB-APPS PROPERTIES
************************

vi /usr/share/red5/webapps/bigbluebutton/WEB-INF/
bigbluebutton.properties

Your properties file should look like this.

# Location for recordings
recordingsDirectory=/var/bigbluebutton

# These properties are for Asterisk Management Interface (AMI)
ami.host=127.0.0.1
ami.port=5038
ami.username=bbb
ami.password=secret

# The conference application to use. Valid values[meetme,
konference]
asterisk.application=konference
version=0.63


******************************
SKIPPED:

Install bbb-deskshare-app

cd /usr/share/red5/webapps
cp /tmp/deskshare.tar.gz ./
tar zxvf deskshare.tar.gz
rm deskshare.tar.gz

Install bbb-video-app

cd /usr/share/red5/webapps
cp /tmp/video.tar.gz ./
tar zxvf video.tar.gz
rm video.tar.gz
*******************************

*********************
Install bbb-voice-app
*********************

cd /usr/share/red5/webapps
cp /tmp/sip.tar.gz ./
tar zxvf sip.tar.gz
rm sip.tar.gz

Edit properties

vi /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-
sip.properties

Your properties file should look like this.

# The address of your asterisk server
sip.server.host=127.0.0.1

# The start/stop SIP ports that the application is going
# to use to connect to the asterisk server
startSIPPort=6070
stopSIPPort=6099

# The start/stop RTP port the application is going to use
# for the media stream.
startRTPPort=3000
stopRTPPort=3029

# An extension pattern, in case your asterisk extensions.conf
# uses a naming convetion for your meeting rooms
# e.g. conf-85115 instead of just 85115
callExtensionPattern={0}

# If you want mjsip stack (red5/log/*access*.log) to minimize the
amount of logs it
# generates, set this to a lower value (e.g. 3).
sipStackDebugLevel=3

*******************
INSTALL BBB-DEFAULT
*******************

cd /var/www
cp /tmp/bbb-default.tar.gz ./
tar zxvf bbb-default.tar.gz
mv web bigbluebutton-default
rm bbb-default.tar.gz

Now we need to create 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
******************

cd /var/www
mkdir bigbluebutton
cd bigbluebutton
cp /tmp/client.tar.gz ./
tar zxvf client.tar.gz
rm client.tar.gz

******************
EDIT CLIENT CONFIG
******************

vi /var/www/bigbluebutton/client/conf/config.xml

Change the uri to your IP address (in vi):

:1,$s/192.168.0.159/< YOUR-IP >/g

Your config.xml should look something like (I removed Video Module and
DeskShare Module from this):

<?xml version="1.0" ?>
<config>
<version>0.4</version>
<porttest host="192.168.0.120" application="video"/>
<modules>

<module name="VideoModule" url="VideoModule.swf"
uri="rtmp://192.168.0.120/video"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>
<module name="ChatModule" url="ChatModule.swf"
uri="rtmp://192.168.0.120/bigbluebutton"
loadNextModule="PresentationModule"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>
<module name="ViewersModule" url="ViewersModule.swf"
uri="rtmp://192.168.0.120/bigbluebutton"
host="http://192.168.0.120/bigbluebutton/
conference-session/enter"
onAppInitEvent="LOAD"
loadNextModule="ChatModule"
onAppStartEvent="START"
onUserLogoutEvent="STOP"
/>
<module name="ListenersModule"
url="ListenersModule.swf"
uri="rtmp://192.168.0.120/bigbluebutton"
recordingHost="http://192.168.0.120"
loadNextModule="DeskShareModule"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>
<module name="PresentationModule"
url="PresentationModule.swf"
uri="rtmp://192.168.0.120/bigbluebutton"
host="http://192.168.0.120"
loadNextModule="ListenersModule"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>

<module name="DeskShareModule"
url="DeskShareModule.swf"
uri="rtmp://192.168.0.120/deskShare"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
loadNextModule="PhoneModule"
/>

<module name="PhoneModule" url="PhoneModule.swf"
uri="rtmp://192.168.0.120/sip"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
loadNextModule="VideoModule"
/>
</modules>
</config>

***************************
SKIPPED:

Installing Desktop Sharing
***************************

***********************
Finish the installation
***********************

create directory for log files

mkdir /var/log/bigbluebutton

create an empty log file

touch /var/log/bigbluebutton/bbb-web.log
chmod 777 /var/log/bigbluebutton/bbb-web.log

restart servers

service activemq restart
service asterisk restart
service red5 restart
service tomcat6 restart
/etc/init.d/nginx restart

*********************
TRY OUT BIGBLUEBUTTON
*********************

Go to http://<YOUR-IP> which should display the bbb web page and
join the conference!

*******************************************************************************
END
*******************************************************************************

Please help with the problems mentioned in the beginning..

RazaMetaL | Only The Good Die Young

unread,
Mar 23, 2010, 4:12:32 PM3/23/10
to bigblueb...@googlegroups.com
On Tue, Mar 23, 2010 at 1:33 PM, Yigal A <yigal...@gmail.com> wrote:
> Hello,
>
> Following are my instructions for installing from source on Debian
> stable (Lenny).
> Good news: BBB is running!
> Bad news: there are a few problems. I hope you can help me to solve
> those.
>

I've installed on my debian lenny box with tomcat 5.5 and works very fine.

It is possible to edit or add pages to the bbb wiki?

Regards,

--
Linux User: 255902

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Fred Dixon

unread,
Mar 23, 2010, 6:25:48 PM3/23/10
to BigBlueButton-dev
Hi Yagil,

Thanks for taking the time to share this information. We're focused
at the moment on getting 0.64 released, so we don't have much
bandwidth at the moment. There's lots of test, packaging,
documentation, and more testing before each release.

We'll circle back and take a closer look once 0.64 is released.

Regards,... Fred

On Mar 23, 4:12 pm, "RazaMetaL | Only The Good Die Young"
<razame...@gmail.com> wrote:

Reply all
Reply to author
Forward
0 new messages