BigBlueButton thường được viết tắt là BBB một mã nguồn mở chạy trên web phục vụ cho hội nghị trực tuyến, dạy học online (hay lớp học online) và các dịch vụ trực tuyến khác.
BBB hỗ trợ chia sẽ audio, video, presentation, chat, và thậm chí là màn hình desktop thời gian thực, giúp việc thao tác được hỗ trợ đầy đủ nhất có thể.
xây dựng lớp học online
Hướng dẫn dưới đây sẽ giúp các bạn có thể dựng một server BBB
MỤC LỤC
- Yêu cầu cài đặt
- Chuẩn bị OS
- Cài đặt BBB
- Cài đặt Greenlight themes
- Đăng kí tài khoản và truy cập
- Tắt tính năng đăng ký
- Kết luận
1. Yêu cầu cài đặt
- BBB cài đặt và hoạt động ổn định trên Ubuntu16.04
- Cấu hình tối thiểu để cài đặt BBB là RAM4GB 4Core và 40GB disk
- Yêu cầu có kết nối Internet để cài đặt
- Yêu cầu đăng nhập tài khoản có quyền root để thao tác
- Đương nhiên Server cài đặt BBB cần yêu cầu Server trắng (Chưa cài đặt dịch vụ gì)
2. Chuẩn bị OS
Tạm thời disable firewalld
sudo apt-get install ufw -y sudo ufw disable
Đổi timezone về Asia/Ho_Chi_Minh
dpkg-reconfigure tzdata
Bổ sung env locale
echo "export LC_ALL=C" >> ~/.bashrc
Cài đặt CMDlog
curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/ghichep-cmdlog/master/cmdlog.sh | bash
Cài đặt Chronyd
apt install chrony -y service chrony restart hwclock --systohc
Update
sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get autoremove
3. Cài đặt BBB
Tài liệu cài đặt BBB đã được hướng dẫn chi tiết tại trang chủ https://docs.bigbluebutton.org/2.2/install.html. Bạn có thể cài đặt step by step hoặc cài đặt bằng script. Trong hướng dẫn dưới Cloud365 sẽ hướng dẫn các bạn cài đặt bằng cách đơn giản nhất đó là cài đặt bằng Scripts
Cài đặt yq
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6657DBE0CC86BB64 sudo apt update
Cài đặt và start session byobu
sudo apt install -y byobu byobu
Cài đặt BBB bằng scripts
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-220 -a
Quá trình cài đặt hoàn tất
4. Cài đặt Greenlight themes
4.1. Cài đặt Docker
Update
sudo apt-get update -y
Cho phép apt sử dụng https
sudo apt-get -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
Thêm Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Kiểm tra
sudo apt-key fingerprint 0EBFCD88
Kết quả
root@ubuntu:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK root@ubuntu:~# sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
Add repo
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Update
sudo apt-get update -y
Cài đặt Docker
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
Kiểm tra
docker -v
Kết quả
root@ubuntu:~# docker -v Docker version 19.03.8, build afacb8b7f0
Cài đặt docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Kiểm tra
docker-compose --version
Kết quả
root@ubuntu:~# docker-compose --version docker-compose version 1.25.4, build 8d51620a
4.2. Cài đặt Greenlight 2.0
Tạo thư mục để chứa các config
mkdir ~/greenlight && cd ~/greenlight
Pull images bigbluebutton/greenlight:v2
docker pull bigbluebutton/greenlight:v2 docker pull postgres:9.5
Greenlight sẽ đọc cấu hình .env trong folder ~/greenlight
. Để tạo ra file .env mặc định chúng ta thực hiện
docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env
Generating cấu hình secretkey cho Greenlight
docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
Kết quả
root@ubuntu:~/greenlight# docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret 7966bac6381007662a9281062d9d0510a01bbb54a3746cbdce2cd5c61fda58acc206163ac4a52c0455d4e1182abeea3c3dc66d4ce4b741c9d2695e60c413c04f
Cấu hình secret key vừa gen phía trên vào SECRET_KEY_BASE
của file .env
Cấu hình xác thực giữa BBB và Greenlight
sudo bbb-conf --secret
Kết quả
root@ubuntu:~/greenlight# sudo bbb-conf --secret URL: http://10.10.30.155/bigbluebutton/ Secret: 3e2ac3b7d5b85d3582afcac40b63c18d
Cấu hình file /root/greenlight/.env
2 tham số trên BIGBLUEBUTTON_ENDPOINT
, BIGBLUEBUTTON_SECRET
Kiểm tra config
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
Kết quả kết nối thành công
root@ubuntu:~/greenlight# docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check Checking environment: Passed Checking Connection: Passed Checking Secret: Passed
Greenlight sẽ hoạt động trên /b
để tránh xung đột các thành phần khác. Gen file cấu hình của NGINX
docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx
Kiểm tra
cat /etc/bigbluebutton/nginx/greenlight.nginx
Restart NGINX
sudo systemctl restart nginx
Cấu hình để nginx mặc định sử dụng Greenlight. Bổ sung cuối file config /etc/nginx/sites-available/bigbluebutton
ngay trước dấu }
cuối cùng
vi /etc/nginx/sites-available/bigbluebutton
Restart NGINX
sudo systemctl restart nginx
Khởi tạo file docker-compose
docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
Random gen password cho PostgreSQL
export pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env
Start GreenLight
docker-compose up -d
Lưu ý:
- Database lưu tại
~/greenlight/db
- Thư mục log
~/greenlight/log
Cấu hình để docker tự động start mỗi lần restart máy. Chỉnh config trong docker-compose.yml
ở mỗi services
restart: always
4.3. Update Greenlight
cd ~/greenlight docker pull bigbluebutton/greenlight:v2 docker-compose down docker-compose up -d
5. Đăng kí và truy cập
Chọn Sign up để đăng ký tài khoản mới
Lưu ý: BBB chỉ hỗ trợ Micro, Webcam, và chia sẻ màn hình khi có SSL/HTTPS.
6. Tắt tính năng đăng ký
Nếu bạn dùng hệ thống bigbluebutton để sử dụng trong nội bộ. Bạn nên tắt tính năng đăng ký tài khoản. Tạo một tài khoản admin để quản trị. Tự tạo tài khoản cho các người dùng trong công ty, doanh nghiệp và cấp cho họ. Việc này sẽ hạn chế những người không nằm trong công ty, doanh nghiệp của bạn tạo tài khoản ở đây.
Để tạo tài khoản admin, dùng lệnh:
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"]
- Nhập thông tin vào các trường
name
,email
,password
. Giữ nguyên trườngadmin
.
Để tạo user thường, dùng lệnh:
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","username"]
- Nhập thông tin vào các trường
name
,email
,password
,username
.
Disable đăng ký tài khoản mới trên giao diện bằng cách chỉnh sửa cấu hình file /root/greenlight/.env
sed -Ei "s|ALLOW_GREENLIGHT_ACCOUNTS=true|ALLOW_GREENLIGHT_ACCOUNTS=false|g" /root/greenlight/.env
cd /root/greenlight
docker-compose down
docker-compose up -d
7. Kết luận
Việc xây dựng các ứng dụng cung cấp dịch vụ họp trực tuyến mang lại nhiều lợi ích cho các doanh nghiệp và tổ chức, tính ứng dụng vô cùng cao của nó sẽ mang lại sự trải nghiệm tuyệt vời. Còn chần chừ gì nữa hãy liên hệ với Cloud365 để có thể bắt đầu sử dụng dịch vụ ngay hôm nay.
Chào Cloud365.
Mình đang cấu hình tới phần: ” Cấu hình file /root/greenlight/.env 2 tham số trên BIGBLUEBUTTON_ENDPOINT, BIGBLUEBUTTON_SECRET ”
Thì không biết xử lý tiếp, mong Cloud365 giúp đỡ
Cám ơn
Chào bạn. Có vẻ như bạn đang gặp vấn đề ở bước cấu hình file /root/greenlight/.env
Tại file này có 3 tham số bạn cần thay đổi là:
SECRET_KEY_BASE
BIGBLUEBUTTON_ENDPOINT
BIGBLUEBUTTON_SECRET
Bạn dùng lệnh: docker run –rm bigbluebutton/greenlight:v2 bundle exec rake secret
Kết quả của lệnh này bạn thay vào thao số SECRET_KEY_BASE
Và lệnh: sudo bbb-conf –secret
Kết quả của lệnh này bạn thay vào tham số BIGBLUEBUTTON_ENDPOINT và BIGBLUEBUTTON_SECRET
Sau đó bạn kiểm tra lại bằnglệnh:
docker run –rm –env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
Chúc bạn thành công!
Xin chào Cloud365!
Mình có tạo 1 phòng họp và 10 user tham gia họp. Cho mình hỏi có cách nào 10 user này khi login vào BBB qua Greenlight thì thấy Phòng họp này luôn mà không cần phải nhập link hoặc id không? Mình sử dụng họp nội bộ thôi.
Cảm ơn Cloud365!
Xin chào Cloud365!
Mình có tạo 1 phòng họp và 10 user tham gia họp. Cho mình hỏi có cách nào 10 user này khi login vào BBB qua Greenlight thì thấy Phòng họp này luôn mà không cần phải nhập link hoặc id không? Mình sử dụng họp nội bộ thôi.
Cảm ơn Cloud365!
Chào Tâm
Hiện Greenlight chỉ quản lý link các phòng họp của chính user đó tạo ra.
Việc hiển thị các link phòng đã tham gia, hoặc các phòng được invited thì Greenlight chưa hỗ trợ bạn nhé.
Việc này có thể xử lý bằng cách phát triển riêng giao diện thay thế cho Greenlight và call API của BBB để xử lý.
Thân mến
Cảm ơn cloud365!