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:
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:
![]()
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:
![]()
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
![]()
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:
https://github.com/bigbluebutton/greenlight/blob/master/app/views/main/index.html.erb
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.kodkoda.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
Greenlight’ı En Son Sürüme Güncelleme (Özel Greenlight üzerinde)
Greenlight’ın yeni bir sürümü yayınlandıysa, uzak deponun en güncel sürümünü almanız gerekir.
cd ~/greenlight
docker-compose down
git fetch upstream
git merge upstream/v2
muhyalgreenlight kısmını kendinize göre düzenlemeyi unutmayın
./scripts/image_build.sh muhyalgreenlight release-v2
docker-compose up -d