BigBlueButton is an open-source web conferencing system designed for online learning and collaboration. It offers features like real-time video, audio, chat, screen sharing, polls, breakout rooms, and session recordings. With the rise of remote education and virtual meetings, BigBlueButton has become a popular choice for schools, universities, and businesses.
At Go4hosting, we support clients who want to deploy BigBlueButton on our cloud infrastructure or dedicated servers. In this knowledgebase article, we will guide you through the step-by-step process of installing BigBlueButton on Ubuntu-one of the most commonly used Linux distributions for hosting this platform.
Prerequisites
Before you start, ensure you have the following:
Supported Ubuntu Version
Hardware Requirements
For a basic installation:
CPU: 8 cores (modern Intel/AMD processor)
RAM: 16 GB minimum
Storage: 500 GB SSD (recording requires fast disk I/O)
Network: 1 Gbps network interface with public IP
Note: The more users you want to support, the higher your hardware requirements.
Domain Name
SSL Certificate
Clean Ubuntu Installation
1. Update Your System
First, connect to your server using SSH and update all packages:
bash
CopyEdit
sudo apt update && sudo apt upgrade -y
sudo apt install -y software-properties-common
2. Configure Hostname and Domain
Set your server's hostname to match your domain:
bash
CopyEdit
sudo hostnamectl set-hostname bbb.example.com
Edit /etc/hosts and add the following line (replace IP and domain accordingly):
bash
CopyEdit
YOUR_SERVER_PUBLIC_IP bbb.example.com
3. Install BigBlueButton Repository Key
Add BigBlueButton's GPG key and repository:
bash
CopyEdit
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
echo "deb https://ubuntu.bigbluebutton.org/bionic-250/ bbb-release main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
Update your package list:
bash
CopyEdit
sudo apt update
4. Install BigBlueButton
Now install BigBlueButton:
bash
CopyEdit
sudo apt install -y bigbluebutton
The installer will set up:
BigBlueButton server components (FreeSWITCH, Kurento, Nginx, Tomcat)
Greenlight (optional front-end)
Redis
PostgreSQL
Coturn (for WebRTC NAT traversal)
5. Set Up Firewall (Optional but Recommended)
Configure ufw firewall to allow necessary ports:
bash
CopyEdit
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 3478/udp # TURN (Coturn)
sudo ufw allow 16384:32768/udp # WebRTC media ports
sudo ufw enable
sudo ufw status
6. Install SSL Certificate
BigBlueButton uses Let's Encrypt to install SSL certificates via the bbb-install script.
Install required tools:
bash
CopyEdit
sudo apt install -y python3-certbot-nginx
Run Certbot to generate SSL certificate:
bash
CopyEdit
sudo certbot --nginx -d bbb.example.com
Test automatic renewal:
bash
CopyEdit
sudo certbot renew --dry-run
7. Configure BigBlueButton
BigBlueButton uses a helpful installation script to automate configuration.
Download the bbb-install script:
bash
CopyEdit
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | sed -e 's/^exit 1/#exit 1/' > bbb-install.sh
chmod +x bbb-install.sh
Run the installer with your domain and SSL enabled:
bash
CopyEdit
sudo ./bbb-install.sh -v bionic-250 -s bbb.example.com -e [email protected]
This will:
Note: Replace [email protected] with your real email address (used for SSL certificate renewal notices).
8. Test BigBlueButton Installation
Once the installation is complete, test your BigBlueButton server.
You can access the default demo page:
plaintext
CopyEdit
https://bbb.example.com
You should see the BigBlueButton Demo landing page where you can create and join test meetings.
9. (Optional) Install Greenlight Front-End
Greenlight is a web-based front-end for BigBlueButton that allows users to:
Create and manage rooms
Invite participants
Record sessions
Install Docker (required for Greenlight):
bash
CopyEdit
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
Clone the Greenlight GitHub repository:
bash
CopyEdit
git clone https://github.com/bigbluebutton/greenlight.git
cd greenlight
Set up environment variables:
bash
CopyEdit
cp .env.example .env
nano .env
Edit BIGBLUEBUTTON_ENDPOINT and BIGBLUEBUTTON_SECRET (you can find these using bbb-conf --secret).
Start Greenlight:
bash
CopyEdit
docker-compose up -d
You can now access Greenlight at:
plaintext
CopyEdit
https://bbb.example.com
Create an admin account to start managing rooms and users.
10. Useful BigBlueButton Commands
Here are some helpful commands for managing your BigBlueButton server:
Check server status
bash
CopyEdit
sudo bbb-conf --check
Show secret and API URL
bash
CopyEdit
sudo bbb-conf --secret
Restart BigBlueButton services
bash
CopyEdit
sudo systemctl restart bbb-html5
sudo systemctl restart bigbluebutton
sudo systemctl restart freeswitch
sudo systemctl restart nginx
11. Maintenance Tips
Update regularly: Keep BigBlueButton and your Ubuntu system updated for security and stability.
Monitor performance: Use tools like htop, iftop, and bbb-exporter for Prometheus to monitor usage.
Backup: Regularly back up your recordings and PostgreSQL database.
Secure server: Use strong SSH keys, disable root login, and keep your firewall active.
Conclusion
BigBlueButton is a powerful solution for web conferencing and online learning, and running it on Ubuntu server ensures excellent performance and flexibility. By following the steps in this guide, you can successfully deploy BigBlueButton on your own server.
At Go4hosting, we offer BigBlueButton-optimized cloud servers and dedicated servers to deliver maximum performance, scalability, and uptime. We can help you:
Pre-install BigBlueButton on a fully managed cloud or dedicated server.
Optimize server configurations for large-scale online classes and events.
Provide 24*7 support and monitoring.
If you're looking for a reliable cloud platform to host your BigBlueButton instance, contact Go4hosting today and let us help you get started.