آموزش نصب بیگ بلو باتن (BigBlueButton)

آموزش نصب بیگ بلو باتن

این مطلب به شما طریقه­ ی نصب بیگ بلو باتن  (BigBlueButton) ورژن 2.2 را آموزش خواهیم داد با ما همراه باشید. بیگ بلوباتن یک نرم افزار سطح متوسط برای وب نیست، بلکه یک صفحه­ ی وب کاملا responsive است که از مرورگر برای ارسال و دریافت صدا و ویدیو استفاده می­کند. سرور بیگ بلو باتن تعداد زیادی از فرایندهای backend را برای مدیریت رسانه، دریافت API calling ، پردازش سایت­های آپلود شده و تبدیل رسانه­های ثبت شده را به کار می گیرد. 

بیگ بلو باتن برای عملکرد از full HTML5 client استفاده می­کند، به این معنی است که همان کاربر می­تواند از طریق صفحه نمایش، لپ تاپ، موبایل به کلاس خود دسترسی داشته باشد. ما توصیه می­کنیم از مرورگر کروم و فایر فاکس استفاده کنید، زیرا که دارای بهترین پشتیبانی برای WebRTC می­باشد.

امکانات طلایی نرم افزار بیگ بلو باتن برای کاربران

  • دو برابر سریعتر از نسخه­ ی قبلی
  • اشتراک صدا، ویدیو اشتراک گذاری تصویر با کیفیت ( با استفاده از WebRTC)
  • شتراک گذاری یادداشت و امکان اصلاح توسط چند کاربر
  • دسترسی کامل به  اشتراک صفحه نمایش
  • اشتراک گذاری ویدئو از منبع­های مختلف مثلا YouTube، Twitch در طول کلاس

آسان ترین روش نصب BigBlueButton

وقتی شما می­خواهید بیگ بلو باتن را  نصب کنید دو انتخاب دارید: bbb-install.sh و نصب گام به گام

مراحل نصب بیگ بلوباتن

  • تهیه سرور اختصاصی
  • سرور دارای حداقل امکانات مورد نیاز بیگ بلوباتن باشد
  • Hostname اختصاص دهید (دامنه)ssl  تنظیم نمایید.

bbb-install.sh

اگر شما می­خواهید بیگ بلو باتن را به سرعت راه اندازی کنید، bbb-install.sh به شما کمک خواهد کرد تا در 15 دقیقه این کار را انجام دهید.

روش قدم به قدم

 اگر شما تصمیم دارید با قسمت های بیشتری از بیگ بلو باتن آشنا شوید، می­توانید دستور العمل قدم به قدم را دنبال کنید.

قبل از نصب

برای راه اندازی موفق بیگ بلو باتن، ما به شما پیشنهاد می­کنیم با یک سرور اختصاصی Ubuntu 16.04 64-bit برای بیگ بلو باتن شروع کنید.

  سروری نیاز است که قبلا روی آن هیچ گونه نرم افزاری نصب نشده باشد مانند:  plesk ، webadmin، apache و .. که دارای port 80/443 باشند.

منظور از "اختصاصی" این است که این سرور علاوه بر BigBlueButton برای هیچ چیز دیگری مورد استفاده قرار نگرفته باشد و نگیرد.

  حداقل سرور مورد نیاز

Pre-installation checks

آیا یک سرور Ubuntu 16.04 آماده برای نصب دارید؟ اگر جواب شما بله است، قبل از شروع نصب، باید تعدادی از تنظیمات را چک کنید که مطمئن شوید سرور شما دارای حداقل امکانات است. بررسی کردن این تنظیمات زمان بر است اما در نهایت باعث می­شود مشکلی در مراحل نصب پیش نیاید.

ابتدا مطمئن شوید که سرور locale ، en_US.UTF-8. باشد.

$ cat /etc/default/locale

LANG="en_US.UTF-8"

اگر شما LANG="en_US.UTF-8" را نمی­بینید، دستور زیرا را برای تنظیم en_US.UTF-8 وارد کنید.

$ sudo apt-get install language-pack-en

$ sudo update-locale LANG=en_US.UTF-8

سپس از SSH session دوباره خارج و وارد شوید، این locale configuration دوباره برای session لود می­کند. دستور عمل بالا cat /etc/default/locale را دوباره به کار بگیرید. مطمئن شوید که فقط این خطLANG="en_US.UTF-8"  را ببینید.

نکته: اگر شما یک خط اضافی LC_ALL=en_US.UTF-8 را می­بینید، سپس ورود را برای LC_ALL از  /etc/default/locale حذف کنید، سپس خارج شوید و یکبار دیگر وارد شوید.

در مرحله بعد  sudo systemctl show-environment را انجام دهید و مطمئن شوید که LANG=en_US.UTF-8 را در خروجی می­بینید.

$ sudo systemctl show-environment

LANG=en_US.UTF-8

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

اگر شما این را نمی­بینید، این sudo systemctl set-environment LANG=en_US.UTF-8 انجام دهید و بالایی را  sudo systemctl show-environment دوباره به کار بگیرید و مطمئن شوید که این LANG=en_US.UTF-8 را در خروجی می­بینید. سپس چک کنید که سرور شما حداقل 4 گیگ حافظه را در استفاده از دستور  free -hداشته باشد. این یک خروجی از یکی از تست­­های سرور است.

$ free -h

              total        used        free      shared  buff/cache   available

Mem:            31G        5.9G        314M        1.8G         25G         21G

Swap:           31G        360M         31G

این مثال 31 گیگ از حافظه را نشان می­دهد( این یک سرور با 32 گیگ حافظه است)

اگر شما یک value  کمتر از 4 گیگ برای Mem: در ستون total می­بینید، یعنی سرور شما حافظه کافی برای پردازش بیگ بلو باتن ندارد. شما نیاز به افزایش حافظه خود حداقل 4 گیگ دارید. سپس چک کنید که سرور Ubuntu is 16.04. باشد.

$  cat /etc/lsb-release

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=16.04

DISTRIB_CODENAME=xenial

DISTRIB_DESCRIPTION="Ubuntu 16.04.x LTS"

 سپس  چک کنید که سرور شما که 64-bit version of Ubuntu 16.04. را به کار می­گیرید.

$ uname -m

x86_64

سپس چک کنید که سرور شما IPV6 را ساپورت می­کند.

$ ip addr | grep inet6

inet6 ::1/128 scope host

...

اگر شما خط inet6 ::1/128 scope host را نمی­بینید، پس از اینکه شما بیگ بلو باتن را نصب کردید، شما به تغییر تنظیمات FreeSWITCH برای disable support for IPV6 نیاز پیدا خواهید کرد.

سپس چک کنید که سرور شما  Linux kernel 4.x پردازش می­کند.

$ uname -r

4.15.0-38-generic

سپس چک کنید که سرور شما حداقل دارای  4 CPU است.

نکته: بیگ بلو باتن روی  2.6 Kernel  راه اندازی نمی­شود. مانند:( Linux 2.6.32-042stab133.2 on x86_64 on OpenVZ VPS )

گاهی اوقات از ما پرسیده می­شود که چرا فقط Ubuntu 16.04 64-bit را ساپورت می­کنیم؟ جواب ما، اهمیت داشتن کیفیت در مقایسه با کمیت است. مدت­ها پیش نتیجه گرفتیم که بهتر است این پروژه شامل نصب قوی، آزمایش شده و مستندی برای یک نسخه خاصی از Linux باشد که کارآمد ظاهر شود، که این خیلی بهتر از آن است که نسخه­های مختلفی ازLinux را پشتیبانی کند .

یک دامنه و گواهی ssl داشته باشید.

ما پیشنهاد می­دهیم برای بیگ بلو باتن خود یک سرور با دامنه اختصاص دهید، مانند  bigbluebutton.roomeet.irو برروی سرور خود  sslتنظیم کنید. انجام دادن این کار، nginx  را فعال می­کند، وب سروری که با بیگ بلو باتن نصب شده باشد محتوای سرور را با httpsانتقال می­دهد. بدون HTTPS ، مرورگر شما دسترسی به وب کم یا میکروفون را اجازه نخواهد داد. همچنین بدون HTTPS فعال شده، بعضی از مرورگرها در رابطه با محتوای ناامن اخطار خواهند داد. به طور خلاصه، برای هر سرور، تنظیمات دامنه وssl لازم است. برای خرید دامنه، سایت های زیادی وجود دارد.

برای به دست آوردن SSL certificate هم گزینه­های زیادی وجود دارد، پیشنهاد می­دهیم obtain an SSL certificate را ببینید.

نصب

آماده­ی نصب هستید؟ لازم است قبل از نصب این موارد را چک کنید.

1.شما باید سرور Ubuntu 16.04 64-bit داشته باشید که دارای حداقل امکانات سرور مورد نیاز باشد.

2.اگر سرور دارای firewall می­باشد، باید firewall خود را تنظیم کنید.

3.شما باید یک دامنه داشته باشید، مانند: bigbluebutton.roomeet.ir.

4.شما باید یک گواهیSSL  معتبر برای دامنه داشته باشید.

اگر بیگ بلو باتن را برای آزمایش روی local VM می­خواهید، و توسعه دهنده هستید می­توانید از مراحل 2و3و4 عبور کنید.

حالا شما آمادگی لازم برای نصب بیگ بلو باتن را دارید.

1.سرور خود را آپدیت کنید.

ابتدا مطمئن شوید که سرور شما با آخرین تنظیمات امنیتی آپدیت است. با SSH به سرورخود وارد شوید. شما نیاز به یک حساب دارید که بتواند دستورات را در root اجرا کند. وارد  (via sudo)شوید. سپس با استفاده از دستور نوشته شده در کادر زیر مطمئن شوید که شما xenail multiverse را در /etc/apt/sources.list  دارید.

$ grep "multiverse" /etc/apt/sources.list

بعد از وارد کردن دستور بالا، شما باید چیزی مانند زیر ببینید.

deb http://archive.ubuntu.com/ubuntu xenial multiverse

یا این:

deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse

نگران نباشید اگر دامنه در URL متفاوت از کادر بالا باشد، مهم این است که شما یک لینک که شامل multiverse باشد. اگر به این صورت نیست، دستور زیر را برای فایل /etc/apt/sources.list خود به کار بگیرید.

$ echo "deb http://archive.ubuntu.com/ubuntu/ xenial multiverse" | sudo tee -a /etc/apt/sources.list

سه برنامه برای بیگ بلو باتن نیاز است: ffmpeg ، yq ، libreoffice.

نسخه اولیه از ffmpeg در Ubuntu 16.04 قدیمی است و yq به صورت  پیش فرض وجود ندارد. بنابرین، قبل از نصب بیگ بلو باتن، شما باید پکیج زیر را به سرور اضافه کنید تا مطمئن شوید تا نسخه مناسب نصب شده باشد. برای اطمینان از نصب نسخه های مناسب ، بایستی بایگانی های بسته شخصی زیر PPA) ) را به سرور خود اضافه کنید.

$ sudo add-apt-repository ppa:bigbluebutton/support -y

$ sudo add-apt-repository ppa:rmescandon/yq -y

$ sudo add-apt-repository ppa:libreoffice/ppa

سپس سرور خود را به آخرین پکیج ارتقاء دهید.

$ sudo apt-get update

$ sudo apt-get dist-upgrade

اگر شما تاکنون آپدیت نکرده­اید،apt-get ممکن است به شما پیشنهاد دهد که سرور خود را بعد از dist-upgrade ریبوت کند. ریبوت را قبل از انجام مرحله بعدی انجام دهید.

HTML5 client از MongoDB برای دیتابیس خود استفاده می­کند. یک دیتا بیس کارامد از synchronize state  استفاده می­کند. برای نصب MongoDB ، دستور زیر را دنبال کنید:

$ wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add -

$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

$ sudo apt-get update

$ sudo apt-get install -y mongodb-org curl

BigBlueButton HTML5 client نیازمند به یک  nodejs server است. برای نصب nodejs ، دستور زیر را انجام دهید:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

2. نصب apt-get key برای بیگ بلوباتن

قبل از نصب بیگ بلو باتن، شما باید این کلید را به دامنه سرور خود اضافه کنید. برای انجام این کار، دستور زیر را وارد کنید:

$ wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -

اگر شما در حال آپدیت سرور از BigBlueButton 2.0 هستید، شما ابتدا باید پکیج bbb-client را حذف کنید.

$ sudo bbb-conf --stop

$ sudo apt-get purge -y bbb-client

سرور شما احتیاج دارد که بداند کجا پکیج BigBlueButton 2.2 را دانلود کند. برای تنظیم پکیج ذخیره، دستور زیر را وارد کنید:

$ echo "deb https://ubuntu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list

  سپس، apt-get را به کار بگیرید. 

$ sudo apt-get update

3.پشتیبان گیری از تنظیمات شخصی سازی شده

اگر این یک نصب جدید است، شما می­توانید از این مراحل گذر کنید.

اگر شما از نسخهBigBlueButon2.0 به یک نسخه جدید تر ارتقاء می­دهید و تغییراتی ازین قبیل ایجاد کرده اید:

  • SSL certificate مخصوص به خودتان در /etc/nginx/sites-available/bigbluebutton راه اندازی کنید
  • FreeSWITCH  را برای دریافت تماس­های ورودی تنظیم کنید
  • با استفاده از دستور/var/www/bigbluebutton-default/default.pdf فایل خود را تغییر دهید

با هر گونه تغییری خارج از bbb-conf، سپس شما باید از این تغییرات قبل از ارتقاء بک آپ تهیه کنید. بعد از ارتقاء بیگ بلو باتن شما می­توانید تنظیمات اولیه را دوباره به کار بگیرید.

4. نصب  BigBlueButton

نکته: اگر شما قصد ارتقا BigBlueButton 2.0  دارید ،sudo apt-get purge bbb-client را برای حذف نصب bbb-client انجام دهید.

حالا شما آماده­ی نصب BigBlueButton هستید. دستور زیر را وارد کنید.

$ sudo apt-get install bigbluebutton

$ sudo apt-get install bbb-html5

برای هر دستور،Y  را تایپ کنید و ENTER را کلیک کنید.

نکته 1: شما می­توانید هر گونه خطایی را “Failure to download extra data files” برای ttf-mscorefonts-installer نادیده بگیرید. این یک مسئله آشنا برایUbuntu 16.04  است.

نکته2: اگر نصب قبل از پایان با یک خطا مواجه می­شود، دوباره مراحل را قبل از نصب چک کنید. اگر شما در پیکربندی خطایی پیدا و حل کردید، شما می­توانید با استفاده از این دستور sudo apt-get install -f نصب را پایان دهید.

نکته3: اگر هنوز بعد از sudo apt-get install -f خطا دریافت می­کنید، کار را متوقف کنید زیراکه نصب هنوز کامل نشده است.

بعد اتمام نصب، مطمئن شوید که تمام پکیج ها به روز هستند، و dist-upgrade انجام دهید.

$ sudo apt-get dist-upgrade

 

بعد از اتمام نصب، بیگ بلو باتن را دوباره راه اندازی کنید.

$ sudo bbb-conf --restart

نگران نباشید اگر # Not running: tomcat7 or grails یا Error: Could not connect to the configured hostname/IP address  را دیدید.

بعد ازینکه دوباره راه اندازی شد، تنظیمات را با استفاده از bbb-conf –check  بررسی کنید. وقتی این دستور را اجرا می­کنید، شما باید خروجی مشابه به این را ببینید:

sudo bbb-conf --check
BigBlueButton Server 2.2.0 (1571)
                    Kernel version: 4.4.0-142-generic
                      Distribution: Ubuntu 16.04.6 LTS (64-bit)
                            Memory: 16432 MB
 
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
       bigbluebutton.web.serverURL: http://178.128.233.105
                defaultGuestPolicy: ALWAYS_ACCEPT

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name: 178.128.233.105
                              port: 80, [::]:80
                    bbb-client dir: /var/www/bigbluebutton
 
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
                Port test (tunnel): rtmp://178.128.233.105
                              red5: 178.128.233.105
              useWebrtcIfAvailable: true

/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                       local_ip_v4: 178.128.233.105
                   external_rtp_ip: stun:stun.freeswitch.org
                   external_sip_ip: stun:stun.freeswitch.org
 
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                        ext-rtp-ip: $${local_ip_v4}
                        ext-sip-ip: $${local_ip_v4}
                        ws-binding: :5066
                       wss-binding: :7443

/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback_host: 178.128.233.105
                 playback_protocol: http
                            ffmpeg: 4.1.1-0york1~16.04
 
/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
                        proxy_pass: http://178.128.233.105:5066
** Potential problems described below **

هر خروجی ممکن است خطا نصب یا خطا تنظیمات را نشان دهد. در هر صورت این پیغام نحوه رفع مشکل را به شما نشان خواهد داد.

شما همچنین می­توانید از sudo bbb-conf –status   برای بررسی مراحل نصب استفاده کنید.

$ sudo bbb-conf --status

red5 ——————————————————► [ - active]

nginx —————————————————► [ - active]

freeswitch ————————————► [ - active]

redis-server ——————————► [ - active]

bbb-apps-akka —————————► [ - active]

bbb-transcode-akka ————► [ - active]

bbb-fsesl-akka ————————► [ - active]

tomcat7 ———————————————► [ - active]

mongod ————————————————► [ - active]

bbb-html5 —————————————► [ - active]

bbb-webrtc-sfu ————————► [ - active]

kurento-media-server ——► [ - active]

etherpad ——————————————► [ - active]

bbb-web ———————————————► [ - active]

bbb-lti ———————————————► [ - active]

در این مرحله، سرور به IPV4 address پاسخگو است. برای مثال، اگر ای پی سرور شما 178.128.233.105 است،شمامی­توانید ادرس http://178.128.233.105/ را باز کنید و این تصویر را مشاهده کنید.

به هر حال، شما می­توانید از این صفحه وارد شوید مگر اینکه دمو API  را نصب کرده باشید.

اگر در نظر دارید که از این سروردر یک صفحه نمایش استفاده کنید، شما به یکAPI demos نیاز ندارید. شما می­توانید بیگ بلو باتن را با سرور ادغام کنید. شما همچنین می­توانید با استفاده از دستور bbb-conf اطلاعات را به نمایش بگذارید.

$ sudo bbb-conf --secret

 

       URL: http://178.128.233.105/bigbluebutton/

    Secret: 330a8b08c3b4c61533e1d0c5ce1ac88f

 

      Link to the API-Mate:

      http://mconf.github.io/api-mate/#server=http://178.128.233.105/bigbluebutton/&sharedSecret=330a8b08c3b4c61533e1d0c5ce1ac88f

 

 بعد از این که وارد فضای دمو شدین همانطور که در تصویر می بینید بعد از وزود با یک مرورگر مانند فایرفاکس قادر خواهید بود در باکس متنی محتوا را بنویسید یا به اشتراک بگذارید.

وقتی کارتان باAPI  تمام شد، شما می­توانید آنها را با دستور زیر حذف کنید.

 

$ sudo apt-get remove bbb-demo

5. نصب API demos (اختیاری)

 از API demos می توانید برای آزمایش یبگ بلو باتن استفاده کنید.

برای نصب API دستور زیر را وارد کنید.

$ sudo apt-get install bbb-demo

حالا شما قادر خواهید بود که اسم خود را درکادر وارد کنید و Join را بزنید.

بعد از این که وارد فضای دمو شدین همانطور که در تصویر می بینید بعد از وزود با یک مرورگر مانند فایرفاکس قادر خواهید بود در باکس متنی محتوا را بنویسید یا به اشتراک بگذارید.

وقتی کارتان باAPIتمام شد، شما می­توانید آنها را با دستور زیر حذف کنید.

$ sudo apt-get remove bbb-demo

6. راه اندازی مجدد سرور

شما می­توانید بیگ بلو باتن خود را با استفاده از دستورات زیر ریستارت کنید.

$ sudo bbb-conf --restart

$ sudo bbb-conf --check

bbb-conf –check دستوری است که خطاها و logها را اسکن می­کند. هر خروجی که Potential problemsرا دنبال کند، ممکن است خطا نصب یا خطا پیکربندی را نشان دهد.در بسیاری از موارد این پیغام نحوه حل مشکل را نشان می­دهد.

توجه کنیدsudo bbb-conf --check  به شما اخطار می­دهد که API نصب شده است.

7.مراحل پایانی

در انتها برای استفاده مراحل زیر را انجام دهید:

  • یک دامنه انتخاب کنید
  • Ssl  را برای اینکه پیشوند https شود نصب کنید.
  • یک firewall برای سرور تنظیم کنید
  • مرحله قبل را انجام دهید یعنی api را حذف کنید.
  • یک  TURN server تنظیم کنید.

ما دو سرور در دسترس را برای تست امتحان کرده ایم:

https://demo.roomeet.ir

https://test.roomeet.ir

یک دامنه اختصاص دهید

در آخر برای  بیگ بلوباتن، شما نیاز به یک دامنه دارید.

اگر این کار را تاکنون انجام نداده اید، می توانید آن را از سایت های ارائه دهنده دامنه تهیه فرمایید. یک  A record برای سرور خود تنظیم کنید.

بعد از A record ، دستور زیر و EXTERNAL_HOST_NAME را با نام دامنه در سرور بیگ بلوباتن وارد کنید:

$ ping EXTERNAL_HOST_NAME

این یک مثال از خروجی است که از demo.Roomeet.irاستفاده می­کند:

$ ping demo.bigbluebutton.org

PING demo.bigbluebutton.org (146.20.105.32) 56(84) bytes of data.

64 bytes from 146.20.105.32: icmp_seq=1 ttl=44 time=27.5 ms

نکته: اگر سرور شما بهICMP  اجازه نمی­دهد، در نتیجه هیچ  bytes برگشت داده نمی­شود، اما شما باید server’s IP address خود را در ()بعد از نام دامنه ببینید.

اگر دامنه شما در حال رفع خطاهای IP address است، از تنظیمات بیگ بلو باتن bbb-conf برای به روز رسانی تنظیمات فایل­ ها استفاده کنید:

$ sudo bbb-conf --setip HOSTNAME

برای مثال، اگر live1000099.roomeet.ir باشد، فرمان زیر را باید وارد کنید:

$ sudo bbb-conf --setip live1000099.roomeet.ir

در این مرحله، بیگ بلو باتن به API requests پاسخ می دهد. به هر حال، اگر شما تلاش کردید تا از سرور  default به صفحه مرورگر وارد شوید، شما با خطا مواجه خواهید شد.

HTTP Status 404 - /demo/demo1.jsp 




نظرات