BigBlueButton Nedir?
BigBlueButton, açık kaynak kodlu bir web konferans sistemidir. Canlı dersler, video konferans, ekran paylaşımı, beyaz tahta, anket ve kayıt özellikleri sunar. Eğitim kurumları, işletmeler ve organizasyonlar için profesyonel bir çözümdür.
BigBlueButton'un temel özellikleri:
- Ücretsiz ve Açık Kaynak: Lisans maliyeti yok
- Ölçeklenebilir: 10'dan 10.000+ kullanıcıya kadar
- Güvenli: Verileriniz kendi sunucunuzda kalır
- Entegrasyon: Moodle, WordPress, Canvas gibi sistemlerle entegre
- Çok Dilli: 50+ dil desteği
- Mobil Uyumlu: iOS ve Android uygulamaları
BigBlueButton Kurulum Gereksinimleri
Donanım Gereksinimleri
Minimum Gereksinimler (10-25 kullanıcı):
- CPU: 4 çekirdek (2.4 GHz+)
- RAM: 8GB
- Disk: 50GB SSD
- Bant Genişliği: 100 Mbps
Önerilen Gereksinimler (50-100 kullanıcı):
- CPU: 8 çekirdek (3.0 GHz+)
- RAM: 16GB
- Disk: 100GB SSD
- Bant Genişliği: 500 Mbps
Yüksek Performans (200+ kullanıcı):
- CPU: 16+ çekirdek (3.5 GHz+)
- RAM: 32GB+
- Disk: 200GB+ SSD
- Bant Genişliği: 1 Gbps+
Yazılım Gereksinimleri
- İşletim Sistemi: Ubuntu 20.04 LTS veya 22.04 LTS (64-bit)
- Docker: 20.10+ (otomatik kurulur)
- SSL Sertifikası: Let's Encrypt (ücretsiz)
- Domain Adı: Statik IP ve DNS kaydı
BigBlueButton Kurulumu
Adım 1: Sunucu Hazırlığı
# Sistem güncellemesi sudo apt update && sudo apt upgrade -y # Swap alanı kontrolü (en az 4GB önerilir) sudo swapon --show # Eğer swap yoksa oluştur sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # Firewall yapılandırması sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 7443/tcp sudo ufw allow 16384:32768/udp sudo ufw enable Adım 2: BigBlueButton Kurulum Script'i
BigBlueButton, otomatik kurulum script'i ile kolayca kurulur:
# Kurulum script'ini indir ve çalıştır wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -a -g # Parametreler: # -w: Nginx web sunucusu kurulumu # -a: API demo kurulumu # -g: Greenlight (kullanıcı arayüzü) kurulumu # -s: IP adresi yerine domain kullan (önerilir) # -e: E-posta adresi (Let's Encrypt için) Domain ile kurulum (önerilen):
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -a -g -s bbb.yourdomain.com -e admin@yourdomain.com Adım 3: Kurulum Kontrolü
# BigBlueButton durumunu kontrol et sudo bbb-conf --check # Tüm servislerin çalıştığını kontrol et sudo systemctl status bbb-web sudo systemctl status bbb-apps-akka sudo systemctl status bbb-fsesl-akka sudo systemctl status bbb-transcription-akka sudo systemctl status bbb-html5 sudo systemctl status nginx Adım 4: BigBlueButton Versiyon Kontrolü
# BigBlueButton versiyonunu kontrol et sudo bbb-conf --version # Güncelleme kontrolü sudo apt update sudo apt list --upgradable | grep bigbluebutton BigBlueButton Yapılandırması
1. API Secret (Shared Secret) Yapılandırması
# Mevcut API Secret'ı görüntüle sudo bbb-conf --secret # API Secret'ı değiştir sudo bbb-conf --setsecret yeni_güvenli_secret_anahtari 2. BigBlueButton URL Yapılandırması
# Yapılandırma dosyasını düzenle sudo nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties # Önemli ayarlar: # bigbluebutton.web.serverURL=https://bbb.yourdomain.com # defaultWelcomeMessage=Hoş geldiniz! # defaultWelcomeMessageFooter=BigBlueButton'a hoş geldiniz 3. Kayıt (Recording) Yapılandırması
# Kayıt servisini kontrol et sudo systemctl status bbb-record-core # Kayıt dizinini kontrol et sudo ls -la /var/bigbluebutton/recordings/ # Kayıt formatı ayarları sudo nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties # Kayıt ayarları: # record=true # recordFullDurationMedia=true 4. Ses ve Video Yapılandırması
# FreeSWITCH yapılandırması sudo nano /opt/freeswitch/conf/autoload_configs/conference.conf.xml # Ses kalitesi ayarları: # <param name="rate" value="16000"/> # <param name="channels" value="1"/> # WebRTC yapılandırması sudo nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties # Video ayarları: # defaultMaxUsers=25 # maxUsers=100 Greenlight Kurulumu ve Yapılandırması
Greenlight Nedir?
Greenlight, BigBlueButton için kullanıcı dostu bir web arayüzüdür. Kullanıcıların toplantı oluşturmasına, katılmasına ve yönetmesine olanak sağlar.
Greenlight Kurulumu
Greenlight, BigBlueButton kurulum script'i ile otomatik kurulur (-g parametresi ile).
# Greenlight durumunu kontrol et sudo systemctl status greenlight # Greenlight dizini cd /var/www/greenlight Greenlight Yapılandırması
# Yapılandırma dosyasını düzenle sudo nano /var/www/greenlight/.env # Önemli ayarlar: # BIGBLUEBUTTON_ENDPOINT=https://bbb.yourdomain.com/bigbluebutton/ # BIGBLUEBUTTON_SECRET=your_secret_key # SECRET_KEY_BASE=generate_with_rails_secret # DEFAULT_LOCALE=tr # ALLOW_MAIL_NOTIFICATIONS=true # SMTP_SERVER=smtp.gmail.com # SMTP_PORT=587 # SMTP_DOMAIN=yourdomain.com # SMTP_USERNAME=your_email@gmail.com # SMTP_PASSWORD=your_app_password # SMTP_AUTH=plain # SMTP_STARTTLS_AUTO=true Greenlight Kullanıcı Yönetimi
# Greenlight dizinine git cd /var/www/greenlight # Yönetici kullanıcı oluştur sudo docker exec greenlight-v2 bundle exec rake user:create["Admin","admin@yourdomain.com","password","admin"] # Kullanıcı listesi sudo docker exec greenlight-v2 bundle exec rake user:list BigBlueButton API Kullanımı
API Endpoint'leri
BigBlueButton, RESTful API sağlar. Tüm API çağrıları şu formatta yapılır:
https://bbb.yourdomain.com/bigbluebutton/api/[ACTION]?[PARAMETERS]&checksum=[CHECKSUM] API Checksum Hesaplama
# Checksum = SHA1(ACTION + PARAMETERS + SECRET) # Örnek: create toplantı oluşturma # ACTION = create # PARAMETERS = name=Test+Meeting&meetingID=test123 # SECRET = your_secret_key # CHECKSUM = SHA1("createname=Test+Meeting&meetingID=test123your_secret_key") Önemli API Komutları
1. Toplantı Oluşturma (create)
https://bbb.yourdomain.com/bigbluebutton/api/create? name=Toplantı+Adı& meetingID=unique-meeting-id& attendeePW=katılımcı_şifresi& moderatorPW=moderatör_şifresi& checksum=CHECKSUM 2. Toplantıya Katılma (join)
https://bbb.yourdomain.com/bigbluebutton/api/join? fullName=Kullanıcı+Adı& meetingID=unique-meeting-id& password=moderatör_şifresi& checksum=CHECKSUM 3. Toplantı Bilgisi (getMeetingInfo)
https://bbb.yourdomain.com/bigbluebutton/api/getMeetingInfo? meetingID=unique-meeting-id& checksum=CHECKSUM 4. Toplantıları Listeleme (getMeetings)
https://bbb.yourdomain.com/bigbluebutton/api/getMeetings? checksum=CHECKSUM 5. Kayıtları Listeleme (getRecordings)
https://bbb.yourdomain.com/bigbluebutton/api/getRecordings? meetingID=unique-meeting-id& checksum=CHECKSUM BigBlueButton Performans Optimizasyonu
1. CPU ve RAM Optimizasyonu
# BigBlueButton servis limitlerini ayarla sudo nano /etc/systemd/system/bbb-html5.service # CPU ve RAM limitleri: # CPUQuota=200% # MemoryLimit=2G # Değişiklikleri uygula sudo systemctl daemon-reload sudo systemctl restart bbb-html5 2. Network Optimizasyonu
# TCP ayarları sudo nano /etc/sysctl.conf # Ekleyin: net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.udp_mem = 16777216 16777216 16777216 # Uygula sudo sysctl -p 3. Disk I/O Optimizasyonu
# Kayıt dosyaları için ayrı disk kullanın # /var/bigbluebutton/recordings için SSD kullanın # Disk yazma optimizasyonu sudo nano /etc/fstab # noatime ekleyin: # /dev/sda1 /var/bigbluebutton ext4 defaults,noatime 0 2 4. Nginx Optimizasyonu
# Nginx yapılandırması sudo nano /etc/nginx/nginx.conf # Worker process sayısı worker_processes auto; # Connection limit worker_connections 4096; # Buffer ayarları client_max_body_size 100M; client_body_buffer_size 128k; BigBlueButton Güvenlik Yapılandırması
1. SSL/TLS Sertifikası
# Let's Encrypt sertifikası (otomatik kurulur) # Manuel kurulum: sudo certbot --nginx -d bbb.yourdomain.com # Otomatik yenileme sudo certbot renew --dry-run 2. Firewall Yapılandırması
# Sadece gerekli portları aç sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 7443/tcp sudo ufw allow 16384:32768/udp sudo ufw enable 3. API Güvenliği
# API Secret'ı düzenli değiştirin sudo bbb-conf --setsecret yeni_güvenli_secret # API rate limiting sudo nano /etc/nginx/conf.d/bigbluebutton.conf # Rate limit ekleyin: limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s; 4. Kayıt Güvenliği
# Kayıt dosyalarına erişim kontrolü sudo chmod 750 /var/bigbluebutton/recordings sudo chown -R bbb-recording:bbb-recording /var/bigbluebutton/recordings # Kayıt URL'lerini gizleyin # /var/www/bigbluebutton-default/application/conf/config.xml BigBlueButton Yedekleme ve Geri Yükleme
1. Kayıt Yedekleme
#!/bin/bash # Kayıt yedekleme script'i DATE=$(date +%Y%m%d) BACKUP_DIR="/backup/bbb_recordings" SOURCE_DIR="/var/bigbluebutton/recordings" # Yedekleme dizini oluştur mkdir -p $BACKUP_DIR # Kayıtları yedekle tar -czf $BACKUP_DIR/recordings_$DATE.tar.gz $SOURCE_DIR # Eski yedekleri sil (30 günden eski) find $BACKUP_DIR -name "recordings_*.tar.gz" -mtime +30 -delete 2. Veritabanı Yedekleme
# Greenlight veritabanı yedekleme sudo docker exec greenlight-v2 pg_dump -U postgres greenlight_production > /backup/greenlight_$(date +%Y%m%d).sql 3. Tam Sistem Yedekleme
#!/bin/bash # Tam sistem yedekleme DATE=$(date +%Y%m%d) BACKUP_DIR="/backup/bbb_full" mkdir -p $BACKUP_DIR # Yapılandırma dosyaları tar -czf $BACKUP_DIR/config_$DATE.tar.gz \ /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties \ /opt/freeswitch/conf \ /etc/nginx/sites-available/bigbluebutton # Kayıtlar tar -czf $BACKUP_DIR/recordings_$DATE.tar.gz /var/bigbluebutton/recordings # Greenlight sudo docker exec greenlight-v2 pg_dump -U postgres greenlight_production > $BACKUP_DIR/greenlight_$DATE.sql BigBlueButton İzleme ve Log Yönetimi
1. Sistem İzleme
# BigBlueButton durum kontrolü sudo bbb-conf --check # Servis durumları sudo systemctl status bbb-web sudo systemctl status bbb-html5 sudo systemctl status bbb-fsesl-akka # CPU ve RAM kullanımı htop 2. Log Dosyaları
# BigBlueButton log dizini /var/log/bigbluebutton/ # Önemli log dosyaları: # - bbb-web.log: Web servisi logları # - bbb-html5.log: HTML5 client logları # - bbb-fsesl-akka.log: FreeSWITCH logları # - nginx/access.log: Web erişim logları # - nginx/error.log: Web hata logları # Log takibi sudo tail -f /var/log/bigbluebutton/bbb-web.log 3. Performans Metrikleri
# Aktif toplantı sayısı sudo bbb-conf --status | grep "Active" # Kayıt sayısı ls -1 /var/bigbluebutton/recordings/ | wc -l # Disk kullanımı df -h /var/bigbluebutton/recordings BigBlueButton Sorun Giderme
Sorun 1: Toplantıya Bağlanılamıyor
Kontrol Edilecekler:
- Firewall portları açık mı? (16384:32768/udp)
- SSL sertifikası geçerli mi?
- BigBlueButton servisleri çalışıyor mu?
- API Secret doğru mu?
# Servisleri kontrol et sudo bbb-conf --check # Portları kontrol et sudo netstat -tulpn | grep -E '7443|16384' Sorun 2: Ses/Görüntü Kalitesi Düşük
Çözümler:
- Bant genişliğini kontrol edin
- CPU kullanımını kontrol edin
- Video kalitesi ayarlarını düşürün
- Kullanıcı sayısını sınırlayın
Sorun 3: Kayıtlar Oluşmuyor
Kontrol Edilecekler:
- Kayıt servisi çalışıyor mu? (bbb-record-core)
- Disk alanı yeterli mi?
- Kayıt izinleri doğru mu?
# Kayıt servisini kontrol et sudo systemctl status bbb-record-core # Disk alanını kontrol et df -h /var/bigbluebutton/recordings # Kayıt izinlerini kontrol et ls -la /var/bigbluebutton/recordings BigBlueButton Entegrasyonları
1. Moodle Entegrasyonu
# Moodle'da BigBlueButton plugin'i kur # Site yönetimi → Eklentiler → Eklenti yükle # "BigBlueButton" arayın ve kurun # Yapılandırma: # - BigBlueButton URL: https://bbb.yourdomain.com/bigbluebutton/ # - Shared Secret: API Secret'ınız 2. WordPress Entegrasyonu
# BigBlueButton WordPress plugin'i kur # Plugins → Add New → "BigBlueButton" arayın # Yapılandırma: # - Server URL: https://bbb.yourdomain.com/bigbluebutton/ # - Shared Secret: API Secret'ınız 3. API Entegrasyonu
BigBlueButton API'sini kullanarak özel entegrasyonlar geliştirebilirsiniz:
# PHP örneği function createBBBMeeting($meetingID, $meetingName) { $bbbURL = "https://bbb.yourdomain.com/bigbluebutton/api/"; $secret = "your_secret_key"; $params = "name=" . urlencode($meetingName) . "&meetingID=" . $meetingID . "&attendeePW=attendee123" . "&moderatorPW=moderator123"; $checksum = sha1("create" . $params . $secret); $url = $bbbURL . "create?" . $params . "&checksum=" . $checksum; $response = file_get_contents($url); return simplexml_load_string($response); } muharremsen'in BigBlueButton Hizmetleri
muharremsen olarak, BigBlueButton kurulumu ve yönetimi için kapsamlı hizmetler sunuyoruz:
- BigBlueButton Kurulumu: Ubuntu sunucu kurulumu ve yapılandırması
- Greenlight Kurulumu: Kullanıcı arayüzü kurulumu ve yapılandırması
- SSL/TLS Yapılandırması: Let's Encrypt sertifika kurulumu
- Performans Optimizasyonu: CPU, RAM, network optimizasyonu
- Güvenlik Yapılandırması: Firewall, API güvenliği, kayıt güvenliği
- Entegrasyon: Moodle, WordPress, özel sistem entegrasyonları
- Yedekleme ve İzleme: Otomatik yedekleme ve izleme sistemleri
- 7/24 Destek: Teknik destek ve bakım hizmetleri
Profesyonel BigBlueButton kurulumu için bizimle iletişime geçin. Deneyimli ekibimiz, yüksek performanslı ve güvenli bir web konferans sistemi kurarak işletmenizin iletişim ihtiyaçlarını karşılar.
Sonuç
BigBlueButton, açık kaynak ve ücretsiz bir web konferans çözümüdür. Doğru kurulum ve yapılandırma ile kurumsal düzeyde video konferans, canlı ders ve toplantı hizmetleri sunabilirsiniz.
Performans optimizasyonu, güvenlik yapılandırması ve düzenli bakım ile BigBlueButton'unuz yüksek kaliteli hizmet sağlar. Entegrasyonlar ve özelleştirmeler ile işletmenizin ihtiyaçlarına uygun bir çözüm oluşturabilirsiniz.
BigBlueButton kurulumu ve yönetimi konusunda muharremsen'in deneyimli ekibi yanınızda. Profesyonel web konferans sisteminiz için bizimle iletişime geçin!