[Discussion] [Issues] [Changelog]
- About bbbadmin
- Description
- Synopsis
- Options
- PHP files
- Configuration files
- Configuration
- Prerequisites
- Releases
- Create debian packages
- Installation Scripts
- Installation Admin Frontend
- Admin access security with .htpasswd
- Allow popup windows for bbbadmin
- Installation User Frontend
- User access security with .htpasswd
- Workaround for hostings without apache_setenv()
- Workaround curl timeout url not reached
- Language support
- Styling with bootstrap.css
- User URL for joining meeting
- Change page style
- Screenshots
- Todo
- Create webpage for administrators to manage BigBlueButton servers via the BBB PHP API
- Create webpage for users only to join BigBlueButton server
- Manage all running meetings on the server
- Manage all recordings on the server
- Provide central user join page for meetings
- Send invitation email to users
- Use JSON as configuration file
- Create your own debian packages
- Create your own language files
- Detect client browser language or set default to "en"
- Final release, now it's on you to make issues or participate on discussion
- List running meeting
- List recordings
- Create meetings
- Join meeting
- Stop meeting
- Show meeting information
- Show recordings
- Delete recordings
Filename | Description |
---|---|
bbb_admin.json | Configuration file for application |
index.php | Index page for application |
bbb_config.php | Load configuration |
bbb_load.php | Loading needed addons and additional scripts |
bbb_create.php | Create meeting on server |
bbb_join.php | Join meeting on server |
bbb_info.php | Display meeting informations |
bbb_record.php | Show recordings on server |
bbb_delrec.php | Delete recordings on server |
bbb_send.php | Send invitation mail to user |
bbb_stop.php | Stop meeting on server |
bbb_user.php | Join user to meeting |
-
Configuration file bbb_admin.json
-
Email template file bbb_admin.tmpl
-
Folder protection file .htaccess
-
Access password file [.htpasswd]
- Edit file bbb_admin.json
{
"debug": "1",
"refresh": "30",
"language": "en",
"email": "[email protected]",
"invite": "https://room.domain.com",
"copyright": "© 2021 unattended.ch",
"server": {
"1": "room1.domain.com",
"2": "room2.domain.com"
},
"logout": {
"1": "https://room1.domain.com",
"2": "https://room2.domain.com"
},
"logos": {
"1": "https://room1.domain.com/favicon.ico",
"2": "https://room2.domain.com/favicon.ico"
},
"access": {
"1": "ModeratorPasswordDefault" ,
"2": "AttendeePasswordDefault"
},
"rooms": {
"1": { "name": "Bastelraum © 2021 unattended.ch", "id": "Bastelraum" , "acc": "Password", "msg": "Monday 20:00 - 22:00" },
"2": { "name": "Startraum © 2021 unattended.ch", "id": "Startraum" , "acc": "Password", "msg": "" }
}
}
Parameter | Description |
---|---|
debug | 0=Off 1=On |
refresh | Screen refresh in secords for main and recording page |
language | en=English, de=German, fr=French other languages are wanted |
Admin email for sending invitation links | |
invite | URL to users join page for invitations |
copyright | Copyright |
"server":
Parameter | Description |
---|---|
unique id | Unique number for server |
name | Name of server (only descriptive) |
"logout":
Parameter | Description |
---|---|
unique id | Unique number for logout URL |
name | Logout URL for meeting (default invitation url &exit=1) |
"logos":
Parameter | Description |
---|---|
unique id | Unique number for Logo |
name | Logo URL for meetings |
"access":
Parameter | Description |
---|---|
1 | Moderator password default |
2 | Attendee password default if no room password was specified |
"rooms":
Parameter | Description |
---|---|
unique id | Unique number for room |
name | Room name fully descriptive for BigBlueButton |
id | Room ID for BigBlueButton |
acc | Room password for BigBlueButton |
-
Change ["language": "en",] in bbb_admin.json to your language shortcode
en=English de=German fr=French
-
See res/locale/ for .PO translation files and translation scripts
-
See locale/ for translated .PHP files
-
Use bootstrap.css for styling of bbb_user.php
-
Create your own bbbadmin.deb and bbb_users.deb for delivery
-
Use bbb_build.sh for package creation
-
Admin Frontend installation script bbbadmin_install.sh
-
User Frontend installation script bbbuser_install.sh
-
Or you can use our debian packages in releases
-
Install PHP modules php-curl php-mbstring php-xml
sudo apt install php-curl php-mbstring php-xml php-intl -y
-
Clone bbbadmin to your home folder
git clone https://github.com/unattended-ch/bbbadmin ~/bbbadmin
-
Clone the BBB PHP API to your home folder
git clone https://github.com/bigbluebutton/bigbluebutton-api-php ~/bigbluebutton-api-php
-
Copy BBB contents of folder src/ to /opt/yourpage
sudo rsync -avr ~/bigbluebutton-api-php/src/* /opt/yourpage/
-
Copy bbbadmin *.php, .css and icons/.ico files to /opt/yourpage
sudo rsync --exclude="res/*" -avr ~/bbbadmin/* /opt/yourpage/
-
Create a symbolic link to the apache root folder
sudo ln -s /opt/yourpage /var/www/html/
-
Set owner of yourpage to www-data
sudo chown -R www-data.www-data /opt/yourpage
-
For configuration you can use bbb_admin.json
- You must specify BBB_* Apache environment variables for every server in apache configuration
SetEnv BBB_SECRET1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SetEnv BBB_SERVER1_BASE_URL https://server1.domain.com/bigbluebutton/ SetEnv BBB_SECRET2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SetEnv BBB_SERVER2_BASE_URL https://server2.domain.com/bigbluebutton/
- You must specify BBB_* Apache environment variables for every server in apache configuration
-
Enable access security over .htpasswd file as a basic protection 8.1 Add th following to the default apache configuration
<Directory "/var/www/html/yourpage"> AllowOverride All Options SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all </Directory>
8.2 Copy .htacces file to your webpage
sudo cp -v ~/bbbadmin/res/.htaccess /opt/youpage/
8.3 Edit the path of password file in .htaccess, always use document root of apache
sudo mcedit /opt/yourpage/.htaccess AuthUserFile "/var/www/html/yourpage/.htpasswd"
8.4 Add user to .htpasswd
sudo htpasswd -c /opt/youpage/.htpasswd [username]
8.5 Restart apache server
sudo systemctl restart apache2
-
Firefox allow bbbadmin for popup windows to join meeting in new window
- Enable popup windows for bbbadmin (see popupblocker)
- Clone bbbadmin to your home folder
git clone https://github.com/unattended-ch/bbbadmin ~/bbbadmin
- Clone the BBB PHP API to your home folder
git clone https://github.com/bigbluebutton/bigbluebutton-api-php ~/bigbluebutton-api-php
- Copy BBB contents of folder src/ to /opt/youruserpage
sudo rsync -avr ~/bigbluebutton-api-php/src/* /opt/youruserpage/
- Copy bbbadmin *.php, .css and icons/.ico files to /opt/youruserpage
sudo rsync --exclude="res/*" -avr ~/bbbadmin/* /opt/youruserpage/ sudo mv -v /opt/youruserpage/bbb_user.php /opt/youruserpage/index.php
- Remove not needed files
sudo rm -f /opt/youruserpage/index.php sudo rm -f /opt/youruserpage/bbb_create.php sudo rm -f /opt/youruserpage/bbb_delrec.php sudo rm -f /opt/youruserpage/bbb_info.php sudo rm -f /opt/youruserpage/bbb_join.php sudo rm -f /opt/youruserpage/bbb_record.php sudo rm -f /opt/youruserpage/bbb_stop.php
- Create a symbolic link to the apache root folder
sudo ln -s /opt/yourpage /var/www/html/
- Set owner of your user page to www-data
sudo chown -R www-data.www-data /opt/youruserpage
- For configuration you must edit bbb_admin.json
- Remove all sub sections except "server": from bbb_admin.json
- And you MUST specify BBB_* Apache environment variables for every server
SetEnv BBB_SECRET1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SetEnv BBB_SERVER1_BASE_URL https://server1.domain.com/bigbluebutton/ SetEnv BBB_SECRET2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SetEnv BBB_SERVER2_BASE_URL https://server2.domain.com/bigbluebutton/
9. Servers with no apache_setenv() and apache_getenv() support edit bbb_admin.json
- Edit section "bbb":
- User can now join the meeting with the following parameters (sid and mID is needed the rest is optional) :
https://server.domain.com/bbbuser/?sid=X&mID=XXXXXXXXXXXXXXXXXX[&usr=Username][&join=1]
https://server.domain.com?sid=X&mID=XXXXXXXXXXXXXXXXXX[&usr=Username][&join=1]
- If the meeting is running the mask for username will be displayed
- If not, nothing will be diplayed
If you get a lot curl errrors, change the following lines in [BigBlueButton.php]
$data = curl_exec($ch);
Replace with
$retry = 3;
$attempts = 0;
do {
try
{
$data = curl_exec($ch);
}
catch (Exception $e)
{
$attempts++;
continue;
}
}
while(($data === false) && ($attempts < $retry));
-
index.php goto TOC
-
- bbb_create.php goto TOC
- bbb_join.php goto TOC
- bbb_info.php goto TOC
- bbb_stop.php goto TOC
- bbb_invite.php goto TOC
- bbb_send.php goto TOC
- bbb_send.php goto TOC
- bbb_user.php goto TOC
- Enjoy
- Display 1st page of presentation as background on users join page (would be nice...and i am willing)
- Create download location for .MP4 meeting recording files in BBB (a lot of scripts...but i need help)
- Create cron srcipt to start meeting in timely fashion for a specific time period (we need this really ?)
- You can take part of discussion
- Or you can send us issue reports