BigBlueButton Yapılandırmaları & Özelleştirme Kılavuzu

Kapsamlı BigBlueButton İncelemesi

Henüz BigBlueButton kurulumu yapmadıysanız:

Konferans bekleme müziği

nano /opt/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="hold_music="/>

kısmına ilgili .wav dosyasının dizinini ekleyin:

Örnek olarak:

/opt/freeswitch/share/freeswitch/sounds/en/us/callie/ivr/48000/muhyal.wav

BigBlueButton’ı yeniden başlatın:

bbb-conf --restart

Varsayılan karşılama .pdf dosyası

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Kısmını değiştir:

# Default Uploaded presentation file
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/default.pdf

Aşağıdaki dosyayı /var/www/bigbluebutton-default/ dizinine atın ve üzerine yazın.

default.pdf (82.9 KB)

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Hoş geldin mesajı

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Düzenlenecek alanlar:

defaultWelcomeMessage=Baslik
defaultWelcomeMessageFooter=Karsilama mesajiniz

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Konferans kayıtlarının 14 günde bir temizlenmesi

nano /etc/cron.daily/bigbluebutton

Bul:

#remove_raw_of_published_recordings

Değiştir:

remove_raw_of_published_recordings

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Özel konferans kaydı temizleme döngüsü

nano /etc/cron.daily/bbb-recording-cleanup

Boş dosya içerisine şunu yapıştırın:

#!/bin/bash

MAXAGE=14

LOGFILE=/var/log/bigbluebutton/bbb-recording-cleanup.log

shopt -s nullglob

NOW=$(date +%s)

echo "$(date --rfc-3339=seconds) Deleting recordings older than ${MAXAGE} days" >>"${LOGFILE}"

for donefile in /var/bigbluebutton/recording/status/published/*-presentation.done ; do
        MTIME=$(stat -c %Y "${donefile}")
        # Check the age of the recording
        if [ $(( ( $NOW - $MTIME ) / 86400 )) -gt $MAXAGE ]; then
                MEETING_ID=$(basename "${donefile}")
                MEETING_ID=${MEETING_ID%-presentation.done}
                echo "${MEETING_ID}" >> "${LOGFILE}"

                bbb-record --delete "${MEETING_ID}" >>"${LOGFILE}"
        fi
done

for eventsfile in /var/bigbluebutton/recording/raw/*/events.xml ; do
        MTIME=$(stat -c %Y "${eventsfile}")
        # Check the age of the recording
        if [ $(( ( $NOW - $MTIME ) / 86400 )) -gt $MAXAGE ]; then
                MEETING_ID="${eventsfile%/events.xml}"
                MEETING_ID="${MEETING_ID##*/}"
                echo "${MEETING_ID}" >> "${LOGFILE}"

                bbb-record --delete "${MEETING_ID}" >>"${LOGFILE}"
        fi
done

Burada bulunan MAXAGE=14 kısmını dilediğiniz gibi değiştirebilirsiniz.

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Konferans kayıtlarını iOS cihazlarda oynatabilme

nano /usr/local/bigbluebutton/core/scripts/presentation.yml

Bul:

# - mp4

Değiştir:

- mp4

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Başlangıçta çalışacak yapılandırma dosyası

nano /etc/bigbluebutton/bbb-conf/apply-config.sh

İçerisine şunları ekleyin:

!/bin/bash

# Pull in the helper functions for configuring BigBlueButton
source /etc/bigbluebutton/bbb-conf/apply-lib.sh

enableUFWRules

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Opsiyonel eklemek isteyebileceğiniz yapılandırmalar

# Kamera paylaşımını kapat
echo "  - Prevent viewers from sharing webcams"
sed -i 's/lockSettingsDisableCam=.*/lockSettingsDisableCam=true/g' /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
# Kamera optimizasyonu
echo "  - Setting camera defaults"
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[0].bitrate 50
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[1].bitrate 100
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[2].bitrate 200
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[3].bitrate 300

yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[0].default true
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[1].default false
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[2].default false
yq w -i $HTML5_CONFIG public.kurento.cameraProfiles.[3].default false

Sunum dosyası yükleme boyutu

sudo nano /etc/bigbluebutton/nginx/web.nginx

İlgili kısımları bulun:

 location ~ "^\/bigbluebutton\/presentation\/(?<prestoken>[a-zA-Z0-9_-]+)/upload$" {
          # Allow 30M uploaded presentation document.
          client_max_body_size       30m;
       }
       location = /bigbluebutton/presentation/checkPresentation {
          # Allow 30M uploaded presentation document.
          client_max_body_size       30m;
       }

Şu değerleri değiştirin:

client_max_body_size       30m;
sudo nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
# Maximum file size for an uploaded presentation (default 30MB).
maxFileSizeUpload=30000000
sudo nano /var/www/bigbluebutton/client/conf/config.xml

maxFileSize değerini bulun ve değiştirin.

sudo nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

uploadSizeMax değerini bulun ve değiştirin.

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Konferans sırasında duyulan aktiflik sesi

nano /opt/freeswitch/conf/autoload_configs/conference.conf.xml

Bul:

<param name="comfort-noise" value="true"/>

Değiştir:

<param name="comfort-noise" value="false"/>

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

BigBlueButton dil dosyaları

Dizin:

/usr/share/meteor/bundle/programs/server/assets/app/locales

Her konferansın otomatik kaydedilmesi

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Bul:

# Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting
# is recorded.
autoStartRecording=false

# Allow the user to start/stop recording.
allowStartStopRecording=true

Değiştir:

# Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting
# is recorded.
autoStartRecording=true

# Allow the user to start/stop recording.
allowStartStopRecording=false

olarak değiştirin.

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Sunumlarda 200 sayfalık limit

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Bul ve 200 değerini değiştir:

# Maximum number of pages allowed for an uploaded presentation (default 200).
maxNumPages=200

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Gereksiz sesli uyarıları kaldırma

nano /opt/freeswitch/etc/freeswitch/autoload_configs/conference.conf.xml

Örneğin susturuldu/sesi açıldı bildirimi için bul:

      <param name="muted-sound" value="conference/conf-muted.wav"/>
      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>

Değiştir:

<!--
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
-->

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

##Web kamerası optimizasyonu

sudo apt-get install bmon
nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

Dosyada düzenlenmesi gereken değerler:

cameraProfiles:
    - id: low
      name: Low quality
      default: false
      bitrate: 100
    - id: medium
      name: Medium quality
      default: true
      bitrate: 200
    - id: high
      name: High quality
      default: false
      bitrate: 500
    - id: hd
      name: High definition
      default: false
      bitrate: 800

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Bit hızı ayarları kbits/sn’dir (yani 100 kbits/sn). Değerleri değiştirdikten sonra dosyayı kaydedin, ayarların etkili olması için BigBlueButton sunucunuzu yeniden başlatın. WebRTC için izin verilen en düşük ayar 30 Kbit/sn’dir. On veya daha fazla web kamerası gibi çok sayıda web kamerası paylaşmak isteyen oturumlarınız varsa, bit hızını 50’ye ve orta değer 100’e ayarlamak sunucudaki genel bant genişliğini azaltmaya yardımcı olacaktır. Bir çok web kamerası paylaşıldığında, web kameralarının boyutu küçüleceğinden canlı oturumlarda bit hızında azalma fark edilmez.

Kamera kullanımını devre dışı bırakın

nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

Şu değerleri bulun ve böyle görünmesini sağlayın:

TARGET=/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
yq w -i $TARGET public.kurento.enableVideo false
chown meteor:meteor $TARGET

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Ekran paylaşımını devre dışı bırakın

nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

İlgili değerleri bulun ve şu şekilde görümesini sağlayın:

TARGET=/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
yq w -i $TARGET public.kurento.enableScreensharing false
chown meteor:meteor $TARGET

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Konferans başlangıcında herkesin susturulması

nano /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Bul ve aşağıdaki gibi değiştir:

# Mute the meeting on start
muteOnStart=false

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

Tarayıcı sekmesi ikonunu (Favicon) değiştir

Dizinine gidin ve dosyayı bulun:

/var/www/bigbluebutton-default/favicon.ico

Kendi favicon.ico dosyanızı bu dosyanın üzerine yazdırın.

BigBlueButton’ı yeniden başlatın:

sudo bbb-conf --restart

BigBlueButton Ana Sayfasını Özelleştirme

Burada iki seçeneğiniz bulunmaktadır. Hangi seçeneği kullanacağınızı kurulumunuz belirlemektedir.

Birinci seçenek:

Eğer 8 Adım ve 8 Dakikada Otomatik BigBlueButton Kurulumu öğreticisi ile kurulum yaptıysanız şu işlemleri yapmalısınız:

İlk olarak bir GitHub hesabı açın ve şu adrese gidip Fork edin.

Şimdi artık sizin hesabınızda da Greenlight frok edilmiş durumda:

Örneğin;

Şimdi işlemlere başlayalım, öncelikle mevcut Greenlight yedeklemesini yapacağız:

cd ~/greenlight
docker-compose down
cd ..
mv greenlight/ greenlight-yedek/

Şimdi fork ettiğimiz kendi Greenligt imajımızı klonlayacağız:

:information_source: Kendi bağlantınızla değiştirmeyi unutmayın

git clone https://github.com/muhyal/greenlight
cd greenlight
git status

Çıktı:

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Devam edelim:

git remote add upstream https://github.com/bigbluebutton/greenlight.git
git remote -v
git fetch upstream
git checkout -b custom-changes upstream/v2

Çıktı:

git status

On branch custom-changes
Your branch is up to date with 'upstream/v2'.

nothing to commit, working tree clean
cp sample.env .env

Daha sonra şu komut sonrası oluşturulan Greenlight gizli anahtarını not edin:

docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret

Örnek çıktı:

bbbb88f3dce411e706327abc8df673912fd3ff1decfa4b24c9a349acaff807a6d35a5473aacc0f9a06852275295a105e3d7e8f6496e2378a7709529e1b6ca78e

Alttaki komut ile .env dosyasını düzenlemek için açın:

nano .env

Açılan ekrandan SECRET_KEY_BASE kısmına az önce oluşturduğunuz gizli anahtarı yapıştırın ve kaydedip çıkın.
Şöyle görünmeli:

Şu komutu çalıştırın ve komut sonrası oluşturulan BigBlueButton gizli anahtarını not edin:

sudo bbb-conf --secret

Örnek çıktı:

URL: https://bigbluebutton.sizinalanadiniz.com/bigbluebutton/
Secret: f1ea9564HdRtUcdjJEiZgCKhGpJnaPqspyTGE3WGN8

Alttaki komut ile .env dosyasını düzenlemek için açın:

nano .env

Açılan ekrandan BIGBLUEBUTTON_ENDPOINT ve BIGBLUEBUTTON_SECRET kısmına az önce oluşturduğunuz gizli anahtarı yapıştırın ve kaydedip çıkın.

Şöyle görünmeli:

Yapılandırmanızı kontrol edin:

docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check

Çıktı şu şekilde olmalı:

Checking environment: Passed
Checking Connection: Passed
Checking Secret: Passed

Şöyle görünmeli yani:

Greenlight ile Nginx’i yapılandırın

cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx

Nginx yeniden başlatın:

systemctl restart nginx

Devam edelim:

docker-compose -v

Çıktı:

docker-compose version 1.24.0, build 0aa59064

Şimdi bu kısım çok önemli:

:information_source: muhyalgreenlight kısmını kendinize göre düzenlemeyi unutmayın

./scripts/image_build.sh muhyalgreenlight release-v2

Tamamlandıktan sonra:

nano docker-compose.yml

Şu kısmı bulun:

    image: bigbluebutton/greenlight:v2

Şu şekilde değiştirin:

:information_source: muhyalgreenlight kısmını kendinize göre düzenlemeyi unutmayın

    image: muhyalgreenlight:release-v2

Şimdi:

cd ~/greenlight
docker-compose up -d

Şimdi yedeğini aldığımız .env ve veritabanımızı tekrar yükleyelim:

cp ~/greenlight-yedek/.env ~/greenlight/.env
sudo cp -r ~/greenlight-yedek/db ~/greenlight/

Greenligt için düzenlemek istediğiniz tüm dosyalar şu dizindedir:

cd ~/greenlight/app
ls

Artık hazırız, her düzenlemeniz sonrası alttaki komutu kendi Greenlight imaj adınızla değiştirerek çalıştırmalısınız:

docker-compose down

:information_source: muhyalgreenlight kısmını kendinize göre düzenlemeyi unutmayın

./scripts/image_build.sh muhyalgreenlight release-v2
docker-compose up -d

İkinci seçenek:

Eğer Ubuntu 16.04 Üzerinde Kapsamlı BigBlueButton Kurulumu öğreticisi ile kurulum yaptıysanız şu işlemleri yapmalısınız:

cd ~/greenlight
nano app/views/main/index.html.erb

Şu alanları dilediğiniz gibi düzenleyebilirsiniz:

<%
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
# This program is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 3.0 of the License, or (at your option) any later
# version.
#
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%>

<div class="background">
  <div class="container pt-9 pb-8">
    <div class="row">
      <div class="col-md-12 col-sm-12 text-center">
        <h1 id="main-text" class="display-4 mb-4"> <%= t("landing.welcome").html_safe %></h1>
        <p class="lead offset-lg-2 col-lg-8 col-sm-12 "><%= t("landing.about", href: link_to(t("greenlight"), "https://bigbluebutton.org/2018/07/09/greenlight-2-0/", target: "_blank", rel: "noopener")).html_safe %></p>
        <%= link_to "https://youtu.be/Hso8yLzkqj8", target: "_blank" do %>
          <h4><%= t("landing.video") %> <i class="far fa-play-circle ml-1"></i></h4>
        <% end %>
      </div>

    </div>
  </div>
</div>

<%= render "main/components/features" %>

Son olarak, Greenlight’ı aşağıdaki komutlarla tekrar yeniden başlatın:

cd ~/greenlight
docker-compose down
docker-compose up -d

Karşılama hoş geldiniz sayfasının orijinali için:

Greenlight başlık ve diğer meta verilerini değiştirin

cd ~/greenlight
nano app/views/layouts/application.html.erb

İlgili satırlar:

    <title>MUHYAL</title>
    <meta property="og:title" content="MUHYAL" />
    <meta property="og:type" content="MUHYAL" />
    <meta property="og:description" content="MUHYAL" />

Devamında:

sudo nano /var/www/bigbluebutton/client/lib/bbb_blinker.js

İlgili kısım:

document.title= "MUHYAL - " + title;

Devamında:

nano /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

İlgili kısım:

    clientTitle: MUHYAL
    appName: MUHYAL
    copyright: "MUHYAL"
    helpLink: https://www.muhyal.com/

Devamında şu iki dosyayı da başlık ve meta açıklamaları için kontrol edebilirsiniz:

nano config/locales/en.yml
nano config/locales/tr.yml
2 Beğeni

Harika elinize sağlık hocam heycanla bekliyorduk. Çok kişinin işini çözecek bir makale.

2 Beğeni

Hocam eline sağlık, faydalı bir inceleme olmuş.

Bu ikinci seçenekteki düzenleme alanlarını mevcut kurulumda nereden açabiliriz?
cd ~/greenlight sizinindeki nano app/views/main/index.html.erb kısmı benim dizin de yok.

Ayrıca ,bunu githup üzerinden forklamadan mevcut kurulum üzerinde değişiklikler yapmanın sakıncası olur mu?

Siz sağ olun hocam,

Maalesef tam olarak ilgili kısmı uygulamadan yapamazsınız. Zaten yapsanız bile sunucu yeniden başlatıldığında bile üzerine yazıyor. Bu işlem zor görünsede aslında çok basit ve bir defa yapıyorsunuz. Diğer türlü ciddi anlamda çok uğraşırsınız.

Ama denemek isterseniz şu şekilde bir daha deneyin:

cd ..
cd ~/greenlight
cd app/views/main/
nano index.html.erb
1 Beğeni

[email protected]:~/greenlight# cd /app/views/main/
bash: cd: /app/views/main/: No such file or directory
[email protected]:~/greenlight# ls
db docker-compose.yml log
[email protected]:~/greenlight#

erişemedim.

Bahsi geçen birinci özelleştirmeyi denemelisiniz :+1:

1 Beğeni

Merhaba arkaşlar;
Bu gün bir test yayını yaptım; 5-6 kişilik bir yayın oldu. iphone ve mac ile bağlanan kullanıcılar da bir takım sorunlar yaşadık. Bir tane iphone6 kullanıcısı ios 12.x e güncelle şeklinde bir hata almış. ama toplantıya katılabildi.
Bir tane iphone kullanıcımız ile ses iletişimi kuramadık, 7002 mi 7003 mü öyle bir hata kodu vermiş, wifi ye bağlı iken ancak mobil bağlantıya geçince düzeldi, dolayısıyla upload ile ilgili bir mevzu olabileceğini düşündüm.
Sizlerde de buna benzer şikayetler oldu mu?

Çok düşük ihtimalle yapılandırma hatası, yüksek ihtimal katılımcıların veri bağlantı hızları ve güncel olmamaları. Dilerseniz akşam test yapalım. Bizim sunucumuzda 18 kişi hiç sorun olmadan tablet, telefon, PC ile katılım sağlayabildiler en son konferansımıza. Log kayıtlarını takip edin mutlaka, katılımcılar cihazlarını vs. güncellesinler. Genelde hiç güncellemiyorlar cihazları yavaşlayacak diye :slight_smile:

1 Beğeni

Muhammed hocam “Bigbluebutton Ana Sayfasını Özelleştirme” kısmında açıklamış olduğun greenlight özelleştirme kısmını birebir yapıyorum, ama ngnix çalışıyor bu yüzden sayfa gelmiyor.
Sence neden olabilir, ingilizce dökümana baktım orada da aynı şeyler yazıyor ama bir türlü olmadı. Herşeyi harfiyen yapmama ragmen ngnix çalışmıyor. Neden olabilir?

Hocam mutlaka bir adımı atlıyorsunuzdur bir daha kontrol edin. Aynı yöntemle ben 3 kurulumu özelleştirdim. Bu arada düzenlemeyi GitHub değil yerelde yapmanız lazım. Sonrasında ilgili kısımdaki yeniden başlatmayı yaptığınız zaman değişiklikleri görüyor olacaksınız. Ben de bu konuda mantığı anlayana kadar biraz uğraşmıştım :slight_smile: En kötü ben müdahale ederim, siz bir daha deneyin.

Forklama işlemi aşağıdaki adıma kadar normal geldi.

[email protected]:~/greenlight# git checkout -b custom-changes upstream/v2
Branch custom-changes set up to track remote branch v2 from upstream.
Switched to a new branch ‘custom-changes’

Tamam devamını da uygulayım 2. seçeneğe kadar olan kısmı.

Daha düzenleme yapamadım :frowning: kurulum adımlarını takip ediyorum hatasız devam ediyor ama nedense ngnix başlamıyor yine sertifika ile ilgil olabilir mi? sertifikayı yeniden bir yere göstermeye gerek var mı?

Aşağıdaki adımda aşağıdaki hatayı aldım ne yapmalıyım?

[email protected]:~/greenlight# docker-compose up -d
Creating network “greenlight_default” with the default driver
Pulling app (bagcilargreenlight/greenlight:v2)…
ERROR: The image for the service you’re trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

Continue with the new image? [yN]y
Pulling app (bagcilargreenlight/greenlight:v2)…
ERROR: pull access denied for bagcilargreenlight/greenlight, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

Evet, tabi ki var bir defalık yine aynı yapılandırmayı yapmalısınız.

Tamamlandıktan sonra:
nano docker-compose.yml

Şu kısmı bulun:

    image: bigbluebutton/greenlight:v2

Şu şekilde değiştirin:

:information_source: muhyalgreenlight kısmını kendinize göre düzenlemeyi unutmayın

    image: muhyalgreenlight:release-v2

Şimdi:

cd ~/greenlight
docker-compose up -d

Muhtemelen bu kısımda hata yaptınız.

version: '3'

services:
  app:
    entrypoint: [bin/start]
    image: bagcilargreenlight/greenlight:v2


[email protected]:~/greenlight# ./scripts/image_build.sh bagcilargreenlight release-v2
#### Docker image bagcilargreenlight:release-v2 is being built

Kısmını:

 image: bagcilargreenlight:release-v2

olarak değiştirin.

Ve,

./scripts/image_build.sh bagcilargreenlight release-v2

Olarak komutu çalıştırıp devam edin.

Tam olarak burada hata yapmışsınız :slight_smile:

1 Beğeni