|
InstallingBigBlueButtonFreeBSD
How to Install BigBlueButton on FreeBSD/PC-BSD
IntroductionThis how-to has been tested on FreeBSD and PC-BSD 8.1 and 8.2. It assumes some familiarity with installing software using FreeBSD ports and packages. All commands should be run as the superuser. Method 1: Using the FreeBSD PortThe recommended way to install BigBlueButton on a FreeBSD or PC-BSD system is to compile the FreeBSD port. Additional instructions will be added here once the FreeBSD package and the PC-BSD PBI become available as they will considerably simplify installing BigBlueButton on these systems. Obtain/Update the Ports Tree and Compile the PortIf your system does not currently have the ports tree (i.e. there is nothing in /usr/ports), install the ports tree using these instructions: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html. If your system does have the ports tree but it hasn't been updated in a while, follow the instructions for the heading CVSup Method at that link. Once you have an updated ports tree, open the file /usr/ports/www/tomcat6/Makefile in your favourite editor and edit this line: HTTP_PORT?= 8180 so that it reads: HTTP_PORT?= 8080 Save your change. Next, compile BigBlueButton: cd /usr/ports/www/bigbluebutton make install clean A menu will open with a list of options. The first three determine which asterisk module(s) will be installed: meetme: requires a Zaptel hardware device to provide timing konference: (the default selection) doesn't require any specialized hardware freeswitch: may be a better choice if you will be supporting many simultaneous users If you don't have a preference, the default selection is fine. Otherwise, use your arrow and enter keys to change the selection. The last menu option is whether or not to include OpenOffice support. While OpenOffice is mandatory for the proper functioning of BigBlueButton, it requires much time and disk space to compile. If OpenOffice is already installed, you can leave this unchecked. If it is not installed, consider leaving this option unchecked and instead installing the package from ftp://ooopackages.good-day.net/pub/OpenOffice.org/FreeBSD/. Once you have made your selections, use the tab key to highlight OK and press enter. BigBlueButton will now build on your system. Start BigBlueButtonOnce the installation is complete, a message will be displayed indicating how to start BigBlueButton. If you missed the message or would like to read it again, use the command: pkg_info -Dx bigbluebutton Before starting BigBlueButton, you will need to add the hostname and IP address of the system to /etc/hosts. If you forget to do this, BigBlueButton will load in the client's browser but will fail to connect to a meeting. The hostname and ifconfig commands can be used to get the system's hostname and IP address. Next, add the following lines to /etc/rc.conf: tomcat60_enable="YES" mysql_enable="YES" nginx_enable="YES" asterisk_enable="YES" activemq_enable="YES" openoffice_enable="YES" red5_enable="YES" Next, populate the BigBlueButton database with this command: /usr/local/etc/rc.d/mysql-server start Finally, install and start BigBlueButton: bbb-conf install -h <ip_address> -c <konference|meetme|freeswitch> Replace <ip_address> with the address you input into /etc/hosts and <konference|meetme|freeswitch> with one module type that you selected in the port's configuration menu. You are now ready to start BigBlueButton: bbb-conf start You should now be able to connect to your BigBlueButton server. Input the IP address into a flash-capable web browser and input a name to join a demo meeting. If you wish to stop BigBlueButton, use this command: bbb-conf stop TroubleshootingIf you have any issues with functionality please let me know (http://code.google.com/u/dru.lavigne/). This is a fix for a currently known issue: the latest version of ImageMagick fails to convert uploaded presentations correctly. If you are running a version of ImageMagick higher than 6.6.4.10 (which does work correctly) you can do this: cd /usr/ports/graphics/ImageMagick make deinstall replace the existing distinfo file with this one: http://www.freebsd.org/cgi/cvsweb.cgi/ports/graphics/ImageMagick/distinfo?rev=1.151;content-type=text%2Fplain replace the existing Makefile with this one: http://www.freebsd.org/cgi/cvsweb.cgi/ports/graphics/ImageMagick/Makefile?rev=1.311;content-type=text%2Fplain edit the new Makefile so that this line: USE_AUTOTOOLS= libltdl:22 looks like this: USE_AUTOTOOLS= libltdl Now, build the corrected version: make install clean Method 2: Reinventing the WheelSince the FreeBSD port became available in January, 2011, the remaining instructions can be considered deprecated. They are left here for readers who wish to know what the FreeBSD port is doing or for users who are considering what steps would be required in order to create an OpenBSD port or a NetBSD or DragonFly BSD pkgsrc module. Install Required SoftwareNote that some software may already be installed on your system and you can check first with the pkg_info command. JDK must be installed from ports due to licensing restrictions; follow the port's instructions for manually downloading the required software. Jython must be installed from ports as the package does not expect the diablo JDK. Asterisk must be forced with the -f switch on a PC-BSD system as it conflicts with the already installed libiodbc/virtuoso. cd /usr/ports/java/diablo-jdk16 && make install clean cd /usr/ports/lang/jython && make install clean pkg_add -r mysql55-server pkg_add -r mysql-connector-java pkg_add -r log4j pkg_add -r slf4j pkg_add -r tomcat60 pkg_add -r ImageMagick pkg_add -r swftools pkg_add -r nginx pkg_add -r linux_base pkg_add -rf asterisk pkg_add -r unzip pkg_add -rf activemq Misc Settings#add to /root/.cshrc: setenv RED5_home /usr/local/share/red5/ # add after comment section of /usr/local/etc/rc.d/tomcat6: TOMCAT6_SECURITY=no # make mysql happy # add to /etc/hosts.allow mysqld : ALL : allow # add to /etc/rc.conf: tomcat60_enable="YES" mysql_enable="YES" nginx_enable="YES" asterisk_enable="YES" # tell tomcat to use 8080 instead of default of 8180 # in /usr/local/apache-tomcat-6.0/conf/server.xml Configure Asteriskcd /usr/local/etc/asterisk fetch http://bigbluebutton.org/downloads/0.70/bbb_extensions.conf fetch http://bigbluebutton.org/downloads/0.70/bbb_sip.conf # add these 2 lines to extensions.conf in #include section: #include bbb_extensions.conf #include bbb_sip.conf cd /usr/local/lib/asterisk/modules fetch http://bigbluebutton.org/downloads/0.70/32bit/app_konference.so chmod 755 app_konference.so echo "load => app_konference.so" >> /usr/local/etc/asterisk/modules.conf # edit /usr/local/etc/asterisk/manager.conf, change enabled = no to = yes, and add these lines: ; 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 Configure Webservercd /usr/local/etc/nginx fetch http://bigbluebutton.org/downloads/0.70/nginx-bigbluebutton.conf #edit nginx-bigbluebutton.conf to change the server_name IP, change /var/www/ paths to /usr/local/www/, and correct nginx-dist to nginx-default mkdir sites-available sites-enabled mv nginx-bigbluebutton.conf sites-available/bigbluebutton ln -s /usr/local/etc/nginx/sites-available/bigbluebutton /usr/local/etc/nginx/sites-enabled/bigbluebutton mkdir /var/log/nginx touch /var/log/nginx/bigbluebutton.access.log #replace /usr/local/etc/nginx/nginx.conf with: worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /usr/local/etc/nginx/sites-enabled/*;
}cd /usr/local/www fetch http://bigbluebutton.org/downloads/0.70/packages/bbb-default.tar.gz tar xzvf bbb-default.tar.gz && rm bbb-default.tar.gz mkdir bigbluebutton && cd bigbluebutton fetch http://bigbluebutton.org/downloads/0.70/packages/client.tar.gz tar xzvf client.tar.gz && rm client.tar.gz # edit client/conf/config.xml and edit 192.168. URLs Configure Red5cd /usr/local/share fetch http://bigbluebutton.org/downloads/0.70/red5-0.9.1.tar.gz tar xzvf red5-0.9.1.tar.gz mv red5-0.9.1 red5 && cd red5/webapps fetch http://bigbluebutton.org/downloads/0.70/packages/bigbluebutton-apps.tar.gz tar xzvf bigbluebutton-apps.tar.gz && rm bigbluebutton-apps.tar.gz fetch http://bigbluebutton.org/downloads/0.70/packages/video.tar.gz tar xzvf video.tar.gz && rm video.tar.gz fetch http://bigbluebutton.org/downloads/0.70/packages/sip.tar.gz tar xzvf sip.tar.gz && rm sip.tar.gz chmod +x red5.sh #vipw and add line: red5:*:1935:1935::0:0:Red5 User:/usr/local/share/red5:/sbin/nologin #add lines to /etc/group: red5:*:1935 cd /usr/local/share/red5/log touch deskshare.log sip.log video.log Configure Tomcatcd /usr/local/apache-tomcat-6.0/webapps fetch http://bigbluebutton.org/downloads/0.70/packages/bigbluebutton.war mkdir bigbluebutton && cd bigbluebutton unzip ../bigbluebutton.war #edit IP in bigbluebutton/WEB-INF/classes/bigbluebutton.properties # edit IP in /usr/local/apache-tomcat-6.0/webapps/bigbluebutton /demo/bbb_api_conf.jsp mkdir /usr/local/etc/bigbluebutton Various BBB Configuration# create /usr/local/etc/bigbluebutton/nopdfmark.ps with: %!
/pdfmark {cleartomark} bind defmkdir /var/log/bigbluebutton touch /var/log/bigbluebutton/bbb-web.log chmod 777 /var/log/bigbluebutton/bbb-web.log mkdir -p /var/bigbluebutton/blank fetch http://bigbluebutton.org/downloads/0.64/blank/blank-slide.swf fetch http://bigbluebutton.org/downloads/0.64/blank/blank-thumb.png Create Database/usr/local/etc/rc.d/mysql-server start mysql -u root mysql> create database bigbluebutton_dev; mysql > grant all on bigbluebutton_dev.* to 'bbb'@'localhost' identified by 'secret'; mysql> commit; mysql> quit Start Services/usr/local/etc/rc.d/asterisk start /usr/local/etc/rc.d/nginx start /usr/local/etc/rc.d/tomcat6 start /usr/local/lib/activemq/bin/activemq & cd /usr/local/share/red5/&& ./red5.sh & TestingUse your browser to go to localhost. You should see a BBB page and be able to successfully Join a session. If necessary, open these ports in firewall: 80 (nginx); 8080 (tomcat); 8088, 5080, 1935 (red5); 5080 (deskshare); 8161, 61616 (activemq) | |