===== Setup and Deploy Expertus Meeting 0.81 for Expertus One ===== ==== Setup BBB and Client ==== 1. Setup BBB 0.81 - http://code.google.com/p/bigbluebutton/wiki/InstallationUbuntu#Installing_BigBlueButton_0.81 2. Setup BBB 0.81 development environment - http://code.google.com/p/bigbluebutton/wiki/Developing#Setup_a_Development_Environment 3. Setup BBB 0.81 client development environment - http://code.google.com/p/bigbluebutton/wiki/Developing#Client_Development Verify that the BBB app launches fine with the client loading from development directory. 4. Changes to the config files - sudo vi /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties defaultWelcomeMessage= //(just leave it empty) defaultWelcomeMessageFooter= //(just leave it empty) defaultClientUrl=${bigbluebutton.web.serverURL}/client/Meeting.html beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/DefaultMockPresentationXYZ.pdf //Create empty mock presentation cd /var/www/bigbluebutton-default/ sudo touch DefaultMockPresentationXYZ.pdf //Remove the favicon sudo rm /var/www/bigbluebutton-default/favicon.ico //Nginx config file. sudo vi /etc/bigbluebutton/nginx/client_dev //change location /client/BigBlueButton.html { -> location /client/Meeting.html { 5. Checkout client from meeting client repository (https://repos.exphosted.com/svnrepos/meeting/client/) and place it at /dev/bigbluebutton/bigbluebutton-client (**Note -** Checkout the latest tag or the tag you are intended to.) 6. Client config changes - Change config.xml file ( /dev/bigbluebutton/bigbluebutton-client src/conf/config.xml) //Replace the ip (For instance - 192.168.2.240) 192.168.2.240 with this machine’s hostname(Ex- qacollab01.expertusone.com). sed -i -e s/192.168.2.240/qacollab01.expertusone.com/g bigbluebutton-client/src/conf/config.xml //Replace the ip 192.168.7.52:3000 with this machine’s hostname sed -i -e s/192.168.7.52:3000/qa01.expertusone.com/g bigbluebutton-client/src/conf/config.xml //Change headerLogoRelativePath in layout tag sed -i -e s/headerLogoRelativePath=\"\"/headerLogoRelativePath='"meeting\/logo.png"'/g bigbluebutton-client/src/conf/config.xml //Change allowInvite to fasle in UsersModule tag sed -i -e s/allowInvite=\"true\"/allowInvite='"false"'/g bigbluebutton-client/src/conf/config.xml 6. Make sure flasplayer 11.2 swc is present (https://wiki.exphosted.com/doku.php/bigbluebutton_integration#compiling_client_with_flash_player_11_112) 7. Compile client and restart bbb cd /dev/bigbluebutton/bigbluebutton-client ant ant locales sudo bbb-conf --restart Compilation will take time, usually about 10 mins but it may vary. In case you get 'Error: PermGen space' then export ANT_OPTS=-XX:MaxPermSize=512m and recompile. **Note -** Steps 5-7 will be taken care by deploy script once the initial setup is done. - Sample deploy script - {{:deploybbbclient.zip|}} 8. Test the application once. If everything is fine change the nginx configuration to make sure there will be no redirections to this home page. vi /etc/nginx/sites-available/bigbluebutton #replace location / entry with this. for Ex - say qa.expertusone.com is the intended Expertus One site which hits this. location / { rewrite ^ http://qa.expertusone.com permanent; proxy_pass http://qa.expertusone.com; proxy_redirect default; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ \DefaultMockPresentationXYZ.pdf { root /var/www/bigbluebutton-default; index index.html index.htm; } 9. Now configure the expertus one app to hit this expertus meeting server and test. 10. **Testing Meeting logo - ** Make sure that the Logo of meeting is same as Expertus one app logo. ==== Deploy Script changes ==== === BBB client === >> Deploy script will be shared over the email when the server is ready. 1) Change all constant values as needed. Replace the URLs and variable values in sed commands. This is machine specific. 2) Make a directory as bbb user. mkdir -p ~/dev/srctrunk 3) Test the script and use if for deployments. ==== Meeting Logo ==== Meeting logo works like below. Code changes are already made. Say abcd.expertusone.com site is using meeting server. During meeting creation api call logoutURL is passed as something like "http://abcd.expertusone.com/my_learning/xyxyxy". [^] Now meeting server looks for the logo to be present at http://abcd.expertusone.com/meeting/logo.png. [^] Place the required logo in the server which servers abcd.expertusone.com and make sure it is available at URL http://abcd.expertusone.com/meeting/logo.png. ==== API Changes ==== Please find the 0.81 BBB API calls here - http://code.google.com/p/bigbluebutton/wiki/081API#API_Calls There are no major changes in the API calls which can effect from 0.8 beta2 to 0.81 as long as pre file upload and recording features are not used. So, Expertus One does not need to upgrade their API unless any issues are seen with testing. ==== Maintenance Tips ==== bbb-conf command needs to be understood and used for maintaining the server. Ref- http://code.google.com/p/bigbluebutton/wiki/BBBConf